白金* 发表于 2025-4-12 20:49:07

UG刮削算法

NX刮削后处理算法:有需要的可以下载参考看看。这些命令放在“PB_CMD_before_motion”下面

global mom_motion_type
global angle

# 初始化角度
set angle 0.0
switch $mom_motion_type {
    "FIRSTCUT" -
    "STEPOVER" -
    "CUT"   {
      



# 定义两个路径点坐标
global mom_mcs_gotomom_nxt_mcs_goto mom_prev_mcs_goto mom_tool_axis
set V1 {$mom_prev_mcs_goto(0) $mom_prev_mcs_goto(1) $mom_prev_mcs_goto(2)}
set V2 {$mom_mcs_goto(0) $mom_mcs_goto(1) $mom_mcs_goto(2)}

# 计算路径切线向量
lassign $V1 p1(0) p1(1) p1(2)
lassign $V2 p2(0) p2(1) p2(2)
set T(0)
set T(1)
set T(2) ;# 特别注意2维平面 Z 向 ,这个值为 0

# 计算投影到 XY 平面后的向量
set T_proj(0) $T(0)
set T_proj(1) $T(1)
set T_proj(2) $T(2)

# 归一化路径切线向量
set magnitude
set vector_axis(0)
set vector_axis(1)
set vector_axis(2)

# 设置初始方向(安装刀片或镗刀初始朝向位置,1,0,0表示朝向 X+
set direction(0) 1
set direction(1) 0
set direction(2) 0

# 计算两个向量的点积
set dot

# 计算夹角余弦值 0 ~ +180
if {$dot > 1.0} {
   set angle 0.0
} elseif {$dot < -1.0} {
   set angle 180.0
} else {
   set angle
}

# 向量叉乘
set cross_product(0)
set cross_product(1)
set cross_product(2)

# 判断反向角度 0 ~ -180
set pot
if {$pot > 0.0 } {
    set angle
}

# 控制角度在 0~ 360
set ang
set angle

MOM_output_literal "CCCC====$angle"

      }
    default {}
}

s285354328* 发表于 2025-4-12 22:15:42

感谢楼主分享

gsphzc 发表于 2025-4-12 23:43:33

感谢楼主分享

黄帝啊 发表于 2025-4-13 08:38:47

谢谢分享

风过叶落* 发表于 2025-4-13 09:04:19

感谢大佬

悟123456 发表于 2025-4-13 09:29:23

感谢分享

吃土豆丝的赛亚 发表于 2025-4-13 09:33:06

牛叉啊论坛就是大哥多看不懂    不妨碍点赞

Frank_yangkee 发表于 2025-4-14 08:44:28

感谢分享

随风飘~e族 发表于 2025-4-14 09:00:23

感谢大佬分享

Fsllin 发表于 2025-4-23 15:38:57

感谢分享:lol
就是后处理出来C会在XY下面一行,怎么改让C和XY同行呢?
页: [1]
查看完整版本: UG刮削算法