能否将下面语句的使用说明一下?
谢谢!
# --------------------------------------------------------------------------
# 文件起始和刀具交换设置
# --------------------------------------------------------------------------
psof0 #Start of file for tool zero
psof
psof #Start of file for non-zero tool number
toolchng = one
if ntools = one,
[
#skip single tool outputs, stagetool must be on
stagetool = m_one
!next_tool
]
"%", e
*progno, e
"(PROGRAM NAME - ", progname, ")", e
"(DATE=Day-Month-Year - ", date, " TIME=Hr:Min - ", time, ")", e
ptoolcomment
pbld, n, *sgcode, *sgplane, "G40", "G49", "G80", "G54", *sgabsinc, *smetric, e
sav_absinc = absinc
pcom_moveb
absinc = zero
pcan1, pbld, n, *sgcode, *sgabsinc, pwcs, pfxout, pfyout, *zr,
*speed, *spindle, pgear, strcantext, e
pe_inc_calc
ps_inc_calc
absinc = sav_absinc
pbld, n, sgabsinc, e
pretract #刀具路径末尾,换刀
sav_absinc = absinc
absinc = one
sav_coolant = coolant
coolant = zero
#cc_pos is reset in the toolchange here
cc_pos = zero
gcode = zero
pbld, n, sccomp, *sm05, e
absinc = sav_absinc
coolant = sav_coolant
peof0 #End of file for tool zero
peof
peof #End of file for non-zero tool
pretract
comment
#Remove pound character to output first tool with staged tools
# #if stagetool = one, pbld, n, *first_tool, e
n, "M30", e
"%", e
pwcs #G54+ coordinate setting at toolchange
if workofs <> prv_workofs | (force_wcs & toolchng),
[
if workofs < 6,
[
g_wcs = workofs + 54
*g_wcs
]
else,
[
p_wcs = workofs - five
"G54.1", *p_wcs
]
]
!workofs
pgear #Find spindle gear from lookup table
if use_gear = one,
[
gear = frange (one, speed)
*gear
]
#换刀设置
pspindle #主轴转速计算 for RPM
speed = abs(ss)
if maxss = zero | maxss > max_speed, maxss = max_speed
if speed > max_speed, speed = maxss
if speed < min_speed, speed = min_speed
spdir2 = fsg3(spdir)
pq #Setup post based on switch settings
if stagetool = one, bldnxtool = one
if arctype = one | arctype = four,
[
result = newfs(two, i)
result = newfs(two, j)
result = newfs(two, k)
]
else,
[
result = newfs(three, i)
result = newfs(three, j)
result = newfs(three, k)
]
pheader #文件开始前调用
if met_tool = one, #米制常量和变量调整
[
ltol = ltol_m
vtol = vtol_m
maxfeedpm = maxfeedpm_m
]
ptoolend #刀具路径末尾,读取新刀具资料之前
!speed, !spdir2
ptlchg1002 #Call at actual toolchange, end last path here
pspindle
if gcode = 1000,
[
#Null toolchange
]
else,
[
#Toolchange and Start of file
if gcode = 1002,
[
#Actual toolchange
pretract
]
if stagetool = one, prv_next_tool = m_one
prv_xia = vequ(xh)
prv_feed = c9k
]
# --------------------------------------------------------------------------
# Motion NC output 运动 NC 输出
# --------------------------------------------------------------------------
#绝对方式输出的变量为 xabs, yabs, zabs.
#增量方式输出的变量为 xinc, yinc, zinc.
# --------------------------------------------------------------------------
prapidout #输出直线运动的NC指令 - 快速
pcan1, pbld, n, sgplane, `sgcode, sgabsinc, pccdia,
pxout, pyout, pzout, strcantext, scoolant, e
plinout #输出直线运动的NC指令 - 进给
pcan1, pbld, n, sgplane, `sgcode, sgabsinc, pccdia,
pxout, pyout, pzout, feed, strcantext, scoolant, e
pcirout #输出圆弧插补的NC指令
if arcrad >= max_arc, result = mprint(saxiswarn)
pcan1, pbld, n, sgplane, sgcode, sgabsinc, pccdia,
pxout, pyout, pzout, parc, feed, strcantext, scoolant, e
pcom_moveb #Common motion preparation routines, before
pxyzcout
ps_inc_calc
pncoutput #Movement output
pcom_moveb
comment
pcan
if gcode = zero, prapidout
if gcode = one, plinout
if gcode > one & gcode < four, pcirout
pcom_movea
pcom_movea #Common motion preparation routines, after
pcan2
pe_inc_calc
pdwl_spd #Call from NCI gcode 4
pspindle
comment
if prv_spdir2 <> spdir2, pbld, n, *sm05, e
if prv_speed <> speed | prv_spdir2 <> spdir2,
pbld, n, *speed, *spindle, pgear, e
pcan
if fmtrnd(dwell), pcan1, pbld, n, *sgcode, *dwell, strcantext, e
else, pcan1, pbld, n, strcantext, e
pcan2
prapid #输出直线运动的NC指令 - 快速
pncoutput
pzrapid #输出直线运动的NC指令 - 快速 Z only
pncoutput
plin #输出直线运动的NC指令 - 进给
pncoutput
pz #输出直线运动的NC指令 - 进给 Z only
pncoutput
pmx #输出NCI向量的NC指令
pncoutput
pcir #输出圆弧插补的NC指令
pncoutput
# --------------------------------------------------------------------------
# Motion output components 运动输出组成
# --------------------------------------------------------------------------
pbld #Canned text - 单节删除
if bld, '/'
pfbld #强制 - 单节删除
"/"
pccdia #切削补偿
#Force Dxx#
if prv_cc_pos <> cc_pos & cc_pos, prv_tloffno = c9k
sccomp
if cc_pos, tloffno
pfxout #Force X axis output
if absinc = zero, *xabs, !xinc
else, *xinc, !xabs
pxout #X output
if absinc = zero, xabs, !xinc
else, xinc, !xabs
pfyout #Force Y axis output
if absinc = zero, *yabs, !yinc
else, *yinc, !yabs
pyout #Y output
if absinc = zero, yabs, !yinc
else, yinc, !yabs
pfzout #Force Z axis output
if absinc = zero, *zabs, !zinc
else, *zinc, !zabs
pzout #Z output
if absinc = zero, zabs, !zinc
else, zinc, !zabs
parc #选择圆弧输出格式
if arcoutput = zero,
[
#圆弧输出为 IJK
i, j, k
]
else,
[
#圆弧输出为 R
if abs(sweep)<=180 | arcoutput=one, result = nwadrs(srad, arcrad)
else, result = nwadrs(srminus, arcrad)
*arcrad
]
# --------------------------------------------------------------------------
# Drilling 钻孔
# --------------------------------------------------------------------------
pdrlcommonb #Canned Drill Cycle common call, before
if gcode = 81,
[
result = newfs (two, zinc)
if drillcyc = three, drlgsel = fsg1(-ss) + drillcyc * two
else, drlgsel = fsg2(dwell) + drillcyc * two
if initht <> refht, drillref = zero
else, drillref = one
prv_refht_a = c9k
prv_refht_i = c9k
]
z = depth
prv_zia = initht
feed = fr_pos
prv_dwell = zero
@dwell
pcom_moveb
comment
pcan
prdrlout #R drill position
refht_a = refht
refht_i = refht - initht
if absinc = zero, refht_a, !refht_i
else, refht_i, !refht_a
pdrill #钻孔固定循环
pdrlcommonb
pcan1, pbld, n, *sgdrlref, *sgdrill, pxout, pyout, pfzout,
prdrlout, dwell, *feed, strcantext, e
pcom_movea
ppeck #啄式钻孔固定循环
pdrlcommonb
pcan1, pbld, n, *sgdrlref, *sgdrill, pxout, pyout, pfzout,
prdrlout, *peck1, *feed, strcantext, e
pcom_movea
pchpbrk #断屑固定循环
pdrlcommonb
pcan1, pbld, n, *sgdrlref, *sgdrill, pxout, pyout, pfzout,
prdrlout, *peck1, *feed, strcantext, e
pcom_movea
ptap #攻螺纹固定循环
pdrlcommonb
pcan1, pbld, n, *sgdrlref, *sgdrill, pxout, pyout, pfzout,
prdrlout, *feed, strcantext, e
pcom_movea
pbore1 #镗孔固定循环 #1
pdrlcommonb
pcan1, pbld, n, *sgdrlref, *sgdrill, pxout, pyout, pfzout,
prdrlout, dwell, *feed, strcantext, e
pcom_movea
pbore2 #镗孔固定循环 #2
pdrlcommonb
pcan1, pbld, n, *sgdrlref, *sgdrill, pxout, pyout, pfzout,
prdrlout, *feed, strcantext, e
pcom_movea
pmisc1 #Canned Misc #1 Cycle
pdrlcommonb
pcan1, pbld, n, *sgdrlref, *sgdrill, pxout, pyout, pfzout,
prdrlout, shftdrl, dwell, *feed, strcantext, e
pcom_movea
pmisc2 #Canned Misc #2 Cycle (User Option)
pdrill
pdrill_2 #Canned Drill Cycle, additional points
pdrlcommonb
pcan1, pbld, n, pxout, pyout, pzout, prdrlout, dwell,
feed, strcantext, e
pcom_movea
ppeck_2 #Canned Peck Drill Cycle
pdrill_2
pchpbrk_2 #Canned Chip Break Cycle
pdrill_2
ptap_2 #Canned Tap Cycle
pdrill_2
pbore1_2 #Canned Bore #1 Cycle
pdrill_2
pbore2_2 #Canned Bore #2 Cycle
pdrill_2
pmisc1_2 #Canned Misc #1 Cycle
pdrill_2
pmisc2_2 #Canned Misc #2 Cycle
pdrill_2
pdrlcst #自定义钻孔循环 8 - 19 (user option)
#Use this postblock to customize drilling cycles 8 - 19
pdrlcommonb
"CUSTOMIZABLE DRILL CYCLE ", pfxout, pfyout, pfzout, e
pcom_movea
pdrlcst_2 #自定义钻孔循环 8 - 19, additional points (user option)
#Use this postblock to customize drilling cycles 8 - 19
pdrlcommonb
"CUSTOMIZABLE DRILL CYCLE ", pfxout, pfyout, pfzout, e
pcom_movea
pcanceldc #Cancel canned drill cycle
result = newfs (three, zinc)
z = initht
prv_zia = initht
pxyzcout
!zabs, !zinc
prv_gcode = zero
pbld, n, "G80", e |