QQ登录

只需一步,快速开始

快捷登录

登录 或者 注册 请先

UG爱好者

查看: 14646|回复: 53
打印 上一主题 下一主题

[分享] 颠覆传统理念__NX1926新功能应用__读取毛坯数据并获取加工坐标系方位,含数学原理详解

  [复制链接]

版主

闪光的蜗牛

Rank: 10Rank: 10Rank: 10

18

主题

510

帖子

1万

积分

论坛元老

跳转到指定楼层
楼主
发表于 2020-6-24 20:03:54 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
大家好,我是闪光蜗牛。


受到前面安周版主的帖子启发——

海德汉原生态毛坯输出___NX1926新功能



从而可知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.   结果展示









程序中的中文是为了有更好的展示效果,如果受机床编码限制,也可用英文表示方位。

以上结果同样可以输出至excel表格程序单,txt或csv格式的文本程序单中。关于这些的做法,后面蜗牛会继续分享。


做一件对行业有贡献的事情。


最后感谢安周版主上期的无私分享,才有了本文的诞生。

同时向版主这样敢为人先,勇于突破桎梏的人们致敬。





评分

参与人数 7G币 +49 收起 理由
Iamhu + 3 大神,不会添加,怎么搞,想要跟你一样骚
lvqiang* + 3 不错,支持你!
树欲静而风不止* + 10 楼主是大神!膜拜!
zb1997* + 3 不错,支持你!
NX_4.0 + 10 分享加分!
ZhuaiGG + 10 原创加分!
安周 + 10 思路新奇,想法大胆,原创加分!

查看全部评分

有奖推广贴子: 

闪光的蜗牛
回复

使用道具 举报

少校

Rank: 6Rank: 6

2

主题

319

帖子

8443

积分
推荐
发表于 2021-7-20 21:37:15 | 只看该作者
按照大师给的代码做了一下,几个极端的点都能输出,但是其他点输出时blank_mcs_center值有问题,应该是“矩阵与转置矩阵的乘积”这个代码有问题,麻烦大概指点下代码的用法,我来看看是格式2有问题还是什么问题
回复 支持 1 反对 0

使用道具 举报

中校

Rank: 7Rank: 7Rank: 7

0

主题

108

帖子

1万

积分
推荐
发表于 2020-6-24 20:46:04 | 只看该作者
感谢大师分享经验
回复 支持 1 反对 0

使用道具 举报

版主

Rank: 10Rank: 10Rank: 10

11

主题

161

帖子

3001

积分

优秀版主论坛元老

沙发
发表于 2020-6-24 20:35:13 | 只看该作者
本帖最后由 安周 于 2020-6-24 20:39 编辑

感谢大师分享经验,需要你这种分享精神会更精彩!!
回复 支持 反对

使用道具 举报

头像被屏蔽

六级士官

Rank: 4

4

主题

126

帖子

1822

积分
板凳
发表于 2020-6-24 20:40:03 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

中校

Rank: 7Rank: 7Rank: 7

83

主题

1117

帖子

1万

积分
5#
发表于 2020-6-24 21:04:04 | 只看该作者
大师怎么用的,一下复制下后处理去报警
回复 支持 反对

使用道具 举报

上尉

Rank: 6Rank: 6

1

主题

328

帖子

6525

积分
7#
发表于 2020-6-24 21:20:48 来自手机 | 只看该作者
楼主和版主一样强悍:kaixin:
回复 支持 反对

使用道具 举报

上尉

Rank: 6Rank: 6

6

主题

382

帖子

5327

积分
8#
发表于 2020-6-24 21:32:53 | 只看该作者
感谢大师分享经验,需要你这种分享精神会更精彩!
回复 支持 反对

使用道具 举报

爱好者VIP1

Rank: 5Rank: 5

22

主题

731

帖子

1万

积分

VIP会员

9#
发表于 2020-6-24 21:44:19 | 只看该作者
感谢大师分享经验,需要你这种分享精神会更精彩!!
回复 支持 反对

使用道具 举报

少将

Rank: 8Rank: 8

3

主题

414

帖子

1万

积分
10#
发表于 2020-6-24 21:49:06 | 只看该作者
感谢大师分享!支持蜗牛哥!
回复 支持 反对

使用道具 举报

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

本版积分规则

 
 
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-11-14 14:25

返回顶部