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

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

[复制链接]

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

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

admin 楼主

2018-6-20 18:50:29

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

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

x

2 w2 c% R: L/ Y% y$ sNX二次开发源码分享: 创建 镜像 体 & W7 _0 v, ^0 c

1 s$ Z6 n5 l% v3 b( N0 \5 [* E$ I默认的 JA 有个 bUG,这里看看怎么处理的!!0 y( L. `  t9 ^  b6 N' ]* ^, n: D
3 }$ K' B% f. d. m& |

# j9 C  }1 ], uint IR9027488::apply_cb()3 q6 r! \7 R) l
{( A4 K/ w5 k( q: u
    int errorCode = 0;
$ G4 P& x2 l9 C3 d2 F8 y5 }: o    try
( g' x9 @- f- P; N    {+ R7 E" ]$ T6 @' f; h& ^
        // AIW - Begin0 R  u! }: ^2 G
        tag_t body = selection0->GetSelectedObjects()[0]->Tag();% g) [& \$ T  i, e8 c( p7 X
        Plane *thePlane = dynamic_cast<Plane*>(plane0->GetSelectedObjects()[0]);
3 A+ Y" P' m3 k
' V/ @1 w- h/ A  d7 Y. }        NXOpen::Features::Feature *nullNXOpen_Features_Feature(NULL);# j: O) R0 D2 V9 K. e( }% w! d
        NXOpen::Features::DatumPlaneBuilder *datumPlaneBuilder1;
  ]. {$ n9 ~1 }4 s: _* J- e        datumPlaneBuilder1 = theSession->Parts()->Work()->Features()->CreateDatumPlaneBuilder(nullNXOpen_Features_Feature);+ f/ B) b# b: q& w7 V2 N
8 ~, j& ]$ O2 E7 b
        NXOpen::Plane *plane1;
1 A$ ^2 E- d" }        plane1 = datumPlaneBuilder1->GetPlane();
- q9 v2 I8 z5 E3 `5 s; V0 x8 ?# \" w9 d' Z8 a8 X' E; A. O" Q# z- S
        plane1->SynchronizeToPlane(thePlane);  // this is new in NX11.0.1
; i) ^% G/ }. @) |        plane1->Evaluate();
, q" ^, |2 q( f2 o3 K5 Y
0 g3 Y0 n3 {/ j$ P/ L2 [1 l        NXOpen::Features::Feature *feature1;/ r3 n* J8 Q0 O& ~, Z
        feature1 = datumPlaneBuilder1->CommitFeature();8 e! H" ]# W/ p1 T. r  R
- Q" T. a! i; @' d. l# v: C
        NXOpen::Features::DatumPlaneFeature *datumPlaneFeature1(dynamic_cast<NXOpen::Features::DatumPlaneFeature *>(feature1));! J! M* u' k9 h! V+ R+ O. P: `
        NXOpen::DatumPlane *datumPlane1;
' h# `* ?7 U6 h9 {* N# _        datumPlane1 = datumPlaneFeature1->DatumPlane();6 G9 j  T7 V2 F5 h8 U' c

. \8 c1 b; d3 B$ O, m  J& Y0 ~        tag_t mirror_feat;" G5 q" j1 s% K' _/ P* M
        errorCode = UF_initialize();
& k/ P& d5 i3 F9 N        if (errorCode != 0) throw NXOpen::NXException::Create(errorCode);
1 w  @5 {* j5 S, }& O' Y, t/ \- d- i. w' V" a( e$ ~: ]) S- i
        errorCode = UF_MODL_create_mirror_body(body, datumPlane1->Tag(), &mirror_feat);* r6 ]# \4 ~1 M6 U
        if (errorCode != 0) throw NXOpen::NXException::Create(errorCode);0 h+ j) T% `+ d2 I  k
        // AIW - End, G  \, g& I, E9 V1 a1 j* ~
    }6 G6 R& m( a* l" t" V- _% K7 y
    caTCh(exception& ex)
, G* v' @: t) B8 U1 ^    {1 k1 |# c! D7 V1 k9 e4 x% M1 N/ Z
        //---- Enter your exception handling code here -----
7 y  r( ?2 w9 i- y) E. {: U1 a' S        errorCode = 1;
& s8 b. v( t5 |  k6 y        IR9027488::theUI->NXMessageBox()->Show("Block Styler", NXOpen::NXMessageBox::DialogTypeError, ex.what());
: u( k2 @& Y! H- ^7 u8 r8 `    }8 R3 \* i. ^2 K
    return errorCode;% C2 t/ t0 h' a6 S
}* q9 h% Y6 h2 F. {' L; R

) g/ @; R3 V* d2 X  M
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了