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

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

[复制链接]

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

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

admin 楼主

2018-6-20 18:50:29

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

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

x

2 z, L7 W  o; O6 CNX二次开发源码分享: 创建 镜像 体   B" ]7 H5 x; _& B1 R; h

' k9 l( E2 ^3 L默认的 JA 有个 bUG,这里看看怎么处理的!!/ M: S- N' ^) N/ v) o
0 Q( B  t& H! A+ S

! a! P2 L( a* u1 A2 D0 Aint IR9027488::apply_cb()4 ?- w# u& k0 z( {! r
{
7 {4 T/ Y: ]# }    int errorCode = 0;, s3 O% I2 K& t) L
    try) @7 x5 P* y0 v. S
    {
5 ~' o/ U0 L6 ~* q; b        // AIW - Begin
' a* o8 T3 J1 y6 }        tag_t body = selection0->GetSelectedObjects()[0]->Tag();
# G2 Z* T% X' s" L+ W( y& Z% v        Plane *thePlane = dynamic_cast<Plane*>(plane0->GetSelectedObjects()[0]);
% h; j% Y% h( d# H/ o2 v; k6 `, o  j$ q1 y2 u
        NXOpen::Features::Feature *nullNXOpen_Features_Feature(NULL);
) ^- J3 R+ t( u, E9 m( Y        NXOpen::Features::DatumPlaneBuilder *datumPlaneBuilder1;% j9 {* u* M/ G4 }' Y
        datumPlaneBuilder1 = theSession->Parts()->Work()->Features()->CreateDatumPlaneBuilder(nullNXOpen_Features_Feature);0 j9 y$ C  h3 ]; F0 ^; G
. w6 y7 T2 O; ]6 m3 W2 L9 F9 M
        NXOpen::Plane *plane1;
2 R0 K8 n7 o1 l! B9 o% m7 t        plane1 = datumPlaneBuilder1->GetPlane();& j( o% E* M7 e0 e
3 y2 v/ b. _( V" r) u
        plane1->SynchronizeToPlane(thePlane);  // this is new in NX11.0.14 [. [3 l! T5 v/ R' N( D* `) ^
        plane1->Evaluate();
! s, h+ F: R* J/ r0 Q
1 q* `" n+ P) d+ t" Y- Z$ h" _        NXOpen::Features::Feature *feature1;
1 P6 L6 ?3 f% u* ]  m$ o        feature1 = datumPlaneBuilder1->CommitFeature();
& q" T2 z( e$ ~* O, c) A0 }1 a" O) S. M/ W4 C; c) n
        NXOpen::Features::DatumPlaneFeature *datumPlaneFeature1(dynamic_cast<NXOpen::Features::DatumPlaneFeature *>(feature1));9 R4 Y/ g) Q' O9 ^* m
        NXOpen::DatumPlane *datumPlane1;
/ u8 i7 d8 ^+ e! m        datumPlane1 = datumPlaneFeature1->DatumPlane();5 V6 T7 N! ]& E

+ S% x) P- a2 d$ B        tag_t mirror_feat;/ U4 ?# o( H2 U' ]' c
        errorCode = UF_initialize();
; ]2 T) c9 u2 E9 z        if (errorCode != 0) throw NXOpen::NXException::Create(errorCode);5 Z- D% E4 g" Q5 l2 t) O
1 w% a% V' w  ]" Z  V- D; q
        errorCode = UF_MODL_create_mirror_body(body, datumPlane1->Tag(), &mirror_feat);- b6 K) j& G8 u. s
        if (errorCode != 0) throw NXOpen::NXException::Create(errorCode);
: r; j& M: ~5 @% V        // AIW - End
% ^' U: h8 k! K" l1 ~    }
- q0 _& T9 @4 L. d& _    caTCh(exception& ex)- ?( @3 }) d* E  r( H
    {
, S$ P$ p# M. @        //---- Enter your exception handling code here -----
1 K8 t- i6 ~2 b/ L; K6 {        errorCode = 1;
6 B$ e* W+ o5 p% G/ T- v, O+ S        IR9027488::theUI->NXMessageBox()->Show("Block Styler", NXOpen::NXMessageBox::DialogTypeError, ex.what());
3 q) E  j0 b  H    }2 @7 q3 E4 L- R
    return errorCode;+ m4 ^6 F2 E7 {
}7 u* U( J" O+ {/ F, A" T0 B+ ?' a1 w

6 u  o! A6 Y3 z" t' q& H
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了