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

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

[复制链接]

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

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

admin 楼主

2018-6-20 18:50:29

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

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

x
! e; M* p' x* j
NX二次开发源码分享: 创建 镜像 体 % Q8 [8 l4 ^# P3 y+ c) y! v' T4 c$ Z

" ?' e  i  G3 B9 @5 ?2 A5 R默认的 JA 有个 bUG,这里看看怎么处理的!!2 l0 A/ o7 ^" t; g

: y. b* b5 e! D- E6 W! R( `) d: f9 f$ L
int IR9027488::apply_cb()1 \5 L7 H- J' o" W" y. K! Y
{
, R) a- L* ], |5 j! X3 A4 h) ]    int errorCode = 0;
0 I3 y: t3 A/ T    try
% c- S2 y( g, @8 h+ v    {# w, K) M2 z- {0 v
        // AIW - Begin4 k' q$ z+ V( `/ X0 O
        tag_t body = selection0->GetSelectedObjects()[0]->Tag();$ T' J9 u/ ~( }! M, E
        Plane *thePlane = dynamic_cast<Plane*>(plane0->GetSelectedObjects()[0]);- [# A# S# I) U- T" {" g- S8 K
) u% M. F% R+ C
        NXOpen::Features::Feature *nullNXOpen_Features_Feature(NULL);
# e8 s% l; h$ Q1 x- L! L8 d. C        NXOpen::Features::DatumPlaneBuilder *datumPlaneBuilder1;; O" k* [9 c0 G7 `8 O+ j1 {
        datumPlaneBuilder1 = theSession->Parts()->Work()->Features()->CreateDatumPlaneBuilder(nullNXOpen_Features_Feature);
$ B: h" z4 E$ G' {) p" @3 m* v
8 N  [) F( Y4 q% X  O        NXOpen::Plane *plane1;2 _* B) }. N+ T0 ~, Z$ y3 l9 C
        plane1 = datumPlaneBuilder1->GetPlane();
' Y% G- H( b* s3 Z4 d' x" i  R( ?, v; P5 m! ]
        plane1->SynchronizeToPlane(thePlane);  // this is new in NX11.0.1
+ b7 R+ h( ?. G* e/ R' v+ L        plane1->Evaluate();. E2 ?. W/ d! ^4 n/ B- i; b( w
3 u; J- Q" @/ p1 `) W" j/ a
        NXOpen::Features::Feature *feature1;
  S6 O3 _/ v0 l5 ?        feature1 = datumPlaneBuilder1->CommitFeature();
7 _5 r9 w  i3 I. f3 ~
* }9 M. {7 b  j2 M+ H. d0 ]        NXOpen::Features::DatumPlaneFeature *datumPlaneFeature1(dynamic_cast<NXOpen::Features::DatumPlaneFeature *>(feature1));+ ^/ y1 S) h# T* j
        NXOpen::DatumPlane *datumPlane1;
6 M% s' t+ y$ W) W        datumPlane1 = datumPlaneFeature1->DatumPlane();
  W9 y/ d: p- }8 Q; j9 Y4 O
7 z/ C8 I& K- _7 t4 V        tag_t mirror_feat;
0 _' v( ]2 n# J- q        errorCode = UF_initialize();- v. m6 x+ R- M5 ?+ n6 Z0 k" t' [
        if (errorCode != 0) throw NXOpen::NXException::Create(errorCode);! s8 m0 k. a/ Z: S( N
) T# ~5 A5 a2 W1 O: t; b
        errorCode = UF_MODL_create_mirror_body(body, datumPlane1->Tag(), &mirror_feat);
1 p( R- P/ ]( ~        if (errorCode != 0) throw NXOpen::NXException::Create(errorCode);
* \1 f: m+ k9 p7 d5 O        // AIW - End
4 o4 s1 h3 Z3 o2 S$ F. O    }
: x4 f1 K: n9 j8 M7 K; {    caTCh(exception& ex)) U$ V% y! P" p3 j
    {4 y( Q5 g+ M9 A
        //---- Enter your exception handling code here -----7 p, W2 s# ^6 J
        errorCode = 1;7 B, U* x8 q" }; |2 R
        IR9027488::theUI->NXMessageBox()->Show("Block Styler", NXOpen::NXMessageBox::DialogTypeError, ex.what());" Z/ a2 P" o2 `
    }
) o" F3 n1 c: D/ ^7 D% s    return errorCode;
% A7 \1 P* i5 Q0 l7 F}8 ~, W% l. \2 r. J

( n! L  K% C+ v
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了