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

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

[复制链接]

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

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

admin 楼主

2018-6-20 18:50:29

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

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

x

6 M' E- p# L" J5 |$ ^NX二次开发源码分享: 创建 镜像 体
+ r/ o, D+ r2 q1 S2 Y6 {$ ?% S
默认的 JA 有个 bUG,这里看看怎么处理的!!! ^+ E, m2 p9 m0 \/ C- H
/ J- K, `5 `3 B1 f" h' f
, m/ s% q) G  y# i% v
int IR9027488::apply_cb(): w/ \) l. i6 ?6 q4 N4 ?/ l
{& a6 g1 F5 \  l
    int errorCode = 0;
( p# X2 B- c- z" s    try% |& l# v  ?5 I7 @/ ?5 p$ j" F1 u! J
    {: U/ m# }* L1 X- h- ]  Z
        // AIW - Begin
$ F9 r3 \! z# J: ?% N& b0 v        tag_t body = selection0->GetSelectedObjects()[0]->Tag();$ J$ F- P4 }3 ~0 e5 ~+ g7 M
        Plane *thePlane = dynamic_cast<Plane*>(plane0->GetSelectedObjects()[0]);
2 P! w+ g) W) g) m+ f6 b3 G- _. G  l" |7 }
        NXOpen::Features::Feature *nullNXOpen_Features_Feature(NULL);
) F# p6 B) i; R3 i6 w, n$ _        NXOpen::Features::DatumPlaneBuilder *datumPlaneBuilder1;
+ o0 h$ p7 P) t" m7 K/ V        datumPlaneBuilder1 = theSession->Parts()->Work()->Features()->CreateDatumPlaneBuilder(nullNXOpen_Features_Feature);8 C: ?+ c  Q" C; I1 R( {- i& |# B
  F7 K( A& X6 X% ?
        NXOpen::Plane *plane1;$ z$ T! y+ y0 o/ d( b. ?& Z1 `& ^
        plane1 = datumPlaneBuilder1->GetPlane();
& b! r9 D) h3 `- n4 a/ Q. t9 L; \- i- p% @/ [
        plane1->SynchronizeToPlane(thePlane);  // this is new in NX11.0.1% P% @9 p& J8 {* Y4 i
        plane1->Evaluate();; z+ n$ i2 O2 R: ?8 K; E9 W. h
: ]& E# ~- w' F9 Q" ?
        NXOpen::Features::Feature *feature1;
& x" [7 X$ `# I  i) K* s        feature1 = datumPlaneBuilder1->CommitFeature();' ~8 |3 v# G4 v- U5 |

  E, Q  b0 R8 t3 |7 d        NXOpen::Features::DatumPlaneFeature *datumPlaneFeature1(dynamic_cast<NXOpen::Features::DatumPlaneFeature *>(feature1));
/ y$ i% [& A" f( R' j% ^7 m        NXOpen::DatumPlane *datumPlane1;# Y) s" I! k* ?6 l; c
        datumPlane1 = datumPlaneFeature1->DatumPlane();
. D6 `  T5 ~  e; H  [! S/ o1 c$ G  {% v+ K( R' K& _0 i
        tag_t mirror_feat;( h& M' _( N3 H; s5 Z& |7 m
        errorCode = UF_initialize();9 A* w) ?( U& r% P3 }, h; \/ l
        if (errorCode != 0) throw NXOpen::NXException::Create(errorCode);
* ?) Q& `! r, p1 a9 R9 z7 I, D9 ^+ \
        errorCode = UF_MODL_create_mirror_body(body, datumPlane1->Tag(), &mirror_feat);
, @+ q6 ~3 b( g8 K        if (errorCode != 0) throw NXOpen::NXException::Create(errorCode);* ?# A# E6 Z- v6 O8 Q
        // AIW - End9 J/ m2 p$ U- u2 z
    }0 Z" m6 |1 Q8 U& w! i+ C8 C
    caTCh(exception& ex)' Q2 M. c! `8 Y) |
    {
, `2 w8 {3 [3 X- C4 J        //---- Enter your exception handling code here -----
5 t( |1 H) x6 F+ O  N9 i; K        errorCode = 1;* E0 L& s- X7 w  d* b  o
        IR9027488::theUI->NXMessageBox()->Show("Block Styler", NXOpen::NXMessageBox::DialogTypeError, ex.what());( y( ]2 b# M& u9 I4 j2 |$ K
    }5 D1 _+ P6 ~2 f; `! O4 ~
    return errorCode;
4 T' k. J+ s& |: m}# L6 Q! e, R6 c; Y7 G  F

  `$ X7 ~9 X2 F& Z9 G; A4 [( U, W
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了