一修666 发表于 2022-4-18 11:17:53

在后处理中输出钻头角度,很简单!!!

如何在后处理中输出钻头角度,方便把程序给操作人员/调机师傅更直观的了解刀具,下面跟我一起来

   首先要了解在哪里可以输出角度信息,当我们在创建钻头刀具时,会有一个设置角度的数值,这个就是我们要在后处理输出的值
在MC软件中编程刀路属于前置,及先把刀路生成NCI,在通过后处理转换成机床能识别的数控代码这里就属于后置,我这里就先举个例子


先创建一步有倒角的刀路,我这里用倒角刀举例,可以看见倒角角度为45度,然后进行NCI输出,注意是NCI输出,不是后处理输出,
在NCI中20001/20004/20006/20007/20020都是与刀具有关的信息,这么多数值,那个是我们要找的呢??
往下面翻,可以看到20004中有一个数值为45,这个数值其实就是角度,你也可以用钻头来试试,会出现118,
那么问题来了,这么把这个值在后处理中输出出来??
换个思路,为什么我们在前置中设置的转速/进给能被后处理识别并输出???因为后处理中有变量读取这个数值,所以就可以输出来,
那么问题来了,怎么去使用变量???来让我们可以控制想要在后处理中输出的信息。
变量又分为系统变量(认可的变量),以及我们设置的变量(不能与系统变量相同且重复),在mastercam post语言中简称MP语言,
当某个值后面有带‘’$‘’(美元符号)这个就属于系统变量,不可修改,没有属于人工变量(我们自己设置的变量,想要输出某个数值)

通过以上,可以得出结论:当我们想要输出某个值时,我们可以设置一个变量,以此来输出想要的数值。
我相信你们大多数人都会在网络上下载别人的后处理来自己使用,有的后处理特别牛,还有中文注释,有开关等等,通常有开关一类的,比如
liangzai :1 #靓仔输出
            #0=靓女
            #1=靓仔
可以看到这个变量开关后面并没有带$,这个就属于人工设置的变量,来输出某个值。在比如
mi2$=0               #绝对/增量代码输出
                              #0 = 绝对
                              #1 = 增量

这个就属于系统变量,后处理是一个复杂,且不可出现错误的东西,我们在日常工作中不是特别需要,一般不建议去修改后处理,
以防出现程序上机撞机,撞工件。

废话说到这
(没啥思路了,随便看看,我表达能力不是很好)
已知想要输出某个值,前提得先建立变量,在由变量去控制输出值
已知变量为20004,位置属于第8位数值(在20004中,45在从左往右数第8位)
建立变量
#Common format statements   后处理找到这一栏
fs2 250 2 1 3      #输出刀具角度信息
#——————————————————解释
fs2 25 变量为25号
0 2 英制输出
1 3 公制输出
#——————————————————
#Move comment (pound) to output colon with program numbers   后处理找到这一栏
fmt "A" 25jiaodu #刀具角度
#——————————————————解释
当某个地方出现 jiaodu 这个变量,就读取上面第25号变量来输出 jiaodu 的变量 A,
jiaodu 这个变量不能重复,会报警
#——————————————————
在搜索 20007,注意下面有两个20007,都在下面添加,共计2个
在下面添加
      if prmcode$ = 20004, jiaodu = rparsngl(sparameter$, 8)
#——————————————————解释
如果代码=20004,jiaodu(读取上面角度变量)=rparsngl(参数$, 8号)      jiaodu(A)=20004的第八个号码数值,及A45
意思就是大概意思

ptooltable   后处理找到这一栏,刀具表

在pstrtool(刀具名称),后面添加    jiaodu,
举例:
sopen_prn, *t$, sdelimiter, pstrtool , jiaodu ,sdelimiter, *tlngno$,
      ,
      ,
      sclose_prn, e$


注意逗号别少了,会报警
后处理出来及
(T1 | 10倒角刀A45 | H1)
这个时候就可以输出刀具角度信息了,但是如果你使用平底刀,还是会输出A180度,这不是扯淡吗!!!
这个时候我们可以给他一个判断
*jiaodu],
假如角度小于180,就强制输出角度,举例

sopen_prn, *t$, sdelimiter, pstrtool , *jiaodu],sdelimiter, *tlngno$,
      ,
      ,
      sclose_prn, e$

举例
(T1 | 10倒角刀A45 | H1)
(T2 | 10平底刀 | H2)

不知道大家学会了没有,思路就是这个思路,学会了吱一声,别白嫖{:smile:}

还可以添加圆鼻刀的R值,比如12圆鼻刀R2

巴曼子 发表于 2022-5-4 11:38:31

感谢楼主毫无保留的分享,现在能够这样无私的提供知识的很少了,感谢!感谢!

xiang030506 发表于 2022-4-19 11:14:38

这个真的要感谢才行,能这样说出来的大师真的不多了!谢谢你!收下了!以后可以学习借鉴!

xinruyu369 发表于 2022-4-18 15:49:39

楼主好人

-蜻蜓队长- 发表于 2022-4-18 18:07:29

感谢楼主,学习一下

qingg 发表于 2022-4-19 02:23:36

学习了,想问下,怎么加G41D ,中的D 在输出在刀单里面

樂囨咑烊 发表于 2022-4-19 09:25:17

路过,必须赞!

wuming199735 发表于 2022-4-19 14:03:20

厉害了我的楼主我的神

一修666 发表于 2022-4-19 17:51:12

qingg 发表于 2022-4-19 02:23
学习了,想问下,怎么加G41D ,中的D 在输出在刀单里面

   添加进去
    *tloffno$这个变量就是刀补,前面都是判断
ptoolcomment    #搜索这一行
      tnote = t$, toffnote = tloffno$, tlngnote = tlngno$
      if tool_info = 1 | tool_info = 3,
      sopen_prn, pstrtool, ,sdelimiter, *tnote, sdelimiter, *toffnote, sdelimiter, *tlngnote, sdelimiter, *tldia$, sclose_prn, e$

在tooltable这一行就有输出刀补的,直接复制上来就行了



你也可以直接在刀具名称pstrtool后面添加*tloffno$, 不过你所有的刀具后面都会有刀补,最好是借鉴上面的判定去添加

qingg 发表于 2022-4-19 22:11:27

一修666 发表于 2022-4-19 17:51
添加进去
    *tloffno$这个变量就是刀补,前面都是判断
ptoolcomment    #搜索这一行


感谢楼主,如原之前漏了一个代码了.
这个是加刀圆角的fmt "R" 1   tcr$   #R 在fmt 处加
,在ptoolcomment 和处加

邮寄爱好者 发表于 2022-4-20 20:42:23

感谢楼主无私分享
页: [1] 2 3 4 5
查看完整版本: 在后处理中输出钻头角度,很简单!!!