PLM之家精品课程培训

PLM之家精品课程培训

联系电话:18301858168   |   QQ咨询:939801026
NX二次开发培训

NX二次开发培训

UFUN/NXOpen C++和实战案例

适合初级入门或想深入了解二次开发的工程师,本培训结合ufun,NXOpen C++,大量的实例及官方内部的开发技术。
公众号二维码

关注公众号

点击扫描二维码免费在线高清教程

课程详情
Catia二次开发培训

Catia二次开发培训

市场需求大,掌握核心技术前景广阔

Catia二次开发的市场需求大,人才稀缺。掌握开发技能潜力巨大,随着经验积累将在汽车、航空等领域有所作为。
B站二维码

在线原创B站视频

点击关注工业软件传道士主页

课程详情
Teamcenter培训

Teamcenter培训

全方位培训,从基础应用到高级开发全覆盖

涵盖用户应用基础培训、管理员基础培训、管理员高级培训及二次开发培训等全方位内容,由多年经验讲师打造。
QQ群二维码

加入同行交流

点击扫描二维码加入QQ群

课程详情
×

PLM之家plmhome公众号

课程涵盖: PLM之家所有原创视频

×

关注B站视频

所有高清视频一览无余,全部在线播放学习

×

加入PLM之家QQ群

同行交流,疑问解答,更多互助

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

[二次开发源码] NX二次开发源码分享: 如何判断当前零件的类型,很聪明...

[复制链接]

2018-7-27 11:00:30 2050 0

admin 发表于 2018-7-27 11:00:30 |阅读模式

admin 楼主

2018-7-27 11:00:30

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

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

x
+ r( [  X; W/ s) s! c5 ~+ f0 K

* D& v7 U, n: u' v  n) K7 E0 r! LNX二次开发源码分享: 如何判断当前零件的类型,很聪明...4 @4 }* ]% }" e  f( |
5 Y) t/ G# o* F* A$ @6 Y

6 s6 m8 _. P! K. ~大体思路如下!!
/ p. e' ?6 a9 z/ x4 Z$ |4 ^; k
4 f- I$ l+ s0 u6 r0 u# Q5 `- Z9 ~1 r% a$ w
   enum PartTypes {Empty=0, Model=1, Drawing=2, MasterDrawing=3, Assembly=4, Undefined=5, MasterModelDrawing=6, Invalid=7};
( Y3 ?6 ?* ^$ }' V% K# M+ L  
3 ?- m0 E# _% L; k/ r8 H  void DoIt(string[] args)
3 H" f" ~: }# u0 y/ Y* o! a$ P: c    {! \) v0 ?! H+ a6 j; t1 H( N
        Part displayPart = theSession.Parts.Display;
( T* R  Y0 E# Z) V. I/ h- [7 N; M        if (displayPart != null)
& z& f+ e; K; ^8 v5 m  O4 V        {
! U/ ]) W! A& Q2 m: W3 H            GetPartType(displayPart);* O! U0 M6 o% P! x# W
            return;! i: F8 l" {( M; O* t" I: L- y
        }
7 b5 k) s0 [% H2 t5 z
" A9 U8 ]( c$ @5 n. a, V/ U- k7 d
9 `- F7 n6 b, u, M7 B4 T
        for (int ii = 0; ii < args.Length; ii++) ; u9 y" T7 e% [& o+ z1 u
        {
3 |- i) o9 @; X8 O8 j1 X0 F            Echo("Processing: " + args[ii]);* H7 O3 F& S" K4 _0 a6 _5 |
            try % r& t' Z/ e4 I5 C- v3 \
            {
: q( {( z; Z) m                PartLoadStatus loadStatus;6 X4 H( D, C8 c
                displayPart = (Part) theSession.Parts.OpenBaseDisplay(args[ii], out loadStatus);0 N' U7 s. k: s* G8 H' C/ \, b
                reportPartLoadStatus(loadStatus);7 u* l# y9 c* Y
; `1 T' U. M0 }6 ]% k  n
  w/ \* n2 V# P1 ?; a& D7 `& e
                GetPartType(displayPart);
; ?* F# G$ a2 E& D0 d
6 ~4 i, c4 U) s- l0 ~9 J2 a
# ]3 H- J! r; F8 B
                displayPart.Close(BasePart.CloseWholeTree.True, BasePart.CloseModified.CloseModified, null);$ }( q8 N5 |( \$ o5 ?! F  Y  E9 e
            }
, Q) B) N, U# _2 S1 a0 \5 X( l            caTCh (NXException ex)
/ m0 [* X% Q* e+ _8 C- g4 F            {2 k* e  I$ e0 n, |- @
                Echo("   " + ex.Message);8 s$ _% h7 F  E
            }
2 z' m' r' v. q- D* N  r+ V* E        }
0 C# y5 G2 D5 {/ Z8 R# y$ [  b    }
! c8 t4 u5 |# V7 M7 v- D- N! W. W; @4 s3 K; c7 R
$ x1 S& ^& ~0 G
    void GetPartType(Part thePart)7 T" {. C  P/ t( \* W
    {1 e- ~9 m/ Y2 t% U) o# o
        int nPartType = 0;
# q0 [8 \) W. G1 M( s' t- P+ Y2 Q4 c6 t3 S3 e( m9 A" C& ~9 M
7 C! F1 @0 V# F' P7 _
        if (thePart.Bodies.ToArray().Length > 0) nPartType += 1;6 t9 O+ d/ @0 @3 a0 t0 [. v$ A4 ~
        if (thePart.DrawingSheets.ToArray().Length > 0) nPartType += 2;
- p& F: [0 {# y- z3 Y& }4 x        if (thePart.ComponentAssembly.RootComponent != null) nPartType += 4;% j( j6 A, X" i. c% L
( b+ H: \: W, Z% f4 k2 T

& _% `# o* i1 ?0 ]2 V        Echo( String.Format("Part Type = {0}", (PartTypes)nPartType) );8 E5 b: V- P! u. A1 i  z: K( h* B
    }0 D, J1 b4 S6 b

2 o+ b, u7 Y! d0 d1 T
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了