PLM之家PLMHome-工业软件与AI结合践行者

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

[复制链接]

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

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

admin 楼主

2018-6-20 18:50:29

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

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

x
  q. k" Z3 R. ^" Z5 Y
NX二次开发源码分享: 创建 镜像 体
  }6 D; z9 k; [, }. J; ^( c6 N' B7 Z2 B6 R
默认的 JA 有个 bUG,这里看看怎么处理的!!
; j  o" Y7 x& f
0 q6 F0 F% @6 x2 M8 U. X; z
' I5 ~' l5 x5 k5 p9 F* R* zint IR9027488::apply_cb()
; o" G/ q7 L/ z$ }8 ^% y{
" m- G4 F& I: d: n4 ^$ q    int errorCode = 0;: F' K& N& M. a4 K7 E5 }* h
    try
) E- W" N- a0 M* N+ `1 _    {
. y4 \- I( i2 i1 M# e  G        // AIW - Begin
: ^# Z" |4 t! O  a) t3 K        tag_t body = selection0->GetSelectedObjects()[0]->Tag();
1 {2 U" C, B0 y; i        Plane *thePlane = dynamic_cast<Plane*>(plane0->GetSelectedObjects()[0]);+ x. C/ q' X1 l4 X$ r

$ R2 E& {" I# }+ f- f        NXOpen::Features::Feature *nullNXOpen_Features_Feature(NULL);/ B' x* t0 I( B2 G9 _5 Y$ @2 h  c
        NXOpen::Features::DatumPlaneBuilder *datumPlaneBuilder1;
2 |4 q% s. X' L0 Z: P2 t5 }        datumPlaneBuilder1 = theSession->Parts()->Work()->Features()->CreateDatumPlaneBuilder(nullNXOpen_Features_Feature);
& A! v/ s. y" ~: `* n0 h- \/ n5 j" y# p6 h6 v
        NXOpen::Plane *plane1;
( U. Q2 c( p* u6 I& a1 M$ ]5 C# r        plane1 = datumPlaneBuilder1->GetPlane();
, J8 H* g7 r/ j. b( {% m6 T* }+ J) l) K$ h
        plane1->SynchronizeToPlane(thePlane);  // this is new in NX11.0.15 H( h- K; p7 Y1 F. I5 f
        plane1->Evaluate();
( a4 w$ I! }' v# C4 B1 E* k. W: L. B8 y  N' l) M
        NXOpen::Features::Feature *feature1;
3 l9 D- r' Y, s& h7 U        feature1 = datumPlaneBuilder1->CommitFeature();
0 X, w  P  U" L' p% U& V  w3 w  e3 B$ S0 U8 p$ d
        NXOpen::Features::DatumPlaneFeature *datumPlaneFeature1(dynamic_cast<NXOpen::Features::DatumPlaneFeature *>(feature1));
$ h6 j& D6 A5 v, W$ Z0 v# k        NXOpen::DatumPlane *datumPlane1;
" I- T( l7 |9 y% c% W3 m" E        datumPlane1 = datumPlaneFeature1->DatumPlane();
$ v( Z5 I. W; a. }- O. I
) v! H. m, N: f8 H- O2 n4 A1 e3 B        tag_t mirror_feat;& u+ u8 d$ B9 u7 H1 ^" g) Q
        errorCode = UF_initialize();/ o$ n/ n0 q9 B7 Y% Q* u, |
        if (errorCode != 0) throw NXOpen::NXException::Create(errorCode);0 ]: v& t4 i! b' K

3 k+ H8 E3 H, @9 W' n% r        errorCode = UF_MODL_create_mirror_body(body, datumPlane1->Tag(), &mirror_feat);) h" E) k' M1 {6 F- w0 C
        if (errorCode != 0) throw NXOpen::NXException::Create(errorCode);  D: v& Z; n  q4 U. M3 E
        // AIW - End
, [4 c& q) {3 {7 }- L+ S; q    }! G2 b$ e4 O! D6 O0 ~7 z
    caTCh(exception& ex)
7 ^' o, _2 ]8 _6 y% x    {! d4 ?- N, @- G
        //---- Enter your exception handling code here -----
; G6 c! b! v( ^+ r        errorCode = 1;' [% ]8 U; T! K6 n
        IR9027488::theUI->NXMessageBox()->Show("Block Styler", NXOpen::NXMessageBox::DialogTypeError, ex.what());
$ ^: p) B% A# ?- X9 b8 d" I- k    }
" `% w' @8 I- U! K2 X    return errorCode;& o* S7 Y, h) H
}
) Y! P1 G( N4 h' U% I1 L: O& r+ x: H0 I# o: u4 V  f
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了