您的位置:网站首页 > CAM

PowerMILL后处理

时间:2011-03-01 09:39:07 来源:

  对于后处理格式,一般的用户有三个层次的需求:

  一、powermill自带的后处理中有适合自己机床要求的,不过要修改、增删些代码。

  二、没有适合的,需要改写后处理。

  三、机床的代码格式完全与普通G代码格式不同,需建全新的后处理。

  本文只针对1、2种需求来进行讲解,至于第三种则是高级篇的范畴了(哈哈,其实我也不知道,还没做过呢)

  现在开始准备工作:

  1、以不同的控制器试着处理几个G代码文件出来,然后和自己机床的代码进行比较,选一个最接近自己的。

  2、打开ductpostdp-index.html,准备有问题就看帮助。

  3、运行:ductpost -w [控制器类型] > [控制器类型].opt ,从而生成OPT文件,这个选最接近你机床的控制器。如:ductpost -w hurco > hurco.opt 。 这时就可以用文本编辑器来打开这个opt文件了:

  1、程序头、程序尾的改写:

  这个在以下的定义里面:

  define block tape start

  ********************

  end define

  define block tape end

  *******************

  end define

  你可以根据自己的需要添加,如:

  define block tape start

  "%"

  N ; "G17G90G80G40G49"

  end define

  define block tape end

  N ; "M05"

  N ; "M30"

  end define

  不过注意这种引号方法优点是简单明了,但控制器只是把它当字符处理,而不能以模态存在,具体可参见其它说明。

  2、是否需要N行号?

  %

  :0001

  N10G28G91X0Y0Z0

  N30T1M6

  N40G0G90X-25.Y-40.S800 M3

  如这上面的N10、N30、N40,另外行号的起始、增量、最大都可以定义。如果不想要行号,可修改为以下值:

  define format ( N )

  not permanent

  end define

  3、是否需要Message?

  N60( MSG, Toolpath Name: ET)

  N70( MSG, xyzxyz_cut_1 ET)

  N80( MSG, Output: ET)

  N90( MSG, UNITS: MILLIMETRES ET)

  N100( MSG, TOOL COORDINATES: TIP ET)

  N110( MSG, LOAD TOOL ET)

  上面的信息,可修改为你需要的,具体参见帮助。也可选择不输出,如:

  message output = false

  4、圆弧的输出格式:

  这个需要讲一下,输出R的就不讲了,专讲I、J、K的输出。大致有三大类:

  a、I、J输出为圆心的绝对坐标值。

  b、I、J输出为相对坐标值,具体值为:圆心坐标值-圆弧始点坐标(常用)

  c、I、J输出为相对坐标值,具体值为:圆弧始点坐标-圆心坐标值

  所以这个就要看你机床格式来具体设置了,修改以下值为你所需:

  incremental centre = true (相对,反之false绝对)

  相对有两种,所以:

  scale factor = 1 或 -1

  另外有些机床不能输出360度的圆弧,这时需要将其分为几段输出:

  full circle = false

  5、换刀的格式:

  如:

  define block tool change first

  N ; OP ; change tool ; T ToolNum

  N ; "G48"

  N ; G1 0 ; Z FromZ

  end define

  里面可自己添加你的机床换刀时所需的代码,如打开刀具长度补偿。

  6、快速运动、直线运动、圆弧运动的代码:

  参见:

  define block move circle

  N ; G1 ; G2 ; G3 ; X ; Y ; Z ; I ; J ; K ; F ; D

  end define

  define block move linear

  N ; G1 ; G2 ; G3 ; G5 ; G6 ; X ; Y ; Z ; ; T ; S ;

  M1 ; M2

  end define

  define block move rapid

  N ; G1 ; G2 ; G3 ; G5 ; G6 ; X ; Y ; Z ; T ; S ;

  M1 ; M2

  end define

  你也可在帮助文件的指引下,修改上面的代码,如:不想要每次输出G17之类,可以删掉G3。。。当然修改前要了解清楚该代码是做什么的,另外注意备份,随时恢复。

  7、多轴:

  powermill这点做的非常好,如4轴的几种方式、5轴的几种方式都有代码可参考。如:在X轴加一个圆盘A,只需添加、修改以下几行:

  Fourth rotary table axis :- ( A. rotating about X. )

  define format ( A )

  decimal point = true

  decimal places = 3

  end define

  word order = ( A )

  define keys

  azimuth axis not used

  elevation axis = A

  end define

  spindle elevation rotation = false ## Default

  elevation units = degrees

  elevation axis direction = positive

  azimuth axis parameters = ( 0. 0. 0. 0. 0. 0. )

  elevation axis parameters = ( 0. 0. 0. 1. 0. 0. )

  define block move rapid

  N ; G1 ; G2 ; G3 ; G6 ; X ; Y ; Z ; A ; H ; M1 ; M2

  end define

  define block move linear

  N ; G1 ; G2 ; X ; Y ; Z ; A ; F ; M1 ; M2

  end define