原帖由 pogua007 于 2007-1-29 00:33 发表
诸葛版主有一个加分体题,要求后处理的nc能显示出:
1:加工方案(在comment加注)
2:用jop setup后能显示加工材料的大小
3:公差
4:余量(不够完善,用同一把刀做其它加工方案联在一起后处理时能显示出第二 .三个加工余量!)
6:刀具长度. 刀具直径(已解决). 刀具的R(已解决). 刀具角度(用锥度刀加工时)让操作员一目了然。
除了显示锥度铣刀的锥度之外,版主的其他设想,我可以实现,但是刀具路径类型、范围和理论加工时间必须加在每个刀路之中,无法全部显示在程序的开头部分,显示在程序中间显然很难阅读,意义不是很大,这样的后处理,我明天就可以给改好,如果一定要显示在程序开头部分,也不是完全的不可能,但是很难。实际是使用我汉化的那个加工报表+简洁后处理是一个非常好的办法。如果全在NC程序中,就是程序可以生成那些东西,在机床上去阅读也是很麻烦的,NC文件本来就是给机器读的,顶多加上如刀具直径,刀角半径就够了(我是直接加在程序开始符号“%”之后的,在宝元系统的机器上可以直接显示在文件列表中),可惜无法获得锥刀的锥度。
给操机人读还是读加工报表吧,我汉化修改的加工报表功能已经不错了,显示机床名,刀具名称、直径半径、进给、转速,刀具路径类型、余量、误差、步进、程序编号(这个功能很有用可以把加工报表和程序名联系起来)、路径范围、理论加工时间,还有建议夹持长度,还有总的统计。打印出来慢慢看,多舒服~~~。
刀具路径类型、余量、误差、步进、路径范围、理论加工时间这些东西在后处理运算的时候属于变量,必须生成每个刀路的时候才可以生成,所以一般的方法无法实现在程序开头运算的时候写出。可以在程序开始的时候空运算一次所有刀路,即不写出程序的主体内容,只写出我们如上所述的注解,然后再运算一次所有刀路写出主体内容。非常垃圾的方法,不论可否实现,额外的运算少不了的,而且如果搞的变量出错,程序也要出错。虽然我肯定不会把会出错的后处理发上来的,但是我到底不是写mastercam的,如果有什么未知bug,而且工件的加工大都是不可逆的,国家的现代化建设用的机械,中国的未来领先世界的机床,还有宇宙飞船可能就是因为……(路人甲:太看的起自己了吧,我扁)汗!残念.....(我靠!这方法何止是垃圾简直是太变态了,我要软件公司老板,我的职员写出这样的程序,我非把他开除不可)。还有大多数的机床都不允许程序中出现中文的,使用英文又增加了阅读的难度。(路人甲:控制系统调用汉字模块WT。俺:我砍,还要我去给控制系统打补丁啊,我砍、砍、砍,报仇了)
锥度铣刀的锥度,具我研究好象只在算刀路生成NCI时候的刀具补正中出现,在nci文件中不存储,所以后处理的时候,无论是生成加工报表还是NC程序都无法获得锥刀锥度,不知道还有没有大虾知道锥刀锥度的获得方法,写程序加外挂就拉倒吧,俺不跟你玩了。
原帖由 pogua007 于 2007-2-9 21:56 发表
判断的方法比较简单,平刀的锥度为180,所以使用if tl_tip_angle < 180,就可以判断了啊,还有我弱弱的问一句,什么是jop setup。
判断素材是否已经设定的判断方法为if stck_ht$ > 0 & stck_wdth$ > 0 & stck_thck$ > 0,不过只可以使用数值设定的素材,实体素材没有用。不知道车床NCI中的素材怎么存储,变量有没有可通用的,还有大侠啊,你的资料是在哪找的,我怎么找不到啊。
原帖由 pogua007 于 2007-2-9 03:14 发表
谢谢,我找到了,变量名为tl_tip_angle
原帖由 mcam_taiwan 于 2007-2-21 00:13 发表
看我的加工報表吧~
https://www.mcam.com.tw/alan/SETUPSHEET3.htm
https://www.mcam.com.tw/alan/SETUPSHEET3-table.htm
原帖由 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,则*变量。
四、
在要显示的地方调用第三个所建立的操作。
我马上发布一个可显示刀锥度的后处理,你可以下载下来研究一下。
原帖由 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语言根本不算是技术,但是他用,我再做,就有被误会抄袭的可能.再者而且现在过年,比较的忙,我以前发的响应着寥寥,我本来就没有准备收钱,也没有人关注,积极性大受打击.
原帖由 mcam_taiwan 于 2007-2-21 19:02 发表
9版可支援中文的....不過方法不同罷了!不能直接修改內容,需外轉..
原帖由 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 编辑 ]
欢迎光临 iCAx开思网 (https://www.icax.org/) | Powered by Discuz! X3.3 |