PLM之家PLMHome-国产软件践行者

[二次开发源码] NX二次开发源码分享: 创建 镜像 体

[复制链接]

2020-9-26 21:49:38 2799 1

admin 发表于 2018-6-20 18:50:29 |阅读模式

admin 楼主

2018-6-20 18:50:29

请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!

您需要 登录 才可以下载或查看,没有账号?注册

x
8 P0 P4 V" X, m' i' \. r+ ~9 W' D8 W
NX二次开发源码分享: 创建 镜像 体
. X4 [8 N2 ?: a$ F1 U3 h6 O$ S, C6 u$ W$ l1 [; x
默认的 JA 有个 bUG,这里看看怎么处理的!!
% f1 E/ d( Q! l- s2 t# H2 f8 R/ o) C  E8 K% c6 s( k. N* `

1 Y5 Z6 c. {3 o+ o! I' Gint IR9027488::apply_cb()( w2 `6 T$ F) q, H( X" m- Z7 f
{, r# z' V1 P/ P/ ^( H) z
    int errorCode = 0;
6 C- B3 Y# K5 \) P6 v( I2 R    try6 Z. E8 d/ }' G) U, p
    {8 h" g3 \* l9 R1 F$ t# v- t
        // AIW - Begin
$ Z- h+ i2 Q% @$ L        tag_t body = selection0->GetSelectedObjects()[0]->Tag();+ L8 O! z+ e& {1 p: j3 j
        Plane *thePlane = dynamic_cast<Plane*>(plane0->GetSelectedObjects()[0]);
# N& ^! n# j- N: T0 J
7 P# {' b4 ^8 M# h: ~! y        NXOpen::Features::Feature *nullNXOpen_Features_Feature(NULL);
; m" x$ Q  S, u7 W! a2 C        NXOpen::Features::DatumPlaneBuilder *datumPlaneBuilder1;$ X& r9 @0 z3 X4 {: ?# M6 g% X
        datumPlaneBuilder1 = theSession->Parts()->Work()->Features()->CreateDatumPlaneBuilder(nullNXOpen_Features_Feature);
9 L  p2 S- N" u! u* y8 O: }) i9 S6 [: W9 p4 X
        NXOpen::Plane *plane1;  r4 T# F( Y, J) w
        plane1 = datumPlaneBuilder1->GetPlane();' T) c5 j! E# v: ?% v6 s" k; @  e

/ H) k( Z( ^8 ~        plane1->SynchronizeToPlane(thePlane);  // this is new in NX11.0.1  S6 K6 @% Q+ L! Z8 _# N
        plane1->Evaluate();( k4 k$ I& z& X: z4 {% p1 w0 _
+ ^5 u0 S* B# i* c1 h: Q# S
        NXOpen::Features::Feature *feature1;0 j# {% o6 v; w1 L
        feature1 = datumPlaneBuilder1->CommitFeature();
1 g# U1 A4 ~5 ?0 Z. l
; w: O3 O" C, c( q6 K8 V3 F; w        NXOpen::Features::DatumPlaneFeature *datumPlaneFeature1(dynamic_cast<NXOpen::Features::DatumPlaneFeature *>(feature1));
3 @' V8 x: }$ y7 f8 {- j        NXOpen::DatumPlane *datumPlane1;
, I" c6 u) G$ g        datumPlane1 = datumPlaneFeature1->DatumPlane();" [% q6 G! J" _( C" s

  k) R; p  B* b+ `! Z* X/ \0 i        tag_t mirror_feat;, E0 d; L! c) f! z$ }5 q% u, B' s
        errorCode = UF_initialize();
1 p4 W( g& a$ ]9 Z        if (errorCode != 0) throw NXOpen::NXException::Create(errorCode);
' A3 X# d" y: E% F$ p2 U" n  w) K' B
: M6 P  g2 V, i+ m! B& f6 X        errorCode = UF_MODL_create_mirror_body(body, datumPlane1->Tag(), &mirror_feat);
$ ~# [# I$ R# R, @        if (errorCode != 0) throw NXOpen::NXException::Create(errorCode);
) f* N: t6 H. I& a- L! J  w0 }        // AIW - End
( O6 p0 l# b4 f- S; Y. y  j; n    }
% E7 ]1 M! c. p0 Y, b' d    caTCh(exception& ex)1 h4 J. M3 Y* \
    {
1 d, r2 K5 h( d, Z9 c        //---- Enter your exception handling code here -----
4 Y; F+ e3 H+ B, T; x        errorCode = 1;
5 s: G5 |% [. e8 [) i/ K& {! g        IR9027488::theUI->NXMessageBox()->Show("Block Styler", NXOpen::NXMessageBox::DialogTypeError, ex.what());
1 ?0 d6 H+ X5 A6 V    }
- I1 _7 k- `! P. Q5 N2 q. N5 C    return errorCode;
. @' v5 E+ H& x" |2 @* s- P}# Y# i: r. z7 Z2 S9 X

( f3 H- w: s" r, f5 R8 ^- r4 e) D
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复

使用道具 举报

全部回复1

licxsw 发表于 2020-9-26 21:49:38

licxsw 沙发

2020-9-26 21:49:38

为什么不能用OPEN 直接做镜像 需要赚UF呢?代码中OPen的作用是用来获取基准面吗?
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复 支持 反对

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了