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

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

[复制链接]

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

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

admin 楼主

2018-6-20 18:50:29

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

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

x

6 Q/ b$ _8 H" A' A. @NX二次开发源码分享: 创建 镜像 体 ; t6 e7 q0 c8 B: e- b: N$ v4 G. e3 U

9 K4 x& @* T. T5 B默认的 JA 有个 bUG,这里看看怎么处理的!!6 W! }4 A0 w+ |
3 Z+ l* I/ f0 x3 D

5 z. E6 v5 f9 U4 E6 m9 B3 G! uint IR9027488::apply_cb()! @: |, V3 R6 H; P
{
0 l7 L6 I" N1 g* k6 H    int errorCode = 0;. E. ]3 s* m+ ?: u- h- q8 q0 }; v
    try! C) s# X& V& d1 m$ ?
    {
3 c! D1 b& B& j- v0 C        // AIW - Begin
% h; T" X' [& I0 R( p        tag_t body = selection0->GetSelectedObjects()[0]->Tag();1 [5 ]# }# B- O4 D6 j; z
        Plane *thePlane = dynamic_cast<Plane*>(plane0->GetSelectedObjects()[0]);
- W8 f4 T8 Q5 T: }" a4 b- c3 w5 d6 N. M' p
        NXOpen::Features::Feature *nullNXOpen_Features_Feature(NULL);
" U$ g8 m2 l( X- \9 E- R/ f        NXOpen::Features::DatumPlaneBuilder *datumPlaneBuilder1;
% L, Q1 ]( c# V, A        datumPlaneBuilder1 = theSession->Parts()->Work()->Features()->CreateDatumPlaneBuilder(nullNXOpen_Features_Feature);
1 K& _8 E" J! F* p
- p2 b) V% B7 ?0 {        NXOpen::Plane *plane1;
9 y- H4 r8 s; t6 A        plane1 = datumPlaneBuilder1->GetPlane();% s  c8 o! R& Q4 q& w9 u
1 H0 I8 p9 W/ E8 g( U
        plane1->SynchronizeToPlane(thePlane);  // this is new in NX11.0.1. b* P) \: I1 s/ k
        plane1->Evaluate();2 s  t" N! W: Y, z1 O1 j

$ h/ i9 f) S1 u% ~# k# n6 B        NXOpen::Features::Feature *feature1;
# m9 t0 d* ~2 q2 R( j( b        feature1 = datumPlaneBuilder1->CommitFeature();
7 C' a2 n& l9 T/ v- C! I8 e
* w7 Q! H2 [* d' C( l* k" n4 v        NXOpen::Features::DatumPlaneFeature *datumPlaneFeature1(dynamic_cast<NXOpen::Features::DatumPlaneFeature *>(feature1));
( G: v1 Y( Q2 Y5 s1 k& T        NXOpen::DatumPlane *datumPlane1;7 @( ]! ]7 f7 X# ?! A- U) h
        datumPlane1 = datumPlaneFeature1->DatumPlane();; X1 E$ n* e  ]9 a; r1 q
' T3 h. O2 ?2 c. D% R/ X; ^
        tag_t mirror_feat;
! x* K$ U2 {5 c# F5 j% ~        errorCode = UF_initialize();  F" ~0 W0 {/ Y8 n, i0 F
        if (errorCode != 0) throw NXOpen::NXException::Create(errorCode);* Y: Q! O: V7 ~& ^# @

; Z3 q# l; Z* o) m+ N        errorCode = UF_MODL_create_mirror_body(body, datumPlane1->Tag(), &mirror_feat);
1 X) z& Y2 o. R  V6 e; u2 Z4 G        if (errorCode != 0) throw NXOpen::NXException::Create(errorCode);- R) D+ l1 `4 E
        // AIW - End9 m% U, A: S: d/ h" m7 z$ M
    }" U+ U% [6 v4 N/ ?6 B- X$ u
    caTCh(exception& ex)
; R+ S- A6 k. b0 i/ R/ P" r& f    {3 n& V! M+ w1 m. q9 M% i( t. e
        //---- Enter your exception handling code here -----
/ X* g! Y/ q2 Y" E9 q' q, N# p        errorCode = 1;
: n5 s( J. ]) {; G4 j% C        IR9027488::theUI->NXMessageBox()->Show("Block Styler", NXOpen::NXMessageBox::DialogTypeError, ex.what());+ ?  u' V* {6 f$ a/ X; a( t% g
    }% _! v+ L; ^4 o8 \/ n# K! E0 e1 X: A
    return errorCode;( B/ ~/ P: H  s+ K2 X9 x/ y
}
% T8 p9 E. C+ ^5 e" d, T- U% {, z4 {( N- t  o" z7 d0 o2 N0 E" j7 t
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了