求助3+2后处理用局部旋转坐标系如何获取相对于主坐标系角度
现在用的用一个主坐标能正常输出,用局部旋转坐标系AC都是0,有大神能指点一下吗
{:smile:} 楼主解决了么,我也是遇到这个问题。a轴输出180°的话,数值和我的坐标系不对。 什么俏如来 发表于 2022-11-3 22:34
楼主解决了么,我也是遇到这个问题。a轴输出180°的话,数值和我的坐标系不对。
没有解决,我去看了你的问题,和我的不太一样 用下面的代码可以取得主坐标系下的A,C的角度值。
# ==========================================================
# 计算主坐标系下的 A/C 角度并输出 G90 G54 G00 A.. C..
# ==========================================================
set real_A 0.0
set real_C 0.0
if {} {
# 局部旋转坐标系:真实角度保存在 mom_init_pos 中
if {} { set real_A $mom_init_pos(3) }
if {} { set real_C $mom_init_pos(4) }
} else {
# AUTO_3D(倾斜工作平面):真实角度就是 mom_out_angle_pos
if {} { set real_A $mom_out_angle_pos(0) }
if {} { set real_C $mom_out_angle_pos(1) }
}
# 使用 ROTSET 格式化(限制在轴行程范围、处理方向符号)
if {!} { set mom_prev_out_angle_pos(0) 0.0 }
if {!} { set mom_prev_out_angle_pos(1) 0.0 }
set raw_A [ROTSET $real_A $mom_prev_out_angle_pos(0) \
$mom_kin_4th_axis_direction $mom_kin_4th_axis_leader \
mom_sys_leader(fourth_axis) \
$mom_kin_4th_axis_min_limit $mom_kin_4th_axis_max_limit]
set raw_C [ROTSET $real_C $mom_prev_out_angle_pos(1) \
$mom_kin_5th_axis_direction $mom_kin_5th_axis_leader \
mom_sys_leader(fifth_axis) \
$mom_kin_5th_axis_min_limit $mom_kin_5th_axis_max_limit]
# 保留三位小数
set out_A
set out_C
# 取当前坐标系代码(G54/G55/...)
set mcs_str ""
if {} {
set mcs_str "G${tmp_mcs}"
}
# 输出:G90 切回绝对模式 + 坐标系 + G00 定位 A/C
MOM_output_literal "G90 ${mcs_str} G00 A${out_A} C${out_C}"
# 更新 prev(保存原始数值,供下次 ROTSET 连续性判断)
set mom_prev_out_angle_pos(0) $raw_A
set mom_prev_out_angle_pos(1) $raw_C
}
# ==========================================================
页:
[1]