QQ登录

只需一步,快速开始

快捷登录

登录 或者 注册 请先

UG爱好者

查看: 315|回复: 6
打印 上一主题 下一主题

[求助] 这个命令怎么写?自己搞一直报错

[复制链接]

中尉

Rank: 5Rank: 5

1

主题

19

帖子

3897

积分
跳转到指定楼层
楼主
发表于 2024-8-29 17:29:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
从而可知NX1926的后置处理已经可以获取毛坯几何体的相关参数,比如长,宽,高以及毛坯在空间内的姿态等。


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


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


1.   准备工作

确认使用的NX版本为1926,并且在”实用工具”——“特征开关”中开启 [启用毛坯体或组件的创建]


新建几何体,选择部件,选择毛坯,创建刀轨。



2.   数学过程

2.1计算MCS相对于毛坯中心在绝对坐标系(ACS-Absolute coordinatesystem)中的位置关系

for {set i 0} {$i < 3} {incr i} {

    set blank_mcs($i) [expr $mom_msys_origin($i)-$mom_blank_block_center($i)]

}

由此可得到blank_mcs(0),blank_mcs(1) ,blank_mcs(2)即MCS相对毛坯在ACS中的XYZ的向量。



2.2将以上结果投影至MCS,得出工件坐标系原点在MCS中相对于毛坯中心的位置关系

通过矩阵与转置矩阵的乘积即可得出结果:


proc MTX3_vec_multiply {u m w} {

    upvar $u ul; upvar $m ml; upvar $w wl

    set wl(0) [expr ($ul(0) * $ml(0) + $ul(1) *$ml(1) + $ul(2) *$ml(2))]

    set wl(1) [expr ($ul(0) * $ml(3) + $ul(1) *$ml(4) + $ul(2) *$ml(5))]

    set wl(2) [expr ($ul(0) * $ml(6) + $ul(1) *$ml(7) + $ul(2) *$ml(8))]

}

使用以上过程可以简化运算部分的代码。没有了解过的读者可以保存这个过程,在进行坐标转换时十分便捷。

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 [expr $mom_blank_block_length /2]

set blank_yy [expr $mom_blank_block_width /2]

set blank_zz [expr $mom_blank_block_height /2]



2.4求出毛坯不同方向的偏置值

set blank_x_left [expr -1*$blank_xx]

set blank_y_front [expr -1*$blank_yy]

set fol_height [expr -1*$mom_blank_block_height]



2.5Z轴以顶面为参考,减去毛坯高的一半

set blank_mcs_center(2) [expr $blank_mcs_center(2) - $blank_zz]



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 { [EQ_is_zero $blank_mcs_center(0)] } {

    MOM_output_text "(X分中)"

} elseif {[EQ_is_equal $blank_mcs_center(0) $blank_x_left]} {

    MOM_output_text "(X左端为零)"

} elseif {[EQ_is_equal $blank_mcs_center(0) $blank_xx]} {

    MOM_output_text "(X右端为零)"

} else {

    MOM_output_text "(X分中偏移[format%0.2f $blank_mcs_center(0)])"

}



#Y位置

if { [EQ_is_zero $blank_mcs_center(1)] } {

       MOM_output_text "(Y分中)"

} elseif {[EQ_is_equal $blank_mcs_center(1) $blank_y_front]} {

    MOM_output_text "(Y下端为零)"

} elseif {[EQ_is_equal $blank_mcs_center(1) $blank_yy]} {

    MOM_output_text "(Y上端为零)"

} else {

    MOM_output_text "(Y分中偏移[format%0.2f $blank_mcs_center(1)])"

}



#Z位置

if { [EQ_is_zero $blank_mcs_center(2)] } {

    MOM_output_text "(Z顶面为零)"

} elseif {[EQ_is_equal $blank_mcs_center(2) $fol_height]} {

    MOM_output_text "(Z底面为零)"

} else {

    MOM_output_text "(Z顶面偏移[format%0.2f $blank_mcs_center(2)])"

}


4.   结果展示






有奖推广贴子: 

回复

使用道具 举报

中尉

Rank: 5Rank: 5

17

主题

211

帖子

4374

积分
沙发
发表于 2024-8-29 19:31:24 | 只看该作者
看的一脸懵逼
回复 支持 反对

使用道具 举报

上校

Rank: 7Rank: 7Rank: 7

80

主题

1645

帖子

1万

积分
板凳
发表于 2024-8-29 20:07:26 | 只看该作者
看的一脸懵逼
回复 支持 反对

使用道具 举报

上将

Rank: 10Rank: 10Rank: 10

62

主题

3895

帖子

3万

积分

论坛元老

地板
发表于 2024-8-30 08:14:03 | 只看该作者
看完,一脸懵
回复 支持 反对

使用道具 举报

少尉

Rank: 5Rank: 5

21

主题

335

帖子

2083

积分
5#
发表于 2024-8-30 15:05:40 | 只看该作者

看的一脸懵逼,但你字多,赞一个
回复 支持 反对

使用道具 举报

中校

Rank: 7Rank: 7Rank: 7

5

主题

719

帖子

1万

积分
6#
发表于 2024-8-30 16:42:35 | 只看该作者
看的一脸懵逼
回复 支持 反对

使用道具 举报

上尉

Rank: 6Rank: 6

60

主题

1177

帖子

6725

积分
7#
发表于 2024-8-30 20:34:39 | 只看该作者
这个值得点赞
V:whyaks专业宏后处理定制
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

 
 
QQ:1359218528
工作时间:
9:00-17:00
 
微信公众号
手机APP
机械社区
微信小程序

手机版|UG爱好者论坛 ( 京ICP备10217105号-2 )    论坛管理员QQ:1359218528

本站信息均由会员发表,不代表本网站立场,如侵犯了您的权利请联系管理员,邮箱:1359218528@qq.com  

Powered by UG爱好者 X3.2  © 2001-2014 Comsenz Inc. GMT+8, 2024-9-10 00:44

返回顶部