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

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

[复制链接]

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

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

admin 楼主

2018-6-20 18:50:29

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

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

x
& ^- s- v! d5 V: G' R0 p( k  D
NX二次开发源码分享: 创建 镜像 体
5 r' c. J! a% Q3 t6 H. D2 U4 W# z0 H/ M: l
默认的 JA 有个 bUG,这里看看怎么处理的!!2 l( c8 x$ {3 ~3 E

: e2 l  u1 S! \. D' W* V- F9 c: i4 S$ ]8 A1 J. K
int IR9027488::apply_cb()" P) U/ i7 j/ ~0 G8 e3 W4 v3 T
{
" e/ h  Z3 C% L3 Y" B# S/ d    int errorCode = 0;
: D- h5 K" a4 X% D3 [" x3 f    try- |: H0 d) v! t/ o8 x1 a
    {
) ]% l0 [" U# a  N/ }) g        // AIW - Begin- B; I4 T& ~, F; H  O
        tag_t body = selection0->GetSelectedObjects()[0]->Tag();* L7 _( }0 d4 d* K
        Plane *thePlane = dynamic_cast<Plane*>(plane0->GetSelectedObjects()[0]);* f2 G+ d8 Y* s5 J
3 ]9 r. y% D" d) F
        NXOpen::Features::Feature *nullNXOpen_Features_Feature(NULL);
' m  d* \* u' ?        NXOpen::Features::DatumPlaneBuilder *datumPlaneBuilder1;
2 U# |% }. ]8 i2 n' t, D1 w        datumPlaneBuilder1 = theSession->Parts()->Work()->Features()->CreateDatumPlaneBuilder(nullNXOpen_Features_Feature);
3 V& u+ B% E# ~  B$ ?) k- C* S+ R3 i2 G# @, P! Y1 o
        NXOpen::Plane *plane1;6 A: K& ?9 g# L- k4 l, `7 d
        plane1 = datumPlaneBuilder1->GetPlane();
: O5 Z8 q6 K8 M; _+ ~2 d1 a1 o' k
2 \5 O; e6 _0 I2 u5 n5 W, g8 ]' Y  Z4 ?7 m        plane1->SynchronizeToPlane(thePlane);  // this is new in NX11.0.16 J! u' L1 w' h1 J) t& m9 {5 u+ d
        plane1->Evaluate();0 m8 D$ ]: D  e% o4 V5 J6 Y/ D: o
  V) p4 y' p1 \( E
        NXOpen::Features::Feature *feature1;
% @% G- T. L! B7 y# }: k0 y        feature1 = datumPlaneBuilder1->CommitFeature();
& P0 N. g, Z& \4 P) b( l2 u9 t5 ]* U3 v3 U
        NXOpen::Features::DatumPlaneFeature *datumPlaneFeature1(dynamic_cast<NXOpen::Features::DatumPlaneFeature *>(feature1));4 x# ]+ o2 V  N3 J& A* M
        NXOpen::DatumPlane *datumPlane1;
8 K5 ]2 Q3 Z$ R8 c        datumPlane1 = datumPlaneFeature1->DatumPlane();
: Q5 y4 `0 E( P* q' d; F; O5 M$ X& H: t
        tag_t mirror_feat;
3 D4 F2 F+ \& G  o& o& O5 g' k9 y7 U        errorCode = UF_initialize();
0 T* {" v1 |, a8 d! n" e4 N        if (errorCode != 0) throw NXOpen::NXException::Create(errorCode);
$ q# D) w; Q+ j. Z
# w4 z4 J# _2 R. S* h( `1 v        errorCode = UF_MODL_create_mirror_body(body, datumPlane1->Tag(), &mirror_feat);
' |- B  {4 ~; n5 W: e6 k        if (errorCode != 0) throw NXOpen::NXException::Create(errorCode);
/ h9 n  K" G5 E. U9 y* J( V, N        // AIW - End
" Y& f' n9 o* R) U6 c. i4 Y    }9 L$ \/ V. b; f: j* o1 e, p
    caTCh(exception& ex)) {% G8 v4 S5 V( X- t; ~6 G* ]
    {+ h5 _6 l/ n8 V# Q3 j+ _- n9 l
        //---- Enter your exception handling code here -----
. N4 j3 l/ O1 t+ S0 w        errorCode = 1;
3 R, e0 k% i& U% k; q! t5 O' P        IR9027488::theUI->NXMessageBox()->Show("Block Styler", NXOpen::NXMessageBox::DialogTypeError, ex.what());$ u+ n0 M- O$ i! v
    }
4 e/ V2 R5 ?. ^- c, w- h* |    return errorCode;% K# a- i- a; J7 v, {3 ?6 ]6 W
}
7 g' v+ T1 M6 K7 N
& ~9 l3 X5 R$ r3 g
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了