找回密码
 立即注册

QQ登录

只需一步,快速开始

微信扫码登录

搜索
查看: 75|回复: 5

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

[复制链接]

2

主题

102

回帖

360

积分

二级士官

积分
360
发表于 3 小时前 | 显示全部楼层 |阅读模式
  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 {[info exists mom_cycle_thread_right_handed]} {
     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 {[info exists mom_cycle_thread_right_handed]} {
     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 [string trimright [format "%.1f" [expr $mom_tool_pitch*$mom_spindle_speed]] "0"]
} elseif {$fm == "FANUC"} {
set afterG95 1
set ff [string trimright [format "%.1f" [expr $mom_tool_pitch*$mom_spindle_speed]] "0"]
if {$mom_motion_event != "tap_float_move"} {
  if { $pop_cycle_hole_counter == 1 } {
  MOM_output_literal "M29 S[format "%.0f" $mom_spindle_speed]"
   }
}
} elseif {$fm == "MITSUBISHI"} {
set ff [string trimright [format "%.3f" $mom_tool_pitch] "0"]
}



if {![info exists mom_cycle_cam]} {
set mom_cycle_cam ""
MOM_suppress once Q_tap
} elseif { $mom_cycle_cam == "0" } {
set mom_cycle_cam ""
MOM_suppress once Q_tap
}




3

主题

119

回帖

3258

积分

中尉

积分
3258
发表于 1 小时前 | 显示全部楼层

回帖奖励 +1 G币

貌似看不懂

2

主题

102

回帖

360

积分

二级士官

积分
360
 楼主| 发表于 1 小时前 | 显示全部楼层

我也看不懂

2

主题

387

回帖

1128

积分

六级士官

积分
1128
发表于 1 小时前 | 显示全部楼层
代码太多了,看不懂。

0

主题

21

回帖

2762

积分

少尉

积分
2762
发表于 1 小时前 | 显示全部楼层
代码功能拆解:
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参数输出(避免无效参数影响加工)

0

主题

21

回帖

2762

积分

少尉

积分
2762
发表于 半小时前 | 显示全部楼层
1267 发表于 2025-8-29 17:09
代码功能拆解:
1. 全局变量声明
开头声明了一系列全局变量,这些变量通常来自 CAM 软件(如 UG/NX)的加工 ...

AI  能解决65%以上问题
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

咨询QQ:1359218528|发帖须知!|Archiver|手机版|小黑屋|UG爱好者论坛 ( 京ICP备10217105号-2 )

GMT+8, 2025-8-29 18:09

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表