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

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

[复制链接]

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

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

admin 楼主

2018-6-20 18:50:29

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

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

x

$ v% f. R8 V9 l2 h9 R1 e" k* s% S  JNX二次开发源码分享: 创建 镜像 体 9 ^# L. p0 d% U2 ~2 T

1 G. c3 F( a2 @. @# |默认的 JA 有个 bUG,这里看看怎么处理的!!# r, c# U2 W5 E, G, s* d

4 u  A+ @0 f. Z  u7 K4 `
$ ~5 t, n- O1 A9 K- g# rint IR9027488::apply_cb()
7 |, h$ _2 W" U2 _{
' [2 x  U4 ?: U" q' N    int errorCode = 0;
6 Y: p2 T6 e0 e    try
( p& f# o6 k/ b    {- p+ u( \1 n# t' l. y/ _
        // AIW - Begin$ E/ c, s% l+ T  o& W' h
        tag_t body = selection0->GetSelectedObjects()[0]->Tag();! {# r) u* Q+ C7 O% T4 d1 c2 q
        Plane *thePlane = dynamic_cast<Plane*>(plane0->GetSelectedObjects()[0]);5 q, F3 r+ y# k% f4 m

! I/ I0 ^8 M1 f/ M1 N. K" c        NXOpen::Features::Feature *nullNXOpen_Features_Feature(NULL);
4 c" x7 B/ P' A& D) \5 B1 N( r        NXOpen::Features::DatumPlaneBuilder *datumPlaneBuilder1;% }  m! q+ S9 H; z
        datumPlaneBuilder1 = theSession->Parts()->Work()->Features()->CreateDatumPlaneBuilder(nullNXOpen_Features_Feature);
: g. q4 o$ y9 C' _/ @4 g
4 s" ^# X7 L- ~, t; [        NXOpen::Plane *plane1;7 u* {% Y( y6 e# J* ^3 q
        plane1 = datumPlaneBuilder1->GetPlane();
3 n  y+ Q7 K  Z# x# M0 d/ }& f/ G* F  `" A3 K( i" p) o3 P
        plane1->SynchronizeToPlane(thePlane);  // this is new in NX11.0.1; R& H) e5 D9 }3 q8 _9 t- N) c
        plane1->Evaluate();
7 o5 B) p8 S) D3 @  h4 I* r) h, ^
( B: i5 c5 C& v        NXOpen::Features::Feature *feature1;+ @6 @' `" I1 g& r! K
        feature1 = datumPlaneBuilder1->CommitFeature();
2 }1 v# s2 o/ W: c" A' g# V5 G5 Y
9 Q- d9 n# p) Q$ }1 V. x8 ?        NXOpen::Features::DatumPlaneFeature *datumPlaneFeature1(dynamic_cast<NXOpen::Features::DatumPlaneFeature *>(feature1));
/ d# g  x7 v& g+ F& a        NXOpen::DatumPlane *datumPlane1;/ G+ x6 E2 B1 {" M; j# j. A
        datumPlane1 = datumPlaneFeature1->DatumPlane();- G. e  ~) G, o& h. K! S
7 u% p" B8 j2 O* Y
        tag_t mirror_feat;  W" b* [9 |3 h  |
        errorCode = UF_initialize();
: V$ c# {/ |# i" w$ H; F; U5 \        if (errorCode != 0) throw NXOpen::NXException::Create(errorCode);
% g, D! _2 g. G' }  W
3 p) e, O5 T' ?0 E/ [# E, X        errorCode = UF_MODL_create_mirror_body(body, datumPlane1->Tag(), &mirror_feat);* I& ^  V$ I, d$ A4 i
        if (errorCode != 0) throw NXOpen::NXException::Create(errorCode);& k0 X0 N2 @* Z; {  r. h! I3 c$ R
        // AIW - End
% R9 ~' q* l. g7 ?    }4 k' V4 ]- x/ B) z  m
    caTCh(exception& ex)9 y* P# Z+ V% D" D$ N* p1 a
    {" K  w4 T5 B2 B
        //---- Enter your exception handling code here -----3 D2 p  @2 f# [0 y/ |2 n
        errorCode = 1;
2 [7 b; V& s# {        IR9027488::theUI->NXMessageBox()->Show("Block Styler", NXOpen::NXMessageBox::DialogTypeError, ex.what());6 [7 s# K! \) M# m' ?, O/ M
    }
6 z% G( m3 Q6 s. W$ y( B    return errorCode;
5 E. I; e% a# {}
4 O" b+ G+ p) H, k7 t2 D
4 R) R7 \0 Y1 q* R/ ?
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ 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二次开发专题模块培训报名开始啦

    我知道了