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

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

[复制链接]

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

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

admin 楼主

2018-6-20 18:50:29

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

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

x
' ]4 b8 G7 m7 q$ Z
NX二次开发源码分享: 创建 镜像 体 9 \; z  z' p3 w3 `7 L
. t5 m. g: G8 V. i/ t
默认的 JA 有个 bUG,这里看看怎么处理的!!
* E- w  U5 U: u: _3 B: R- F/ H' V. G9 R+ I* E, G
9 r# D9 x4 k9 M
int IR9027488::apply_cb()
: y7 Q8 {+ ]  N1 o3 `{
+ m1 J8 Q6 b( K    int errorCode = 0;
2 _( y/ Z/ }" U: _6 O    try
& j3 S. g  r2 C0 d; x3 \) {+ T    {9 Q3 O! w6 {) e, ~( z4 r) ^! X% s7 d
        // AIW - Begin
& J( n7 s, Q& E5 R, A* A        tag_t body = selection0->GetSelectedObjects()[0]->Tag();4 {- ?7 U+ m" @
        Plane *thePlane = dynamic_cast<Plane*>(plane0->GetSelectedObjects()[0]);
$ p( i: r; p9 v  a1 p
, ?/ n5 E0 _" O! ^9 t        NXOpen::Features::Feature *nullNXOpen_Features_Feature(NULL);: J- j2 k9 {$ U9 K$ X* m' V5 l
        NXOpen::Features::DatumPlaneBuilder *datumPlaneBuilder1;
3 I4 g( M: e2 x0 G6 W; l  r2 Q6 k        datumPlaneBuilder1 = theSession->Parts()->Work()->Features()->CreateDatumPlaneBuilder(nullNXOpen_Features_Feature);& T6 H% E# ?7 q7 ?3 L

, u- o6 B: M( B+ x  o        NXOpen::Plane *plane1;8 C6 M- ?0 j# H, m' g
        plane1 = datumPlaneBuilder1->GetPlane();9 c6 D6 T" w+ e2 m& k

4 I5 o; e* F! A# ]# D3 D" f        plane1->SynchronizeToPlane(thePlane);  // this is new in NX11.0.1% S& o. V4 o. ]' Y( Q' F# u* G8 @) b
        plane1->Evaluate();  ]2 X8 t) l$ ~: k) S/ K
; U" l4 V# H+ {3 Y" G, N
        NXOpen::Features::Feature *feature1;: g  T/ A* o+ J1 o4 |( A4 }7 _
        feature1 = datumPlaneBuilder1->CommitFeature();- D' H8 b7 R" @

2 n5 ~. t* W* x& C6 ]1 {" `2 n6 D        NXOpen::Features::DatumPlaneFeature *datumPlaneFeature1(dynamic_cast<NXOpen::Features::DatumPlaneFeature *>(feature1));
' L% z) B) [, C$ i, }/ g3 H% s* p        NXOpen::DatumPlane *datumPlane1;
8 X( u. \3 Y7 o/ W1 w2 O% \+ W7 a        datumPlane1 = datumPlaneFeature1->DatumPlane();
6 K0 R. A0 R6 h% I' b
; m; V6 y" n' k        tag_t mirror_feat;
* y2 }3 X5 Y( L% C* i% L9 E        errorCode = UF_initialize();
1 n4 X- A+ u$ \2 M        if (errorCode != 0) throw NXOpen::NXException::Create(errorCode);, t1 L! ]7 P0 ]& E  V7 S
% q+ ^# G# ^# q- {# s& J% Q: l
        errorCode = UF_MODL_create_mirror_body(body, datumPlane1->Tag(), &mirror_feat);
+ r4 [, ~2 h3 N- R        if (errorCode != 0) throw NXOpen::NXException::Create(errorCode);
2 W9 J. w" m5 T, y9 g        // AIW - End
$ O" `1 Q. a: y( S+ H; ~9 h    }; P4 O0 {* [/ d9 X+ s+ I2 L
    caTCh(exception& ex)
5 ]3 @- P, }* A9 }, g% M9 N: ?5 ~  `' |    {
1 Q  u( C) [1 N* [' \8 T5 L        //---- Enter your exception handling code here -----$ L7 [* k8 z# Q1 L! J0 t0 H
        errorCode = 1;' C6 L" K& F" C+ o0 h
        IR9027488::theUI->NXMessageBox()->Show("Block Styler", NXOpen::NXMessageBox::DialogTypeError, ex.what());, @- s) i8 {0 ^2 e
    }! N/ L2 M2 q6 a8 u) o3 F
    return errorCode;7 G9 x0 j7 x* J. B! S. i9 v
}
. F5 n+ Z" n* T- ~2 E* s5 z! S+ b4 ]" @
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ 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二次开发专题模块培训报名开始啦

    我知道了