PLM之家精品课程培训,联系电话:18301858168 QQ: 939801026

  • NX二次开培训

    NX二次开培训

    适合初级入门或想深入了解二次开发的工程师,本培训结合ufun,NXOpen C++,大量的实例及官方内部的开发技术对于老鸟也值得借鉴!.

    NX CAM二次开发培训报名 NX二次开发基础培训报名
  • PLM之家Catia CAA二次开发培训

    Catia二次开发培训

    Catia二次开发的市场大,这方面开发人才少,难度大。所以只要你掌握了开发,那么潜力巨大,随着时间的积累,你必将有所用武之地!

  • PLM之Teamcenter最佳学习方案

    Teamcenter培训

    用户应用基础培训,管理员基础培训,管理员高级培训,二次开发培训应有尽有,只要你感兴趣肯学习,专业多年经验大师级打造!

  • PLM之Tecnomatix制造领域培训

    Tecnomatix培训

    想了解制造领域数字化吗?想了解工厂,生产线设计吗?数字化双胞胎,工业4.0吗?我们的课程虚位以待!

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

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

[复制链接]

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

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

admin 楼主

2018-7-27 11:00:30

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

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

x

4 ^; X' r4 n8 ?% N7 ^
' U& \4 s  r+ h$ a9 t: Y+ z* dNX二次开发源码分享: 如何判断当前零件的类型,很聪明...
6 p9 \- o6 H  \' W* ^; N1 j; F! G! t# E! t  }5 i& i# z! p! N

7 _& F( y$ q' n+ }  V) ~6 C% h大体思路如下!!! n4 l7 \- F6 ~( }4 g
2 M- s) J' ]! T
) D4 J! l% G$ K0 F% o
   enum PartTypes {Empty=0, Model=1, Drawing=2, MasterDrawing=3, Assembly=4, Undefined=5, MasterModelDrawing=6, Invalid=7};
/ F! @9 s0 D" h! Q/ V3 S  
) [& G/ ?4 G0 @  void DoIt(string[] args)6 G5 k$ V( g  E5 x5 m
    {9 u/ {) v# V" g' v3 v
        Part displayPart = theSession.Parts.Display;& T5 a8 A8 [' h* I3 n5 G, Q" J
        if (displayPart != null) 5 M+ T, n4 D. [0 b$ Y; a/ x
        {
1 d1 s* W. S$ Q& l6 ?2 P1 G            GetPartType(displayPart);+ a. |6 L0 M" i- T& G& ]2 w
            return;
* O1 I, P0 @: j9 E, s  {# C        }
2 F: B' g. I! M4 t
# e3 l: y$ p9 m  e/ y# A
( {$ x" ?$ _8 ]1 W
        for (int ii = 0; ii < args.Length; ii++)
& y3 {' j+ o: u        {
' j; o4 z( j8 S' V9 B  _/ @            Echo("Processing: " + args[ii]);) G+ O& x1 r0 y
            try 5 V' b' }8 q3 v# H: X4 `8 |
            {+ Z( a9 `7 ^! }. J; G
                PartLoadStatus loadStatus;' Q/ j  `+ \2 c
                displayPart = (Part) theSession.Parts.OpenBaseDisplay(args[ii], out loadStatus);5 j# o; y- f: O# s
                reportPartLoadStatus(loadStatus);- S1 A4 @* u7 y* f) y; w$ N" M
$ y" a1 f; Y' @5 o  z0 x( k

3 v" h7 \2 q) I0 M& r                GetPartType(displayPart);# l8 z; n0 M4 |8 P# z

8 @$ O2 B' U3 f' e

0 I) y: n6 f, s# D                displayPart.Close(BasePart.CloseWholeTree.True, BasePart.CloseModified.CloseModified, null);4 p) q' N+ q0 k
            }1 o& i, F$ x- g
            caTCh (NXException ex)
" @$ q/ {& `' x; C: y! z( K3 s            {$ W. f7 c0 n1 Z% s2 r9 N( ^
                Echo("   " + ex.Message);
$ P/ d4 s/ H2 M2 L2 u7 y- g/ n* g& j            }5 K. i- H+ U9 S5 {: {9 P
        }
+ s9 d! f2 I+ b+ r3 n, Q4 i0 }! A    }! r6 D( v$ @; W+ L4 h4 h

  v& ?2 o% n" ~5 q/ t7 D
8 e& r: r+ D, I" b/ v( C
    void GetPartType(Part thePart)
4 Q1 y+ m- G6 e1 f8 ?0 R    {
: I; F. Y* X9 z5 Z+ Z9 ~        int nPartType = 0;# O! _9 M) ~/ r/ a* R% ]0 R+ v7 c4 p
  T5 K, X+ C( O* u4 Y- ?  U7 M

) Z( N' C) m8 S9 W$ [        if (thePart.Bodies.ToArray().Length > 0) nPartType += 1;& {/ U+ O) Z* ?. Z; U
        if (thePart.DrawingSheets.ToArray().Length > 0) nPartType += 2;
, e5 S2 s" g8 N/ i2 I# z        if (thePart.ComponentAssembly.RootComponent != null) nPartType += 4;3 y% }8 ^8 F0 ~# t

" |$ x( c! m$ {* g

% o* y" z; }7 u) ]: x2 ~        Echo( String.Format("Part Type = {0}", (PartTypes)nPartType) );
, h9 r  v7 s* v7 K7 C  V    }& B4 X, Z2 U9 I0 F4 n6 t( A( P

  n! r% F6 U# z$ `, V1 l$ J! 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二次开发专题模块培训报名开始啦

    我知道了