查看: 3188|回复: 1

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

[复制链接]

6

主题

4

回帖

60

积分

管理员

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

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

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

×

  r) {7 q( |0 i- ?NX二次开发源码分享: 创建 镜像 体 % R( }% R' [; P8 H' g% f# t& d

4 }4 n+ ?; a; K7 y默认的 JA 有个 bUG,这里看看怎么处理的!!) G7 B- T  J- K% v

5 r/ U* Q& Z+ [! M! G0 K5 j. Y
* ?' k! o' V# X( ?9 g/ Sint IR9027488::apply_cb()" z$ P0 D: R& U; D" S5 a+ J: r& J
{
& x3 T" d" F/ j# R/ q    int errorCode = 0;+ \4 E$ ~. p. S8 s) ?5 L
    try" ?" b2 Z: u9 v2 d! X$ q
    {
; |/ |! \! O* ?* O8 {        // AIW - Begin
; B! i0 A. Z- z; e  g' W7 W% K& I        tag_t body = selection0->GetSelectedObjects()[0]->Tag();
" s6 D# B  Y6 F3 b/ S5 P        Plane *thePlane = dynamic_cast<Plane*>(plane0->GetSelectedObjects()[0]);' O! @% _9 B6 G! l

! y' q5 F/ z2 p* f        NXOpen::Features::Feature *nullNXOpen_Features_Feature(NULL);
( o) _& B, H: t        NXOpen::Features::DatumPlaneBuilder *datumPlaneBuilder1;6 q: m2 v/ w" f0 O9 I1 n2 G( p
        datumPlaneBuilder1 = theSession->Parts()->Work()->Features()->CreateDatumPlaneBuilder(nullNXOpen_Features_Feature);
- i4 S3 L5 U, m
6 a  @0 y9 V: S3 o/ A2 T1 `        NXOpen::Plane *plane1;" n! v, C$ A8 S5 ?
        plane1 = datumPlaneBuilder1->GetPlane();
/ j6 k! p; s) v4 @
4 N. t8 V' S9 z        plane1->SynchronizeToPlane(thePlane);  // this is new in NX11.0.1
& H$ E/ E; n6 f+ U        plane1->Evaluate();3 @7 j# |5 j4 F. D0 J5 Q
0 v+ V) W- V3 E" p
        NXOpen::Features::Feature *feature1;: ^  c/ T- R. F; Q
        feature1 = datumPlaneBuilder1->CommitFeature();2 _9 {% r' j9 a+ }
9 _8 W5 S5 G; P& a- a" h- E
        NXOpen::Features::DatumPlaneFeature *datumPlaneFeature1(dynamic_cast<NXOpen::Features::DatumPlaneFeature *>(feature1));
1 S% s2 t# y% [: \        NXOpen::DatumPlane *datumPlane1;' l6 ~  x% d9 C5 L5 B4 m0 p
        datumPlane1 = datumPlaneFeature1->DatumPlane();0 M1 E6 J: B$ ]8 o+ [. g* S

  D1 ~) g) K3 E! A4 r        tag_t mirror_feat;* F" p! Z0 X$ T" {! {5 O
        errorCode = UF_initialize();+ g6 s$ k, i& K
        if (errorCode != 0) throw NXOpen::NXException::Create(errorCode);
4 T. `  `% s8 |, E( J% D& C. G4 ~3 F" I5 A
        errorCode = UF_MODL_create_mirror_body(body, datumPlane1->Tag(), &mirror_feat);1 }3 ?( K+ l2 C5 E  i
        if (errorCode != 0) throw NXOpen::NXException::Create(errorCode);; t& k/ i! D  O, t0 E1 U
        // AIW - End5 w5 f& `# M# y) E4 b
    }0 |9 g5 L( k& K' G# q  O
    caTCh(exception& ex)
: n/ W( `" V; {. b4 O1 p/ x. m  w    {/ w1 e1 T0 b2 M" u4 s" N
        //---- Enter your exception handling code here -----2 H# U3 `) N/ S$ f% O
        errorCode = 1;
, x6 [) e" M9 Q/ G        IR9027488::theUI->NXMessageBox()->Show("Block Styler", NXOpen::NXMessageBox::DialogTypeError, ex.what());+ m7 Q4 V8 ^- N) O
    }( ^" J  m: g2 ]$ z! q9 _; l; A  h( f
    return errorCode;
& g) F0 ?& G' h; A* Z" r7 T: V5 I( q}4 ^8 ?0 q7 W. w
; |, T2 s; j3 R1 ?. i8 t0 n
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复

使用道具 举报

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
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

在本版发帖
关注公众号
QQ客服返回顶部