卧龙寺 发表于 2024-8-29 17:29:11

这个命令怎么写?自己搞一直报错

从而可知NX1926的后置处理已经可以获取毛坯几何体的相关参数,比如长,宽,高以及毛坯在空间内的姿态等。

蜗牛在想我们获取了上述信息之后,再结合已有的工件坐标系(MCS-Machining coordinate system)的相关参数,便可以计算出MCS相对于毛坯的位置关系,从而能更直接的从加工程序中体现工件坐标系的位置。实现这样的目的后,可以降低对于外挂等辅助工具的依赖,方便查看加工坐标,提高调机效率,降低失误风险,缩短加工周期。

那具体应该怎么做呢?跟随蜗牛的思路一点一点看吧——

1.   准备工作
确认使用的NX版本为1926,并且在”实用工具”——“特征开关”中开启 [启用毛坯体或组件的创建]
https://www.ugsnx.com/data/attachment/forum/202006/24/200130cakuumzakgxvxwg8.png
新建几何体,选择部件,选择毛坯,创建刀轨。
https://www.ugsnx.com/data/attachment/forum/202006/24/200131trn4qmol411447c4.png

2.   数学过程
2.1计算MCS相对于毛坯中心在绝对坐标系(ACS-Absolute coordinatesystem)中的位置关系
for {set i 0} {$i < 3} {incr i} {
    set blank_mcs($i)
}
由此可得到blank_mcs(0),blank_mcs(1) ,blank_mcs(2)即MCS相对毛坯在ACS中的XYZ的向量。


2.2将以上结果投影至MCS,得出工件坐标系原点在MCS中相对于毛坯中心的位置关系
通过矩阵与转置矩阵的乘积即可得出结果:
https://www.ugsnx.com/data/attachment/forum/202006/29/132136e6yy57q7n7yfh6g7.png
proc MTX3_vec_multiply {u m w} {
    upvar $u ul; upvar $m ml; upvar $w wl
    set wl(0)
    set wl(1)
    set wl(2)
}
使用以上过程可以简化运算部分的代码。没有了解过的读者可以保存这个过程,在进行坐标转换时十分便捷。
MTX3_vec_multiply blank_mcs mom_msys_matrix blank_mcs_center
得到的blank_mcs_center(0),blank_mcs_center(1),blank_mcs_center(2)即工件坐标系原点相对于毛坯中心在MCS中的XYZ向量。


2.3毛坯长宽高除以2,使其2等分
set blank_xx
set blank_yy
set blank_zz


2.4求出毛坯不同方向的偏置值
set blank_x_left
set blank_y_front
set fol_height


2.5Z轴以顶面为参考,减去毛坯高的一半
set blank_mcs_center(2)


2.6对于上述引用的变量的注释:
mom_blank_block_length      毛坯的长
mom_blank_block_width      毛坯的宽
mom_blank_block_height      毛坯的高
mom_blank_block_center       毛坯中心相对于ACS的位置
mom_msys_origin                  MCS原点相对于ACS的位置
mom_msys_matrix               MCS姿态的9值矩阵

3.   输出工件坐标系相对于毛坯的位置
#X位置
if { } {
    MOM_output_text "(X分中)"
} elseif {} {
    MOM_output_text "(X左端为零)"
} elseif {} {
    MOM_output_text "(X右端为零)"
} else {
    MOM_output_text "(X分中偏移)"
}


#Y位置
if { } {
       MOM_output_text "(Y分中)"
} elseif {} {
    MOM_output_text "(Y下端为零)"
} elseif {} {
    MOM_output_text "(Y上端为零)"
} else {
    MOM_output_text "(Y分中偏移)"
}


#Z位置
if { } {
    MOM_output_text "(Z顶面为零)"
} elseif {} {
    MOM_output_text "(Z底面为零)"
} else {
    MOM_output_text "(Z顶面偏移)"
}

4.   结果展示
https://www.ugsnx.com/data/attachment/forum/202006/24/200131t2ph5knthmomppmk.png

https://www.ugsnx.com/data/attachment/forum/202006/24/200131cpsyrrty24aatma4.png

https://www.ugsnx.com/data/attachment/forum/202006/24/200131bj3m3jgx8nwj8fjz.png

张思颖 发表于 2024-8-29 19:31:24

看的一脸懵逼

铁臂阿童木* 发表于 2024-8-29 20:07:26

看的一脸懵逼

topckey 发表于 2024-8-30 08:14:03

看完,一脸懵{:dizzy:}

32212110 发表于 2024-8-30 15:05:40


看的一脸懵逼,但你字多,赞一个{:lol:}

ping3721 发表于 2024-8-30 16:42:35

看的一脸懵逼

why6666133 发表于 2024-8-30 20:34:39

这个值得点赞

Nicholasong 发表于 2024-9-23 10:25:55

看的一脸懵逼{:titter:}{:titter:}{:titter:}

18639046007 发表于 2024-9-24 08:47:38

这个是求助还是分享啊

刘雅敏 发表于 2024-9-24 14:57:38

看的一脸懵逼
页: [1]
查看完整版本: 这个命令怎么写?自己搞一直报错