找回密码
 立即注册

QQ登录

只需一步,快速开始

微信扫码登录

搜索
查看: 15265|回复: 54

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

  [复制链接]

18

主题

490

回帖

1万

积分

版主

积分
11767

论坛元老

发表于 2020-6-24 20:03:54 | 显示全部楼层 |阅读模式
大家好,我是闪光蜗牛。


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

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



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


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


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


1.   准备工作

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

01.png

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

02.png


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中相对于毛坯中心的位置关系

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

1.png

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.   结果展示

03.png


04.png


05.png



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

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


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


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

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





评分

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

查看全部评分

2

主题

317

回帖

8582

积分

少校

积分
8582
发表于 2021-7-20 21:37:15 | 显示全部楼层
按照大师给的代码做了一下,几个极端的点都能输出,但是其他点输出时blank_mcs_center值有问题,应该是“矩阵与转置矩阵的乘积”这个代码有问题,麻烦大概指点下代码的用法,我来看看是格式2有问题还是什么问题

0

主题

108

回帖

1万

积分

中校

积分
12548
发表于 2020-6-24 20:46:04 | 显示全部楼层
感谢大师分享经验{}

11

主题

150

回帖

3022

积分

版主

积分
3022

优秀版主论坛元老

发表于 2020-6-24 20:35:13 | 显示全部楼层
本帖最后由 安周 于 2020-6-24 20:39 编辑

感谢大师分享经验,需要你这种分享精神会更精彩!!

4

主题

121

回帖

1822

积分

六级士官

积分
1822
发表于 2020-6-24 20:40:03 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

83

主题

1033

回帖

1万

积分

中校

积分
12318
发表于 2020-6-24 21:04:04 | 显示全部楼层
大师怎么用的,一下复制下后处理去报警

1

主题

394

回帖

1万

积分

中校

积分
10061
发表于 2020-6-24 21:07:32 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

1

主题

327

回帖

6529

积分

上尉

积分
6529
发表于 2020-6-24 21:20:48 来自手机 | 显示全部楼层
楼主和版主一样强悍:kaixin:

6

主题

374

回帖

5327

积分

上尉

积分
5327
发表于 2020-6-24 21:32:53 | 显示全部楼层
感谢大师分享经验,需要你这种分享精神会更精彩!

22

主题

711

回帖

1万

积分

爱好者VIP1

积分
16541

VIP会员

发表于 2020-6-24 21:44:19 | 显示全部楼层
感谢大师分享经验,需要你这种分享精神会更精彩!!{:smile:}

3

主题

408

回帖

1万

积分

少将

积分
18422
发表于 2020-6-24 21:49:06 | 显示全部楼层
感谢大师分享!支持蜗牛哥!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

咨询QQ:1359218528|发帖须知!|Archiver|手机版|小黑屋|UG爱好者论坛 ( 京ICP备10217105号-2 )

GMT+8, 2025-1-8 11:16

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表