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

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

[复制链接]

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

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

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

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

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

x

# O1 X2 J1 H3 b" D) B& @NX二次开发源码分享: 创建 镜像 体
7 g! I3 t: U1 Z9 t9 w3 {* R! ]6 ]5 A; m* M
默认的 JA 有个 bUG,这里看看怎么处理的!!
5 d& {7 `& h. d9 R+ x8 J3 _. ]2 L( h) v

- i: W' k. r) ^- F7 E0 T* n/ P1 kint IR9027488::apply_cb(): x, L8 \, L8 x$ b  X0 f
{
6 q* V) B( o. w7 q7 F4 n9 k    int errorCode = 0;* Y1 M$ `! G# d% V7 Z
    try
* h% t" H5 K0 }8 o, }    {
7 `$ R' }. |& D& S. E- y        // AIW - Begin
6 F# {( a: R' t0 y) |& s        tag_t body = selection0->GetSelectedObjects()[0]->Tag();
' X, K/ k2 w' ^9 N        Plane *thePlane = dynamic_cast<Plane*>(plane0->GetSelectedObjects()[0]);
+ r# a. Z1 W" Y1 O  A, V5 h  l# y! A$ l. Y- K
        NXOpen::Features::Feature *nullNXOpen_Features_Feature(NULL);" S0 d: q! e2 D5 V
        NXOpen::Features::DatumPlaneBuilder *datumPlaneBuilder1;; T# }7 s  Y# @9 k4 D
        datumPlaneBuilder1 = theSession->Parts()->Work()->Features()->CreateDatumPlaneBuilder(nullNXOpen_Features_Feature);# M* E  ]$ |' C, m# T: X$ V
) i8 c9 b) @; J- y9 x! u
        NXOpen::Plane *plane1;: k" y4 ~  T; `, H  u
        plane1 = datumPlaneBuilder1->GetPlane();3 c+ @% m& j3 M& e7 t. r" \
2 ^7 }1 k, J' l; U" N/ ^- Z
        plane1->SynchronizeToPlane(thePlane);  // this is new in NX11.0.19 c4 m/ K) w* T5 d% @" |7 v
        plane1->Evaluate();
2 D: L6 G# o  _8 \
' J; {7 H+ o6 h( W. s        NXOpen::Features::Feature *feature1;
; ~6 W9 w/ i2 R2 ~        feature1 = datumPlaneBuilder1->CommitFeature();
9 Q7 R4 O/ z/ \+ c& S2 E) I, D$ s0 ^- v2 U, ^/ o
        NXOpen::Features::DatumPlaneFeature *datumPlaneFeature1(dynamic_cast<NXOpen::Features::DatumPlaneFeature *>(feature1));
; _( t2 ~$ o# e0 A7 J        NXOpen::DatumPlane *datumPlane1;
5 V- {; R( N  C8 H" V- ?8 v        datumPlane1 = datumPlaneFeature1->DatumPlane();
' F7 P+ ^3 `# n8 L2 f! o4 A
' ?' h" @: c, S; J) D3 v& f        tag_t mirror_feat;9 g4 O* E3 C; P! B
        errorCode = UF_initialize();( Z; E! D0 k- h1 p9 \
        if (errorCode != 0) throw NXOpen::NXException::Create(errorCode);4 c6 ?& @3 @! }: h2 k8 `1 l

+ |0 E3 [4 P' M/ U$ E        errorCode = UF_MODL_create_mirror_body(body, datumPlane1->Tag(), &mirror_feat);9 V' u3 |( z( v" y# }; J
        if (errorCode != 0) throw NXOpen::NXException::Create(errorCode);
3 _) q0 r9 v$ \8 T0 I        // AIW - End$ l- }+ Z# _# u: \' c
    }% v' w2 K/ k( j7 e  R9 Q4 j% N
    caTCh(exception& ex)4 O) V" Q) s$ J0 `
    {
" g0 ^" G0 T8 s6 B- |" n        //---- Enter your exception handling code here -----5 I) }# f+ n$ P8 `
        errorCode = 1;
% ?; {3 @1 ?7 u8 \' p, [/ K        IR9027488::theUI->NXMessageBox()->Show("Block Styler", NXOpen::NXMessageBox::DialogTypeError, ex.what());; ^! k/ \- q. B+ C
    }0 o& Y# T4 |/ G3 `
    return errorCode;
+ ^" M0 s' U) F}  c$ I$ @8 o, W
# P- Q8 ]; l0 Z
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了