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

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

[复制链接]

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

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

admin 楼主

2018-6-20 18:50:29

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

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

x
  [/ G4 x; F- e0 u
NX二次开发源码分享: 创建 镜像 体
1 I; o, Y* |% C# ]0 K, L/ @, X8 t. j/ v
默认的 JA 有个 bUG,这里看看怎么处理的!!
* P) I+ U4 M% A0 L" g+ I. @
  s4 @9 I% }: e
- Y  I1 {- ^. V9 X6 @# D% F+ {! @1 gint IR9027488::apply_cb()
6 J6 x8 V' z5 L& H% V{( O+ s4 h8 K/ R, N7 ?
    int errorCode = 0;
% l  p6 M$ M' I& d8 _    try
# x7 g, V! R/ `. M    {7 P6 o6 T" H5 q5 M( b
        // AIW - Begin0 a  Y, e4 N1 @/ W$ K
        tag_t body = selection0->GetSelectedObjects()[0]->Tag();
+ e, m) V1 S# Q4 r% b        Plane *thePlane = dynamic_cast<Plane*>(plane0->GetSelectedObjects()[0]);0 ^7 B! U7 _/ N0 T
, a6 z1 j& K. k3 X* s
        NXOpen::Features::Feature *nullNXOpen_Features_Feature(NULL);
  a9 f6 I- W8 ]( e1 Z! O        NXOpen::Features::DatumPlaneBuilder *datumPlaneBuilder1;
! g+ _/ F' B2 {0 J# l        datumPlaneBuilder1 = theSession->Parts()->Work()->Features()->CreateDatumPlaneBuilder(nullNXOpen_Features_Feature);  @3 k- B7 w% u# d  G6 V! a

3 o3 N4 R& a+ F: K1 b        NXOpen::Plane *plane1;
! A9 J* k* t% q9 r$ q2 n, h- F0 ?        plane1 = datumPlaneBuilder1->GetPlane();# s- X, h" g3 [, O

' v8 j% y* M+ m+ F+ l! N: h        plane1->SynchronizeToPlane(thePlane);  // this is new in NX11.0.1
8 Q" M* B0 V1 s6 R        plane1->Evaluate();; ^7 D+ x, G& Q8 D
& y8 E% e8 N' n$ K: i/ N& `
        NXOpen::Features::Feature *feature1;0 a, [7 ]: Q+ x+ }4 h2 Y
        feature1 = datumPlaneBuilder1->CommitFeature();
. t; A$ p: q+ y% I' d" q! K) }0 [# v& U
        NXOpen::Features::DatumPlaneFeature *datumPlaneFeature1(dynamic_cast<NXOpen::Features::DatumPlaneFeature *>(feature1));* c% N2 s+ W1 R& D0 p7 N! d& |
        NXOpen::DatumPlane *datumPlane1;8 x0 S( m( b5 `" b" _! B; ~
        datumPlane1 = datumPlaneFeature1->DatumPlane();7 ?& b/ G9 b/ f' N( A
3 y" Q2 L5 T% ]5 n- B- i1 F4 C/ Q
        tag_t mirror_feat;
; C% |5 a' u9 ]" X        errorCode = UF_initialize();
) O, c/ |0 s0 a, |# c% v9 D! Y        if (errorCode != 0) throw NXOpen::NXException::Create(errorCode);
1 A9 D( o9 i# \1 S, @' M
4 y9 @$ `- P% y& W; S        errorCode = UF_MODL_create_mirror_body(body, datumPlane1->Tag(), &mirror_feat);
: i, w9 r: v, e8 x6 ]/ P        if (errorCode != 0) throw NXOpen::NXException::Create(errorCode);
% p! R* |/ {$ k0 F) S) i9 c        // AIW - End
! e4 q& q0 P! @4 q2 e    }
: ~! \4 D0 v3 k5 z  c% a8 d  ]    caTCh(exception& ex)
. G) q. s& F! V- R5 P+ `6 |$ H4 D% A    {. w% V) F9 U8 i+ M8 v' ]
        //---- Enter your exception handling code here -----
8 m8 R8 ]. p% C        errorCode = 1;
$ B5 ~2 t$ v' y, H1 M: T8 p3 Y        IR9027488::theUI->NXMessageBox()->Show("Block Styler", NXOpen::NXMessageBox::DialogTypeError, ex.what());7 o+ y2 S. e4 n9 P
    }/ h, O8 I! w' y# ]" p4 R: x
    return errorCode;6 g/ `$ M0 k0 B, s/ u) x
}3 M5 b: O) c& u& x" [
% p: e/ R" Q- h8 e7 x* `
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了