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

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

[复制链接]

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

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

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

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

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

x
- R! N9 }0 m  J  @9 }0 C
NX二次开发源码分享: 创建 镜像 体
- z9 E- J# ^; W, a( X- c2 b. C
% Q4 O& D- ^9 o: c默认的 JA 有个 bUG,这里看看怎么处理的!!
# k5 O3 [4 G4 c0 w( t' w, c
, w- O- F. {8 Z, `) l* i7 K- |1 A2 P9 |$ K* M. Z; h5 E
int IR9027488::apply_cb()8 _& b) s7 {5 p' B1 Y! H8 _6 C
{
" O' }# ?$ f1 y) n7 H! V    int errorCode = 0;
4 }* p! l% M. }2 t* C  I. ?: m    try3 b0 S- U; @7 _/ H: D; `& o
    {
6 [+ a% t2 l" W+ `- Z        // AIW - Begin# i" D" Q' x6 y
        tag_t body = selection0->GetSelectedObjects()[0]->Tag();& K  T8 L" A& }9 @
        Plane *thePlane = dynamic_cast<Plane*>(plane0->GetSelectedObjects()[0]);" j5 {0 h7 U7 X0 k6 B+ a& T6 Q4 s

- v6 z- U2 @/ Y5 I) H4 E/ x        NXOpen::Features::Feature *nullNXOpen_Features_Feature(NULL);
+ s+ p+ j- l; ^8 R! r% q' M        NXOpen::Features::DatumPlaneBuilder *datumPlaneBuilder1;2 a1 [- _7 A$ z. l2 n# a
        datumPlaneBuilder1 = theSession->Parts()->Work()->Features()->CreateDatumPlaneBuilder(nullNXOpen_Features_Feature);8 _6 U  W' F3 @& N: o1 T0 v
8 C9 v/ d9 j+ v
        NXOpen::Plane *plane1;
. K' z# T: N) z# x6 w        plane1 = datumPlaneBuilder1->GetPlane();
, O  [% B4 V5 `' d
- m4 M9 I- n& `( v2 U5 N        plane1->SynchronizeToPlane(thePlane);  // this is new in NX11.0.18 F  d! w+ Q* I) d# |
        plane1->Evaluate();2 Y- b; y# z' w1 x" a1 @4 M

3 V; h0 c/ Y7 H& Z        NXOpen::Features::Feature *feature1;, K- [( b; n5 j, \( o' n+ @& }
        feature1 = datumPlaneBuilder1->CommitFeature();
5 Y; Y3 e0 {2 g- h* N
9 q6 H5 u  M) ^' L. l5 e3 }        NXOpen::Features::DatumPlaneFeature *datumPlaneFeature1(dynamic_cast<NXOpen::Features::DatumPlaneFeature *>(feature1));
, A3 u( E% D) e* i        NXOpen::DatumPlane *datumPlane1;
( b6 r7 s8 Q8 j. C/ y        datumPlane1 = datumPlaneFeature1->DatumPlane();& J" A$ x$ F4 q( f

7 V) ^, s5 }: g  \* E7 f) [/ g        tag_t mirror_feat;
4 X* b3 w/ C3 e8 N! g0 [        errorCode = UF_initialize();
( Z* B* b) ?2 u5 z        if (errorCode != 0) throw NXOpen::NXException::Create(errorCode);- o2 \" s2 q. z' Y
9 ^# j8 B9 f& c% \
        errorCode = UF_MODL_create_mirror_body(body, datumPlane1->Tag(), &mirror_feat);
0 q0 S+ o$ F  ]3 p3 L        if (errorCode != 0) throw NXOpen::NXException::Create(errorCode);
5 @1 ^8 n7 {* \8 l0 t3 N        // AIW - End
- |7 K9 E& c% J    }
7 A/ I' J2 _8 ~7 |# z, g    caTCh(exception& ex)+ u4 L4 @% X) q( g. o' K+ h5 _3 r
    {* e  O5 Z4 p8 L  f  N
        //---- Enter your exception handling code here -----
+ s5 l- M. w1 A1 G' d+ [        errorCode = 1;; }) \% l2 r2 S# i7 M
        IR9027488::theUI->NXMessageBox()->Show("Block Styler", NXOpen::NXMessageBox::DialogTypeError, ex.what());5 O4 W) s# [8 S/ {- o# W
    }
: @  x  q1 i# A/ J    return errorCode;
2 u0 `5 w( W* _1 h( q}
+ X  i# M# O$ a; H0 ?, e1 Z! k7 M% Y0 b1 q9 W1 m5 @
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了