|
|
没玩过这个,但思路应该是没啥问题的
具体左旋右旋也就是往正走刀跟负走刀的算法可能要加一下判断谁减谁或者abs绝对值,懒得研究了,直接上关键代码吧
其余未做修改。就不上传了
缺少很多判断,不过替换进去是能出程序的
fmt "X" 2 g32_xabs #G32X
fmt "Z" 2 g32_zabs #G32Z
fmt "Z" 2 g32_dzabs #G32Z起点 对应杂项 mr1$
fmt "Z" 2 g32_nzabs #G32螺纹终点 对应杂项 mr2$
fmt "Q" 2 G32_Q #G32Q
pthrg32_1$ #G32 threading first
comment$
gcode$ = zero
if tool_op$ = 227,
[
copy_x = vequ(x$)
pcan
c_rcc_setup$
plcc_lead_begin
pcom_moveb
g32_xabs = xabs
g32_zabs = zabs
!zabs
]
else, lrapid$
pthrg32_2$ #G32 threading second
gcode$ = zero
if tool_op$ = 227, #自定义螺纹
[
copy_x = vequ(x$)
pcan
c_rcc_setup$
plcc_lead_begin
pcom_moveb
g32_dzabs = mr1$
*g32_dzabs, e$
!zabs, pxout, e$
]
else, lrapid$
pthrg32_3$ #G32 threading third
copy_x = vequ(x$)
pcom_moveb
g32_nzabs = mr2$
G32_Q = (g32_zabs - g32_dzabs )/feed * 360
pcan1, pbld, sgfeed, *sthdgcode, pxout, pyout, *g32_nzabs, !zabs, pcout, pffr, *G32_Q,
strcantext, e$
pcom_movea
prv_gcode$ = m_one
|
|