PowerMILL后处理
对于后处理格式,一般的用户有三个层次的需求: <BR><BR> 一、powermill自带的后处理中有适合自己机床要求的,不过要修改、增删些代码。 <BR><BR> 二、没有适合的,需要改写后处理。 <BR><BR> 三、机床的代码格式完全与普通G代码格式不同,需建全新的后处理。 <BR><BR> 本文只针对1、2种需求来进行讲解,至于第三种则是高级篇的范畴了(哈哈,其实我也不知道,还没做过呢) <BR> <BR> 现在开始准备工作: <BR> <BR> 1、以不同的控制器试着处理几个G代码文件出来,然后和自己机床的代码进行比较,选一个最接近自己的。 <BR> <BR> 2、打开ductpost\dp-index.html,准备有问题就看帮助。 <BR> <BR> 3、运行:ductpost -w [控制器类型] > [控制器类型].opt ,从而生成OPT文件,这个选最接近你机床的控制器。如:ductpost -w hurco > hurco.opt 。 这时就可以用文本编辑器来打开这个opt文件了: <BR><BR> 1、程序头、程序尾的改写: <BR><BR> 这个在以下的定义里面: <BR><BR> define block tape start <BR> ******************** <BR> end define <BR><BR> define block tape end <BR> ******************* <BR> end define <BR><BR> 你可以根据自己的需要添加,如: <BR><BR> define block tape start <BR> "%" <BR> N ; "G17G90G80G40G49" <BR> end define <BR><BR> define block tape end <BR> N ; "M05" <BR> N ; "M30" <BR> end define <BR> <BR> 不过注意这种引号方法优点是简单明了,但控制器只是把它当字符处理,而不能以模态存在,具体可参见其它说明。 <BR><BR> 2、是否需要N行号? <BR><BR> % <BR> :0001 <BR> N10G28G91X0Y0Z0 <BR> N30T1M6 <BR> N40G0G90X-25.Y-40.S800 M3 <BR><BR> <BR> 如这上面的N10、N30、N40,另外行号的起始、增量、最大都可以定义。如果不想要行号,可修改为以下值: <BR><BR> define format ( N ) <BR> not permanent <BR> end define <BR><BR> 3、是否需要Message? <BR><BR> N60( MSG, Toolpath Name: ET) <BR> N70( MSG, xyzxyz_cut_1 ET) <BR> N80( MSG, Output: ET) <BR> N90( MSG, UNITS: MILLIMETRES ET) <BR> N100( MSG, TOOL COORDINATES: TIP ET) <BR> N110( MSG, LOAD TOOL ET) <BR><BR> 上面的信息,可修改为你需要的,具体参见帮助。也可选择不输出,如: <BR> <BR> message output = false <BR><BR> 4、圆弧的输出格式: <BR> <BR> 这个需要讲一下,输出R的就不讲了,专讲I、J、K的输出。大致有三大类: <BR> <BR> a、I、J输出为圆心的绝对坐标值。 <BR> <BR> b、I、J输出为相对坐标值,具体值为:圆心坐标值-圆弧始点坐标(常用) <BR> <BR> c、I、J输出为相对坐标值,具体值为:圆弧始点坐标-圆心坐标值 <BR> <BR> 所以这个就要看你机床格式来具体设置了,修改以下值为你所需: <BR> <BR> incremental centre = true (相对,反之false绝对) <BR> <BR> 相对有两种,所以: <BR> <BR> scale factor = 1 或 -1 <BR> <BR> 另外有些机床不能输出360度的圆弧,这时需要将其分为几段输出: <BR> <BR> full circle = false <BR><BR> <BR> 5、换刀的格式: <BR><BR> 如:<BR><BR> define block tool change first <BR> N ; OP ; change tool ; T ToolNum <BR> N ; "G48" <BR> N ; G1 0 ; Z FromZ <BR> end define <BR> <BR> 里面可自己添加你的机床换刀时所需的代码,如打开刀具长度补偿。 <BR> <BR> 6、快速运动、直线运动、圆弧运动的代码: <BR><BR> 参见: <BR><BR> define block move circle <BR> N ; G1 ; G2 ; G3 ; X ; Y ; Z ; I ; J ; K ; F ; D <BR> end define <BR><BR> define block move linear <BR> N ; G1 ; G2 ; G3 ; G5 ; G6 ; X ; Y ; Z ; ; T ; S ; <BR> M1 ; M2 <BR> end define <BR><BR> define block move rapid <BR> N ; G1 ; G2 ; G3 ; G5 ; G6 ; X ; Y ; Z ; T ; S ; <BR> M1 ; M2 <BR> end define <BR><BR> 你也可在帮助文件的指引下,修改上面的代码,如:不想要每次输出G17之类,可以删掉G3。。。当然修改前要了解清楚该代码是做什么的,另外注意备份,随时恢复。 <BR> <BR> 7、多轴: <BR> <BR> powermill这点做的非常好,如4轴的几种方式、5轴的几种方式都有代码可参考。如:在X轴加一个圆盘A,只需添加、修改以下几行:<BR><BR> Fourth rotary table axis :- ( A. rotating about X. ) <BR><BR> define format ( A ) <BR> decimal point = true <BR> decimal places = 3 <BR> end define <BR><BR> word order = ( + A ) <BR><BR> define keys <BR> azimuth axis not used <BR> elevation axis = A <BR> end define <BR><BR> spindle elevation rotation = false ## Default <BR> elevation units = degrees <BR> elevation axis direction = positive <BR><BR> azimuth axis parameters = ( 0. 0. 0. 0. 0. 0. ) <BR> elevation axis parameters = ( 0. 0. 0. 1. 0. 0. ) <BR><BR> define block move rapid <BR> N ; G1 ; G2 ; G3 ; G6 ; X ; Y ; Z ; A ; H ; M1 ; M2 <BR> end define <BR><BR> define block move linear <BR> N ; G1 ; G2 ; X ; Y ; Z ; A ; F ; M1 ; M2 <BR> end define
页:
[1]