|
|
可能我没基础,没搞对,出错了,它生成的tcl文件,ug识别不了,我把代码发出,看有没有懂的大神解惑
1.CopyOperToSelected.dfa
VERSION 1
DIALOG TITLE "复制工序+选刀"
BUTTON "复制→粘贴到选中后+换刀"
ACTION CopyOperToSelected
2.CopyOperToSelected.tcl
# 复制前端程序组 → 粘贴到选中工序后 → 弹出选刀
proc CopyOperToSelected {} {
if {[catch {
set cam_session [UG::CAMSession GetSession]
set setup [$cam_session Setup]
set oper_col [$setup OperationCollection]
# 1. 获取选中的目标工序(粘贴到它后面)
set sel_ops [$oper_col SelectedOperations]
if {[llength $sel_ops] == 0} {
UG::MessageBox "请先选中【目标工序】!\n(复制内容会贴在它后面)"
return
}
set target_op [lindex $sel_ops 0]
# 2. 获取前端 PROGRAM 下所有工序
set program_list [$setup Programs]
if {[llength $program_list] == 0} {
UG::MessageBox "未找到程序组(PROGRAM)"
return
}
set front_prog [lindex $program_list 0]
set source_ops [$front_prog Operations]
if {[llength $source_ops] == 0} {
UG::MessageBox "前端程序组中无工序可复制"
return
}
# 3. 弹出刀具选择框
set cutter [UG::SelectTool "请选择要替换的刀具"]
if {$cutter eq ""} {
return
}
# 4. 复制 → 粘贴到目标后 → 换刀
set count 0
foreach op $source_ops {
# 复制
set new_op [$op Copy]
# 移动到目标后面
$new_op MoveAfter $target_op
# 替换刀具
$new_op SetCuttingTool $cutter
incr count
}
UG::MessageBox "完成!\n复制 $count 个工序\n并已替换为所选刀具"
} err]} {
UG::MessageBox "错误:$err"
}
}
3.custom_dirs.dat
${UGII_CUSTOM_DIR}
|
|