找回密码
 立即注册

QQ登录

只需一步,快速开始

微信扫码登录

搜索
楼主: destiny0515

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

  [复制链接]

1

主题

2308

回帖

6552

积分

上尉

积分
6552
发表于 2024-4-19 14:42:02 | 显示全部楼层

感谢大师分享

2

主题

28

回帖

727

积分

四级士官

积分
727
发表于 2024-4-21 22:42:13 来自手机 | 显示全部楼层
求做好的后处理发一个。

2

主题

219

回帖

3242

积分

中尉

积分
3242
发表于 2024-8-31 11:24:48 | 显示全部楼层
学习?????????????????

0

主题

4

回帖

867

积分

五级士官

积分
867
发表于 2024-11-27 09:18:10 | 显示全部楼层
我用2312,后处理怎么读不到这些变量

1

主题

4

回帖

43

积分

列兵

积分
43
发表于 2025-7-6 21:51:28 | 显示全部楼层
可以分享,计算两个工件坐标,A轴的角度差值,后处理代码吗?

0

主题

50

回帖

90

积分

上等兵

积分
90
发表于 2026-6-21 09:36:02 | 显示全部楼层
谢谢楼主分享

0

主题

7

回帖

12

积分

列兵

积分
12
发表于 前天 21:13 | 显示全部楼层

global mom_blank_block_length
global mom_blank_block_width
global mom_blank_block_height
global mom_blank_block_center
global mom_msys_origin
global mom_msys_matrix



for {set i 0} {$i < 3} {incr i} {
    set blank_mcs($i) [expr $mom_msys_origin($i)-$mom_blank_block_center($i)]
}
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

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]
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]
set blank_mcs_center(2) [expr $blank_mcs_center(2) - $blank_zz]
#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 "%.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 "%.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 "%.2f" $blank_mcs_center(2)])"
}

完整代码  复制 粘贴到程序头就可以   还 不快谢谢我

0

主题

7

回帖

12

积分

列兵

积分
12
发表于 前天 21:16 | 显示全部楼层

global mom_blank_block_length
global mom_blank_block_width
global mom_blank_block_height
global mom_blank_block_center
global mom_msys_origin
global mom_msys_matrix



for {set i 0} {$i < 3} {incr i} {
    set blank_mcs($i) [expr $mom_msys_origin($i)-$mom_blank_block_center($i)]
}
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

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]
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]
set blank_mcs_center(2) [expr $blank_mcs_center(2) - $blank_zz]
#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 "%.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 "%.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 "%.2f" $blank_mcs_center(2)])"
}
完整无误的代码   快谢谢我

0

主题

7

回帖

12

积分

列兵

积分
12
发表于 前天 22:33 | 显示全部楼层
感谢感谢感谢感谢感谢感谢感谢感谢感谢感谢感谢感谢感谢感谢感谢感谢
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-7-22 17:45

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

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