找回密码 注册 QQ登录
一站式解决方案

iCAx开思网

CAD/CAM/CAE/设计/模具 高清视频【积分说明】如何快速获得积分?快速3D打印 手板模型CNC加工服务在线3D打印服务,上传模型,自动报价
查看: 19714|回复: 24
打印 上一主题 下一主题

[讨论] 关于完美后处理实现的探讨

[复制链接]
跳转到指定楼层
1
发表于 2007-1-29 00:33:02 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

马上注册,结交更多同行朋友,交流,分享,学习。

您需要 登录 才可以下载或查看,没有帐号?注册

x
诸葛版主有一个加分体题,要求后处理的nc能显示出:

1:加工方案(在comment加注)

2:用jop setup后能显示加工材料的大小

3:公差

4:余量(不够完善,用同一把刀做其它加工方案联在一起后处理时能显示出第二 .三个加工余量!)

6:刀具长度.  刀具直径(已解决). 刀具的R(已解决).  刀具角度(用锥度刀加工时)让操作员一目了然。

除了显示锥度铣刀的锥度之外,版主的其他设想,我可以实现,但是刀具路径类型、范围和理论加工时间必须加在每个刀路之中,无法全部显示在程序的开头部分,显示在程序中间显然很难阅读,意义不是很大,这样的后处理,我明天就可以给改好,如果一定要显示在程序开头部分,也不是完全的不可能,但是很难。实际是使用我汉化的那个加工报表+简洁后处理是一个非常好的办法。如果全在NC程序中,就是程序可以生成那些东西,在机床上去阅读也是很麻烦的,NC文件本来就是给机器读的,顶多加上如刀具直径,刀角半径就够了(我是直接加在程序开始符号“%”之后的,在宝元系统的机器上可以直接显示在文件列表中),可惜无法获得锥刀的锥度。
给操机人读还是读加工报表吧,我汉化修改的加工报表功能已经不错了,显示机床名,刀具名称、直径半径、进给、转速,刀具路径类型、余量、误差、步进、程序编号(这个功能很有用可以把加工报表和程序名联系起来)、路径范围、理论加工时间,还有建议夹持长度,还有总的统计。打印出来慢慢看,多舒服~~~。
刀具路径类型、余量、误差、步进、路径范围、理论加工时间这些东西在后处理运算的时候属于变量,必须生成每个刀路的时候才可以生成,所以一般的方法无法实现在程序开头运算的时候写出。可以在程序开始的时候空运算一次所有刀路,即不写出程序的主体内容,只写出我们如上所述的注解,然后再运算一次所有刀路写出主体内容。非常垃圾的方法,不论可否实现,额外的运算少不了的,而且如果搞的变量出错,程序也要出错。虽然我肯定不会把会出错的后处理发上来的,但是我到底不是写MasterCAM的,如果有什么未知bug,而且工件的加工大都是不可逆的,国家的现代化建设用的机械,中国的未来领先世界的机床,还有宇宙飞船可能就是因为……(路人甲:太看的起自己了吧,我扁)汗!残念.....(我靠!这方法何止是垃圾简直是太变态了,我要软件公司老板,我的职员写出这样的程序,我非把他开除不可)。还有大多数的机床都不允许程序中出现中文的,使用英文又增加了阅读的难度。(路人甲:控制系统调用汉字模块WT。俺:我砍,还要我去给控制系统打补丁啊,我砍、砍、砍,报仇了)

锥度铣刀的锥度,具我研究好象只在算刀路生成NCI时候的刀具补正中出现,在nci文件中不存储,所以后处理的时候,无论是生成加工报表还是NC程序都无法获得锥刀锥度,不知道还有没有大虾知道锥刀锥度的获得方法,写程序加外挂就拉倒吧,俺不跟你玩了。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 赞一下!赞一下!
25
发表于 2007-5-20 01:14:07 | 只看该作者
有些雕刻机上不能识别G代码中的G54.用Mastercam不太会有问题,但用其它软件于UG就会有一些问题.怎么解决?
24
发表于 2007-2-22 11:46:08 | 只看该作者
原帖由 pogua007 于 2007-2-21 18:40 发表
emastercam的那个后处理就是用我说的方法显示锥刀锥度的,不是直接调用10092.下面是emastercam的后处理中的两段:
pwrttparam$ #Information from parameters
           if prmcode$ = 15346, comp_type = rpar(sparameter$, 1)
           if prmcode$ = 20004, slot = rpar(sparameter$, 16) #这个就是我说的调用nci中的20004序列的参数组.
           if prmcode$ = 20006, cut_ability = rpar(sparameter$,8)
           if prmcode$ = 20007, pilot_dia = rpar(sparameter$, 11)

fmt     2 slot                    # 定义20004组参数中的16项,第八个是锥度,我数错了,嘿嘿.
fmt     2 tool_type
fmt     2 matl_type
fmt     2 corner_rad_type
fmt     2 diameter
fmt     2 corner_rad
fmt     2 threads
fmt  A  2 tip_angle
fmt     2 dia_off
fmt     2 len_off
fmt     2 tool_feed
fmt     2 plunge
fmt     2 retract
fmt     2 rpm
fmt     2 coolant1
fmt     2 n_flutes1
fmt  A  2 tip_angle_ch

[ 本帖最后由 pogua007 于 2007-2-21 18:42 编辑 ]

好料
23
发表于 2007-2-22 11:42:15 | 只看该作者
原帖由 mcam_taiwan 于 2007-2-21 19:02 发表
9版可支援中文的....不過方法不同罷了!不能直接修改內容,需外轉..




谢谢,请指点!
22
发表于 2007-2-21 19:02:22 | 只看该作者
9版可支援中文的....不過方法不同罷了!不能直接修改內容,需外轉..
21
发表于 2007-2-21 18:40:34 | 只看该作者
emastercam的那个后处理就是用我说的方法显示锥刀锥度的,不是直接调用10092.下面是emastercam的后处理中的两段:
pwrttparam$ #Information from parameters
           if prmcode$ = 15346, comp_type = rpar(sparameter$, 1)
           if prmcode$ = 20004, slot = rpar(sparameter$, 16) #这个就是我说的调用nci中的20004序列的参数组.
           if prmcode$ = 20006, cut_ability = rpar(sparameter$,8)
           if prmcode$ = 20007, pilot_dia = rpar(sparameter$, 11)

fmt     2 slot                    # 定义20004组参数中的16项,第八个是锥度,我数错了,嘿嘿.
fmt     2 tool_type
fmt     2 matl_type
fmt     2 corner_rad_type
fmt     2 diameter
fmt     2 corner_rad
fmt     2 threads
fmt  A  2 tip_angle
fmt     2 dia_off
fmt     2 len_off
fmt     2 tool_feed
fmt     2 plunge
fmt     2 retract
fmt     2 rpm
fmt     2 coolant1
fmt     2 n_flutes1
fmt  A  2 tip_angle_ch

[ 本帖最后由 pogua007 于 2007-2-21 18:42 编辑 ]
20
发表于 2007-2-21 18:35:24 | 只看该作者
原帖由 pogua007 于 2007-2-21 17:47 发表
10092参数,默认是不被读取,我试过在默认的后处理中显示所有参数,是没有10092的,我虽然查了说明书知道10092是tl_angle,但是我无法读取,所以我调用了nci文件的20004参数,tl_tip_angle不是pre-defined variable,名字是随便起的,绝对不会默认支持.
9版的加工报表是支持中文的,只要去汉化就可以,但是我汉化X版的加工报表响应着寥寥,我又不用9版,所以我懒的去汉化.
mcam_taiwan的加工报表,我也准备做成这个样子的,但是mcam_taiwan准备卖钱,我都不好意思发了,连他采用过的技术我都不好意思采用,我绝对不是抄袭mcam_taiwan,比如我也知道使用vbs生成预览图,我也搞成功了html语言根本不算是技术,但是他用,我再做,就有被误会抄袭的可能.再者而且现在过年,比较的忙,我以前发的响应着寥寥,我本来就没有准备收钱,也没有人关注,积极性大受打击.





不用想这么多,难道有人比你先用Mastercam你就不要用了,这些无非是内置功能,不能说是谁创造的,如果MP不支持,你原创也没有用,10092按我说的就能用。
改做的就做,没有什么好顾虑的。

9 版本不支持中文,不知是什么原因,要高手来解答。

[ 本帖最后由 boy9981 于 2007-2-21 18:36 编辑 ]
19
发表于 2007-2-21 17:55:48 | 只看该作者
一下。
18
发表于 2007-2-21 17:47:07 | 只看该作者
10092参数,默认是不被读取,我试过在默认的后处理中显示所有参数,是没有10092的,我虽然查了说明书知道10092是tl_angle,但是我无法读取,所以我调用了nci文件的20004参数,tl_tip_angle不是pre-defined variable,名字是随便起的,绝对不会默认支持.
9版的加工报表是支持中文的,只要去汉化就可以,但是我汉化X版的加工报表响应着寥寥,我又不用9版,所以我懒的去汉化.
mcam_taiwan的加工报表,我也准备做成这个样子的,但是mcam_taiwan准备卖钱,我都不好意思发了,连他采用过的技术我都不好意思采用,我绝对不是抄袭mcam_taiwan,比如我也知道使用vbs生成预览图,我也搞成功了html语言根本不算是技术,但是他用,我再做,就有被误会抄袭的可能.再者而且现在过年,比较的忙,我以前发的响应着寥寥,我本来就没有准备收钱,也没有人关注,积极性大受打击.
17
发表于 2007-2-21 08:38:08 | 只看该作者
原帖由 pogua007 于 2007-2-16 20:04 发表
当然不可以,tl_tip_angle不是pre-defined variable,名字是自己起的。
在后处理里面也要定义,定义的方法就是上面我说的。从调用到显示,步骤有四个,因为MP语言的特殊性,四个步骤不需要前后顺序,为了逻辑方便,所以我采用了先后顺序。
一、
if prmcode$ = 20004, tl_number = rpar(sparameter$, 16),#调用NC中的20004项目中的16个值。
二、
定义16个值的格式,同时命名16个值。
mt     2   tl_number
fmt     3   ……
fmt     3   ……
fmt     3   ……
fmt     2   ……
fmt     2   ……
fmt     2   ……
fmt     2   tl_tip_angle #第九个是锥刀锥度了,
fmt     3   ……
fmt     3   ……
fmt     2   ……
fmt     2   ……
fmt     2   ……
fmt     2   ……
fmt     3   ……
fmt     3   ……
三、
为显示刀具锥度建立一个操作,操作包含如下部分:
定义一个变量,并赋予默认值。
定义变量的显示格式。(最好和其他的format放在一起)
判断什么样的刀。如果为锥度铣刀则要使变量=2倍tl_tip_angle。如果是其他钻头类的锥度刀,则变量=tl_tip_angle。
判断是否显示,如果变量<>180,则*变量。
四、
在要显示的地方调用第三个所建立的操作。
我马上发布一个可显示刀锥度的后处理,你可以下载下来研究一下。


tl_tip_angle 这个变量在加工报表里已有,且其 MP 版本是支持这个变量的。
我觉得你自定义的变量太多了。

有了 我说的 tip_angle 和 10092   (我用的是 9 版本)
斜度刀单边锥度是用这 3 句来定义的:

fmt "A="            2      tip_angle   #那个红色的 2 可以定义其它值
  
if prmcode  =10092,  tip_angle = rpar(sparameter, 1)

*tip_angle,         # 放在你要输出的位置

可以做同时判断刀具R和锥度的语句。


在 emastercam 上有后处理下载,除了加工时间,基本上代码都有,8 版本的, 9 版本的, X版本、X2版本的都有。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3D打印手板模型快速制作服务,在线报价下单!

QQ 咨询|手机版|联系我们|iCAx开思网  

GMT+8, 2025-2-26 03:06 , Processed in 0.025719 second(s), 11 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2025 www.iCAx.org

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