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

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

[复制链接]

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

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

admin 楼主

2018-6-20 18:50:29

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

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

x
" O+ C& D6 ^1 J; k* g2 t- w; ^
NX二次开发源码分享: 创建 镜像 体
. q  f7 Q" V" {$ S7 q& H# y
/ X$ n( _( W4 k. g默认的 JA 有个 bUG,这里看看怎么处理的!!
* m" `1 Z/ z' k. S; |9 d5 h) F9 V. r0 }  j

% @' l% d/ H& i" j: r4 Z* Fint IR9027488::apply_cb()+ Y/ e6 f' n8 Z& Z6 G- [% ?1 _/ ?+ c
{
5 o8 W9 T, e( E9 f& B* ~    int errorCode = 0;  b+ \3 E2 `6 T, C' K, ]
    try9 @# J( f/ {& J0 E, J& b
    {! L+ b& v' M3 Q1 H
        // AIW - Begin
7 R" r) x" X8 U        tag_t body = selection0->GetSelectedObjects()[0]->Tag();% T: f; E3 _5 p
        Plane *thePlane = dynamic_cast<Plane*>(plane0->GetSelectedObjects()[0]);7 u% q% m5 w/ F. X" G6 `7 J

' b+ ?- l' P& u0 E# b        NXOpen::Features::Feature *nullNXOpen_Features_Feature(NULL);
( a1 _2 j8 i  l" @        NXOpen::Features::DatumPlaneBuilder *datumPlaneBuilder1;% v- b4 o; P) g4 z
        datumPlaneBuilder1 = theSession->Parts()->Work()->Features()->CreateDatumPlaneBuilder(nullNXOpen_Features_Feature);0 \, Q- B  O1 k' n) s: D
- c. j7 m) E5 E6 U3 a$ {
        NXOpen::Plane *plane1;0 @4 ^3 l! p- p
        plane1 = datumPlaneBuilder1->GetPlane();
4 H1 ^8 u" M3 ^. _/ Q" t2 ~  i0 C" E8 x( k: R) O/ Q. i
        plane1->SynchronizeToPlane(thePlane);  // this is new in NX11.0.1
. @! K/ n; B5 N* N% ~: x& N5 n        plane1->Evaluate();8 D" A! N. e! ]% K7 t
' n0 I, ?6 l; s1 F
        NXOpen::Features::Feature *feature1;
7 ?; D1 ?; f- K, }        feature1 = datumPlaneBuilder1->CommitFeature();. W0 S" V6 y: x& i

- K1 t- h6 D8 g2 l- ?        NXOpen::Features::DatumPlaneFeature *datumPlaneFeature1(dynamic_cast<NXOpen::Features::DatumPlaneFeature *>(feature1));( J0 I- u" S, {9 l/ l
        NXOpen::DatumPlane *datumPlane1;
  ?2 x4 o: v+ d5 Q        datumPlane1 = datumPlaneFeature1->DatumPlane();6 Z5 B% I! r; V3 G7 X* v; i5 d
$ P4 z' q$ ]$ ]& V' G
        tag_t mirror_feat;
/ U* v' B. f9 X" P% M. v5 @( w        errorCode = UF_initialize();# S8 J: r% S; m% M; v1 o5 E- y
        if (errorCode != 0) throw NXOpen::NXException::Create(errorCode);9 A' |; ~* u0 @# D
" P% K0 [" S* L7 ?+ S
        errorCode = UF_MODL_create_mirror_body(body, datumPlane1->Tag(), &mirror_feat);2 j% j6 t6 P! \
        if (errorCode != 0) throw NXOpen::NXException::Create(errorCode);; g* S* f/ M3 {9 f
        // AIW - End; U' ^/ `/ h; }$ K4 l$ a- C1 Q
    }8 u# _- I: b6 D' w) g' ]; |
    caTCh(exception& ex)7 b" [- C7 u9 q
    {
; [6 U* z3 ]6 E) @4 b        //---- Enter your exception handling code here -----5 |& Q- V- j0 L, m
        errorCode = 1;
* e8 B4 H9 J7 `; z4 U  I# m        IR9027488::theUI->NXMessageBox()->Show("Block Styler", NXOpen::NXMessageBox::DialogTypeError, ex.what());7 Q1 Y/ v! B- m$ L" [! u
    }; F7 ]- a1 w" v8 c0 A6 F  m. o
    return errorCode;4 o9 N' y% N" x1 V
}0 Y) L7 \- m0 U; q9 l: }
1 T1 p/ I4 x% Y; M5 V8 }
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了