PLM之家PLMHome-工业软件践行者

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

[复制链接]

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

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

积分
82170
QQ
发表于 2018-6-20 18:50:29 | 显示全部楼层 |阅读模式

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

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

x
/ ?8 S0 Y9 z/ Y
NX二次开发源码分享: 创建 镜像 体 7 {. }, g1 }% W0 F. S0 {* n
! l3 ?; E. e/ P0 [' ~+ m
默认的 JA 有个 bUG,这里看看怎么处理的!!
2 p6 |5 o" h/ @7 \( B! {, n% N! J" ~& n8 g. H- M) O5 u9 J( g$ e8 m

; I' |6 N( P" g& k0 x  x" {1 `int IR9027488::apply_cb()! r9 z, y& b  [5 q
{- t  `8 r+ w# x- t. ~
    int errorCode = 0;/ ?- ~. _' k7 v; e, f
    try9 o" Z/ r$ f6 H$ h
    {1 ]/ y. g& a, o; q: D- {' f! l
        // AIW - Begin
/ ^7 T1 ~, K0 K; y- u) Z: e  X        tag_t body = selection0->GetSelectedObjects()[0]->Tag();" Q8 h* d4 m- w6 J: H" ^8 e
        Plane *thePlane = dynamic_cast<Plane*>(plane0->GetSelectedObjects()[0]);% Z6 P& L8 j* m6 t: g
# P% s, C) W+ w8 H- q
        NXOpen::Features::Feature *nullNXOpen_Features_Feature(NULL);, h7 o' n, y8 c+ w: s' D/ m
        NXOpen::Features::DatumPlaneBuilder *datumPlaneBuilder1;
& V/ b: R# f- X9 \        datumPlaneBuilder1 = theSession->Parts()->Work()->Features()->CreateDatumPlaneBuilder(nullNXOpen_Features_Feature);% |/ ]& ^5 b+ i
. C6 V# Y$ L0 Q- i. `; X
        NXOpen::Plane *plane1;  E1 {* K( J" p4 Y( I
        plane1 = datumPlaneBuilder1->GetPlane();
4 w; I) X( g: m2 p" u+ u/ O) \( |. p* E( t% i2 B, l. Y
        plane1->SynchronizeToPlane(thePlane);  // this is new in NX11.0.18 k  I# `5 E+ p
        plane1->Evaluate();: f# h) U0 S* u' z
6 T- U) \$ [5 ]2 U2 u/ ]+ o
        NXOpen::Features::Feature *feature1;0 I  J( Q2 \9 x; @
        feature1 = datumPlaneBuilder1->CommitFeature();
: C3 ?# w/ `" A- H8 j
3 k: `$ D. \/ T; Y        NXOpen::Features::DatumPlaneFeature *datumPlaneFeature1(dynamic_cast<NXOpen::Features::DatumPlaneFeature *>(feature1));. a" U# i; u- C. ^) r
        NXOpen::DatumPlane *datumPlane1;/ [& |0 w6 }( k" d4 u0 t
        datumPlane1 = datumPlaneFeature1->DatumPlane();
# _! P* Z. J2 e- i" T' S  F# G% N
8 g! c1 A5 f2 W8 A+ X; t        tag_t mirror_feat;# a4 C- c" m6 W
        errorCode = UF_initialize();
1 n' x6 I; d1 c0 t; R        if (errorCode != 0) throw NXOpen::NXException::Create(errorCode);
" ~8 e- B! ]" u% R1 M; m" \  b0 G+ X, `, U4 q# J5 B
        errorCode = UF_MODL_create_mirror_body(body, datumPlane1->Tag(), &mirror_feat);
' L+ p' _! z8 T0 @% V8 J7 Z% D/ I        if (errorCode != 0) throw NXOpen::NXException::Create(errorCode);. Z1 p# c" }+ v  D
        // AIW - End
/ |2 i* M# x1 M- j    }  k. j# V! v, d- R  L. }
    caTCh(exception& ex)# l$ _1 O" z& `5 |
    {
  g: f9 K( l- F' A* z        //---- Enter your exception handling code here -----  F' l7 |- B" m* F, F7 Q# D! @+ O
        errorCode = 1;
6 [. s/ e; ~, B. x        IR9027488::theUI->NXMessageBox()->Show("Block Styler", NXOpen::NXMessageBox::DialogTypeError, ex.what());. @) N- ]0 m+ g: d* ]/ b' H! [
    }6 n8 E! ]3 [% H, q; P! _3 ^$ g) i
    return errorCode;
9 r  n: m( w4 ^0 P; ~, }) e5 h}
% u6 `- y' w& _& o3 [/ j6 g5 ^; ]
0 i) d- R5 q' a% {
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复

使用道具 举报

全部回复1

1

主题

45

回帖

203

积分

培训VIP会员

积分
203
发表于 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.doteam.tech
回复 支持 反对

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 注册

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了