MASTERCAM后處理格式修改
對于后處理格式,一般的用戶有三個層次的需求:
一、PM 自帶的后處理中有適合自己機床要求的,不過要修改、增刪些代碼。
二、沒有適合的,需要改寫后處理。
三、機床的代碼格式完全與普通 G 代碼格式不同,需建全新的后處理。
現(xiàn)在開始準(zhǔn)備工作:
1、以不同的控制器試著處理幾個G代碼文件出來,然后和自己機床的代碼進(jìn)行比較,選一個最接近自己的。
2、打開ductpost\dp-index.html,準(zhǔn)備有問題就看幫助。
3、運行:ductpost -w [控制器類型] > [控制器類型].opt ,從而生成OPT文件,這個選最接近你機床的控制器。如:ductpost -w hurco > hurco.opt 。 這時就可以用文本編輯器來打開這個opt文件了:
1、程序頭、程序尾的改寫:
這個在以下的定義里面:
define block tape start
********************
end define
define block tape end
*******************
end define
你可以根據(jù)自己的需要添加,如:
define block tape start
'%'
N ; 'G17G90G80G40G49'
end define
define block tape end
N ; 'M05'
N ; 'M30'
end define
不過注意這種引號方法優(yōu)點是簡單明了,但控制器只是把它當(dāng)字符處理,而不能以模態(tài)存在,具體可參見其它說明。
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輸出為圓心的絕對坐標(biāo)值。
b、I、J輸出為相對坐標(biāo)值,具體值為:圓心坐標(biāo)值-圓弧始點坐標(biāo)(常用)
c、I、J輸出為相對坐標(biāo)值,具體值為:圓弧始點坐標(biāo)-圓心坐標(biāo)值
define format (I J K) :定義I J K的矢量
scale factor = -1
end define
5.定義左右刀具補償
define codes
comp on left = G2 41
comp on right = G2 42
comp off = G2 40
end define
#14 :從#14~#41為定義旋轉(zhuǎn)軸的寫法,如小數(shù)點的位數(shù), /-的輸出等等
define format ( A )
address letter = 'A'
address width = 1
field width = 8
metric formats
decimal places = 3
decimal point = true
sign = if negative
leading zeros = false
trailing zeros = true
end define
#26
word order = ( A )
#28
units = metric
message output = false
spindle output = (2 0 0 0 )
coolant output = ( 1 2 )
#32
define format ( C )
address letter = 'C'
address width = 1
field width = 8
metric formats
decimal places = 3
decimal point = true
sign = if negative
leading zeros = false
trailing zeros = true
end define
#39
word order = ( C )
#41
units = metric
message output = false
spindle output = (2 0 0 0 )
coolant output = ( 1 2 )
#33
define keys :定義旋轉(zhuǎn)軸名稱
azimuth axis = C
elevation axis = A
end define
#38
azimuth axis parameters = (0. 0. 0. 0. 0. 1. )
elevation axis parameters = (0. 0. 0. 1. 0. 0. )
#41
spindle azimuth rotation = true :定義方位軸方式,true為主軸頭式false為工作臺式
spindle elevation rotation = true :定義俯仰軸方式,true為主軸頭式false為工作臺式
#44
azimuth axis direction = positive :定義方位軸用法,相對還是絕對
elevation axis direction = positive :定義俯仰軸用法,相對還是絕對
#47
azimuth axis units = degrees :定義方位軸單位
elevation axis units = degrees :定義俯仰軸單位
#50
azimuth axis parameters = ( 0 0 0 0 0 1 ) :定義方位軸參數(shù)
azimuth centre = ( 0 0 0 ) :定義方位軸圓心參數(shù)
elevation axis parameters = ( 0 0 0 1 0 0 ) :定義俯仰軸參數(shù)
elevation centre = ( 0 0 0 ) :定義俯仰軸圓心參數(shù)
pcs origin = ( 0 0 0 0 0 0 ) :定義旋轉(zhuǎn)軸圓心
linear axis limits = ( -99999 999999 -99999 999999 -99999 999999 ) :定義線性軸范圍
rotary axis limits = ( -99999 999999 -99999 999999 999 1 ) :定義旋轉(zhuǎn)軸范圍
move safe angles = ( 0 0 0 0 0 0 ) :定義起始角度
linearise multiaxis moves = false :定義機床是否支持線性多軸聯(lián)動,false為支持true為不支持
multiaxis coordinate transform = false :定義機床是否支持多軸聯(lián)動,false為支持true為不支持
integer 3 = 1 :定義是否進(jìn)行多軸處理
integer 9 = 5
integer 22 = 1
integer 23 = 1
integer 24 = 0
integer 25 = 0
integer 28 = 1
integer 38 = 0
integer 40 = 10
block start = 1
block increment = 1
maximum feedrate = 16000.0 :定義最大進(jìn)給量
comp output = (1 1 1 2)
message output = false :定義是否輸出信息,false為不輸出true為輸出
block order = true
define block tape start
end define
define block tool change first clear :定義程序頭和換刀及換刀后的第一個動作
'T1 M6 D1'
'TRAORI(1)'
'HSM'
S ToolSpeed ; M1 3
G6 54
G5 90 ; G1 0 ; Z FromZ
G5 90 ; G1 0 ; X FromX ; Y FromY
end define
define block move rapid :定義快速移動
G1 ; X ; Y ; Z ; A ; C
end define
define block move circle
G1 ; G2 ; X ; Y ; Z ; I ; J ; K ; D ; A ; C ; F ; M2 :定義線圓弧移動
end define
define block move linear
G1 ; G2 ; X ; Y ; Z ; D ; A ; C ; F ; M2 :定義線性移動方式
end define
define block tape end :定義程序尾
'M5 M9'
'M30'
end define
end
所以這個就要看你機床格式來具體設(shè)置了,修改以下值為你所需:
incremental centre = true (相對,反之false絕對)
相對有兩種,所以:
scale factor =