找回密码
 立即注册

QQ登录

只需一步,快速开始

微信扫码登录

搜索
查看: 2819|回复: 8

[原创] 关于后处理刀具列表获取Z值

[复制链接]

20

主题

815

回帖

1万

积分

中校

积分
11846
发表于 2023-9-25 11:26:16 | 显示全部楼层 |阅读模式
教大家关于后处理获取最大最小Z深度。顺便把更新的后处理上传。
Buffer 缓冲。使用缓冲,需要读取和写入。直接示例:


min_z$   : 99999      后处理自身定义 最小min_z$
max_z$  : -99999     后处理自身定义 最大max_z$
rc1       :  2   
wc1     :  1   

size1   :  0   


b1_t          : 0     缓冲记录刀号
b1_h         :  0    缓冲记录H
b1_d         : 0     缓冲记录直径
b1_maxz   : 0     缓冲记录最大Z
b1_minz   : 0     缓冲记录最小Z
rbuf 1 0 5 0 0

定义一个刀具比较缓冲2
fmt "T"  4  b2_t
rc2         : 1
wc2        : 1
size62    : 0
fbuf 2 0 1 0 0


t_xu           : 0     缓冲传递,刀号
h_xu          : 0     缓冲传递,H
d_xu          : 0     缓冲传递,直径
maxz_xu    : 0     缓冲传递,Z最大
minz_xu    : 0     缓冲传递,Z最小


定义刀具列表要输出的注释(以上5个)
fmt  "T"            4  my_t
fmt  "H"           4  my_h
fmt  "D"           2  my_d
fmt  "MAX_Z"  2  my_maxz
fmt  "MIN_Z"   2  my_minz


写入缓冲区1
pwritbuf1   命名缓冲区1 写入参数
            b1_t = t_xu
            b1_h = h_xu
            b1_d = d_xu
            b1_minz = min_z$
            b1_maxz = max_z$
            b1_t = wbuf(1 ,wc1)   执行列表写入
            
            获取写入
            t_xu = t$
            h_xu = tldia$
            d_xu = tlngno$


读取缓冲区1
preadbuf1   命名缓冲区1 读入参数
                size1 = rbuf(1,0)
                rc1 = 1
                my_maxz = -99999
                my_minz = 99999
                while rc1 <= size1,
                   [
                  b1_t = rbuf(1,rc1)
                  if b2_t = b1_t,
                    [
                    if b1_minz < my_minz, my_minz = b1_minz
                    if b1_maxz < my_maxz, my_maxz = b1_maxz
                    my_t = b2_t
                    my_h = b1_h
                    my_d = b1_d                   ]
                  ]
             下面可以输出注释了
              "(", *my_t, *my_h, *my_d, *my_maxz, *my_minz, ")", e$


pwrrt$ 此处为NCI预先读取区
            pwritbuf1   写入缓冲放到后面
           # ................., ptooltable 此处原刀具列表屏蔽掉


psof
可不加,  pwritbuf1   如果注释读取不对,此处再加一个写入缓冲
              preadbuf1 直接放在 psof 文件开始位置下面


差不多就这些步骤,可根据需要添加注释,论坛也有相关MP后处理说明,可以看下 buffer缓冲说明,添加或减少注释,需要注意下 rbuf 一行的数字要对上
侧铣头后处理 增加了 "崴立侧铣头C0-360自动侧头,侧卧头转换",未传,需要可联系。
Mastercam2022后处理ABCnc.zip (464.2 KB, 下载次数: 149)
MastercamX9后处理ABCnc.rar (327.19 KB, 下载次数: 48)

评分

参与人数 1G币 +5 收起 理由
hamayoudu + 5 分享加分!

查看全部评分

1

主题

29

回帖

1094

积分

六级士官

积分
1094
发表于 2023-9-25 11:33:43 | 显示全部楼层
大神666  看不懂

15

主题

2363

回帖

1万

积分

上校

积分
14811
发表于 2023-9-25 12:54:27 | 显示全部楼层
緩衝區對我太難  一直不理解其原理  不能實際去運用...看了老哥這篇 還是不太懂
rbuf10500 fbuf20100  ....這些是什麼作用 數字代表什麼 ?
size1 = rbuf(1,0)   b1_t = rbuf(1,rc1)  ....這個也是不懂原理  

20

主题

815

回帖

1万

积分

中校

积分
11846
 楼主| 发表于 2023-9-25 14:23:20 | 显示全部楼层
流浪在水一方 发表于 2023-9-25 12:54
緩衝區對我太難  一直不理解其原理  不能實際去運用...看了老哥這篇 還是不太懂
rbuf10500 fbuf20100  ... ...

fbuf n a b c d

5个数

n : 缓冲区编号1-10

a : 使用此标志当后处理完成后将缓冲区保存到文本文件。设置为 1 则保存文件,为 0 则不保存。设置为 2,保存缓冲区,即使它是空的。

b : 缓冲区的大小。对于数字缓冲区,这是每条记录的值数(最大值50)。 对于字符串缓冲区,它是字符串中的字符数。

c : 指示是否从预先存在的 ASCII 文本文件初始化缓冲区。设置为 1 进行初始化,设置为 0 省略初始化

d  : 缓冲区类型的代码。0 = 数字,1 = 字符串。如果省略此值,则 0 为假设。
------------------------------------------------------------------------------------------------------
size1 = rbuf(1,0)   是读取缓冲区大小
b1_t = rbuf(1,rc1) ,b1_t位于列第一位,这里读取b1_t所在列

评分

参与人数 1G币 +3 收起 理由
流浪在水一方 + 3 多謝老哥解說 !

查看全部评分

15

主题

2363

回帖

1万

积分

上校

积分
14811
发表于 2023-9-25 15:29:16 | 显示全部楼层
75921872 发表于 2023-9-25 14:23
fbuf n a b c d

5个数

謝謝老哥說明{:}    ...果然太難了 看來要消化很久...

38

主题

1254

回帖

7301

积分

少校

积分
7301
发表于 2023-9-25 19:53:06 | 显示全部楼层
谢谢分享!

10

主题

196

回帖

8062

积分

少校

积分
8062
发表于 2023-9-25 20:18:13 | 显示全部楼层
感谢分享,帮顶!

0

主题

215

回帖

3897

积分

中尉

积分
3897
发表于 2023-9-25 22:46:23 | 显示全部楼层
感谢分享,帮顶!

20

主题

279

回帖

7463

积分

少校

积分
7463
发表于 2023-9-26 08:19:52 | 显示全部楼层
感谢分享,帮大师顶个贴!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

咨询QQ:1359218528|发帖须知!|Archiver|手机版|小黑屋|UG爱好者论坛 ( 京ICP备10217105号-2 )

GMT+8, 2025-2-1 00:15

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表