julianwss 发表于 2025-8-29 14:38:18

队友们,DRILL攻牙报警,MAKING不会,有董的,帮我改下可以吗

global pop_cycle_hole_counter
incr pop_cycle_hole_counter
global mom_spindle_direction pop_cycle_hole_counter
global mom_current_motion final_tap_mode
global mom_cycle_thread_right_handed
global mom_sys_spindle_direction_code
global mom_cycle_cam mom_motion_event
global mom_tool_pitch fm ff afterG95
global mom_spindle_speed

if {$mom_motion_event == "tap_float_move"} {
if { $mom_spindle_direction == "CLW" } {
      set final_tap_mode "84"
} elseif { $mom_spindle_direction == "CCLW" } {
      set final_tap_mode "74"
} elseif {} {
   if { $mom_cycle_thread_right_handed == "TRUE" } {
      set final_tap_mode "84"
   } else {
      set final_tap_mode "74"
   }
}
} else {
if { $mom_spindle_direction == "CLW" } {
      set final_tap_mode "84"
      #set final_tap_mode "84.2"
} elseif { $mom_spindle_direction == "CCLW" } {
      set final_tap_mode "74"
      #set final_tap_mode "84.3"
} elseif {} {
   if { $mom_cycle_thread_right_handed == "TRUE" } {
      set final_tap_mode "84"
      #set final_tap_mode "84.2"
   } else {
      set final_tap_mode "74"
      #set final_tap_mode "84.3"
   }
   }

}

if {$fm == "SYNTEC"} {
set ff ] "0"]
} elseif {$fm == "FANUC"} {
set afterG95 1
set ff ] "0"]
if {$mom_motion_event != "tap_float_move"} {
if { $pop_cycle_hole_counter == 1 } {
MOM_output_literal "M29 S"
   }
}
} elseif {$fm == "MITSUBISHI"} {
set ff "0"]
}



if {!} {
set mom_cycle_cam ""
MOM_suppress once Q_tap
} elseif { $mom_cycle_cam == "0" } {
set mom_cycle_cam ""
MOM_suppress once Q_tap
}




筚路蓝缕好 发表于 2025-8-29 16:28:31

貌似看不懂

julianwss 发表于 2025-8-29 16:35:45

筚路蓝缕好 发表于 2025-8-29 16:28
貌似看不懂

我也看不懂:'(

白色治愈之风 发表于 2025-8-29 16:52:40

代码太多了,看不懂。

1267 发表于 2025-8-29 17:09:15

代码功能拆解:
1. 全局变量声明
开头声明了一系列全局变量,这些变量通常来自 CAM 软件(如 UG/NX)的加工参数,包含:
攻丝循环相关:pop_cycle_hole_counter(孔计数)、final_tap_mode(最终攻丝模式 G 代码)
主轴参数:mom_spindle_direction(主轴方向)、mom_spindle_speed(主轴转速)
运动状态:mom_current_motion(当前运动)、mom_motion_event(运动事件,如 "tap_float_move" 表示攻丝浮动运动)
刀具与螺纹参数:mom_tool_pitch(刀具螺距)、mom_cycle_thread_right_handed(螺纹旋向)
系统参数:fm(数控系统类型)、mom_cycle_cam(循环参数)等
2. 攻丝模式(final_tap_mode)判断
这部分逻辑根据主轴方向或螺纹旋向,确定攻丝对应的 G 代码(G84 为右旋攻丝,G74 为左旋攻丝):
若运动事件为"tap_float_move"(攻丝浮动运动),根据mom_spindle_direction(主轴方向:CLW 顺时针 / CCLW 逆时针)或mom_cycle_thread_right_handed(螺纹旋向)设置final_tap_mode
其他运动事件下,逻辑类似,但注释中包含了备选模式(如 G84.2、G84.3,可能对应不同攻丝方式)
3. 进给速度(ff)计算
根据不同数控系统(fm)计算攻丝进给速度:
SYNTEC(新代):进给速度 = 螺距 × 主轴转速,保留 1 位小数并去除末尾多余的 0
FANUC(发那科):
同样计算进给速度(螺距 × 主轴转速)
当运动事件不是浮动攻丝,且是第一个孔(pop_cycle_hole_counter == 1)时,输出M29 S...(刚性攻丝模式指令,固定主轴与进给同步)
MITSUBISHI(三菱):直接使用螺距值,保留 3 位小数并去除末尾多余的 0
4. 循环参数(mom_cycle_cam)处理
若mom_cycle_cam不存在或为 0,则清空该变量并抑制Q_tap参数输出(避免无效参数影响加工)

1267 发表于 2025-8-29 17:10:02

1267 发表于 2025-8-29 17:09
代码功能拆解:
1. 全局变量声明
开头声明了一系列全局变量,这些变量通常来自 CAM 软件(如 UG/NX)的加工 ...

AI能解决65%以上问题

julianwss 发表于 2025-8-29 17:12:00

1267 发表于 2025-8-29 17:10
AI能解决65%以上问题

AI怎么用

julianwss 发表于 2025-8-29 17:26:42

1267 发表于 2025-8-29 17:09
代码功能拆解:
1. 全局变量声明
开头声明了一系列全局变量,这些变量通常来自 CAM 软件(如 UG/NX)的加工 ...

这个怎么改

tombai691019 发表于 2025-8-29 19:21:39

这是判断正牙反牙攻丝,判断三种机器类型,判断是否输出Q值的代码吧。

julianwss 发表于 2025-8-29 19:40:29

tombai691019 发表于 2025-8-29 19:21
这是判断正牙反牙攻丝,判断三种机器类型,判断是否输出Q值的代码吧。

对的,但是用DRILL模块下的攻牙报警,用manking的不报警
页: [1] 2 3
查看完整版本: 队友们,DRILL攻牙报警,MAKING不会,有董的,帮我改下可以吗