找回密码
 立即注册

QQ登录

只需一步,快速开始

微信扫码登录

搜索
查看: 9811|回复: 45

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

  [复制链接]

15

主题

80

回帖

2778

积分

少尉

积分
2778
发表于 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 25  0 2 1 3      #输出刀具角度信息
#——————————————————解释
fs2 25 变量为25号
0 2 英制输出
1 3 公制输出
#——————————————————
#Move comment (pound) to output colon with program numbers     后处理找到这一栏
fmt "A" 25  jiaodu #刀具角度
#——————————————————解释
当某个地方出现 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$,
        [if comp_type > 0 & comp_type < 4, sdelimiter, *tloffno$, sdelimiter, *scomp_type, sdelimiter, *tldia$],
        [if xy_stock <> 0 | z_stock <> 0, sdelimiter, *xy_stock, sdelimiter, *z_stock],
        sclose_prn, e$


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

sopen_prn, *t$, sdelimiter, pstrtool , [if jiaodu < 180,*jiaodu]sdelimiter, *tlngno$,
        [if comp_type > 0 & comp_type < 4, sdelimiter, *tloffno$, sdelimiter, *scomp_type, sdelimiter, *tldia$],
        [if xy_stock <> 0 | z_stock <> 0, sdelimiter, *xy_stock, sdelimiter, *z_stock],
        sclose_prn, e$

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

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

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

1.png

输出NCI

输出NCI

可以看到这个数值为90

可以看到这个数值为90

评分

参与人数 5U币 +5 G币 +59 收起 理由
tp7399 + 3 分享加分!
农民工小曹 + 1 原创加分!
NX997843511 + 2 不错,支持你!
3D世界网-零 + 5 + 50 原创加分!
sabico* + 3 这个回答对我有用,赞一个!

查看全部评分

0

主题

52

回帖

648

积分

三级士官

积分
648
发表于 2022-5-4 11:38:31 | 显示全部楼层
感谢楼主毫无保留的分享,现在能够这样无私的提供知识的很少了,感谢!感谢!

11

主题

1123

回帖

2万

积分

少将

积分
23168

灌水王

发表于 2022-4-19 11:14:38 | 显示全部楼层
这个真的要感谢才行,能这样说出来的大师真的不多了!谢谢你!收下了!以后可以学习借鉴!

31

主题

841

回帖

8965

积分

少校

积分
8965
发表于 2022-4-18 15:49:39 | 显示全部楼层
楼主好人

4

主题

180

回帖

7029

积分

少校

积分
7029
发表于 2022-4-18 18:07:29 | 显示全部楼层
感谢楼主,学习一下

4

主题

170

回帖

3480

积分

中尉

积分
3480
发表于 2022-4-19 02:23:36 | 显示全部楼层
学习了,想问下,怎么加G41D ,中的D 在输出在刀单里面

5

主题

217

回帖

1万

积分

上校

积分
13866
发表于 2022-4-19 09:25:17 | 显示全部楼层
路过,必须赞!

6

主题

103

回帖

5119

积分

上尉

积分
5119
发表于 2022-4-19 14:03:20 | 显示全部楼层
厉害了我的楼主我的神

15

主题

80

回帖

2778

积分

少尉

积分
2778
 楼主| 发表于 2022-4-19 17:51:12 | 显示全部楼层
qingg 发表于 2022-4-19 02:23
学习了,想问下,怎么加G41D ,中的D 在输出在刀单里面

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

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

[if comp_type > 0 & comp_type < 4, sdelimiter, *tloffno$, sdelimiter, *scomp_type, sdelimiter, *tldia$]

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

4

主题

170

回帖

3480

积分

中尉

积分
3480
发表于 2022-4-19 22:11:27 | 显示全部楼层
一修666 发表于 2022-4-19 17:51
添加进去
    *tloffno$  这个变量就是刀补,前面都是判断
ptoolcomment    #搜索这一行

感谢楼主,如原之前漏了一个代码了.
这个是加刀圆角的fmt "R" 1   tcr$   #R 在fmt 处加
[if tcr$ <> 0 |sdelimiter ,*tcr$,],在ptoolcomment 和处加

0

主题

215

回帖

3897

积分

中尉

积分
3897
发表于 2022-4-20 20:42:23 | 显示全部楼层
感谢楼主无私分享
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-1-19 17:00

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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