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 2022 0

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

admin 楼主

2018-7-27 11:00:30

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

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

x

* D! L  ~7 a: F2 |( Y' C; w% I: c; C7 S, k8 G
NX二次开发源码分享: 如何判断当前零件的类型,很聪明...
8 @3 j, G. ]: j, r. P
% [3 q4 y/ |- u+ V  i4 A
3 h8 p8 p/ D. f7 Y# }- ?( o/ J
大体思路如下!!3 _  k  S; M. N! _

2 l0 ~! U( T( S, S. C6 L3 v( ?1 s3 t8 j" O3 F; O' n
   enum PartTypes {Empty=0, Model=1, Drawing=2, MasterDrawing=3, Assembly=4, Undefined=5, MasterModelDrawing=6, Invalid=7};! y' ~& J: q) a  E
  
9 a. p7 i! ?# q% j7 \* C+ l  void DoIt(string[] args)7 S. @, y1 S2 n$ V( T# R( o
    {
5 x& B% l& ^7 F+ h) P8 ?, ^1 ~        Part displayPart = theSession.Parts.Display;2 A* s, t# @5 N4 V4 o- D* u
        if (displayPart != null) / \* S4 T: r( n. k: x
        {
. b7 R( s7 ]" {            GetPartType(displayPart);& o# }& a& j) b' ]0 k" n
            return;! P/ Z, N2 `$ b% t7 ?
        }
. T! r  F0 S( z6 v+ c- S  ?
4 B/ {. v7 r* b1 A3 z1 I9 @3 H# }' }  \
4 g  c# ?$ p8 G$ |# Q
        for (int ii = 0; ii < args.Length; ii++) / M# z: a4 J4 g* G+ X3 G
        {4 a: W+ y2 v' Z
            Echo("Processing: " + args[ii]);& t9 H5 U% j" p- ]- p  `1 d! F) P
            try 9 u8 G' p/ R: w! u0 {
            {2 B! Q6 O3 L" s+ V% W0 U
                PartLoadStatus loadStatus;* E1 }5 i% `- T% W
                displayPart = (Part) theSession.Parts.OpenBaseDisplay(args[ii], out loadStatus);
- }1 B' F  W( T9 m                reportPartLoadStatus(loadStatus);
" |8 _) ~2 a/ z. ?8 L9 p: ~1 N5 B9 G0 Z' q# \
/ p1 O( u7 h  W: R6 J
                GetPartType(displayPart);
6 N1 L& F7 r% ~
+ D" I8 m, t  W: J8 A3 ]+ |. u

- v8 K$ B4 j. `( Y6 `% K* @! s1 Q                displayPart.Close(BasePart.CloseWholeTree.True, BasePart.CloseModified.CloseModified, null);
; ~- J: v& l0 C6 ?2 t; o; m            }
0 q* Q/ T' A0 V4 ^( a9 u            caTCh (NXException ex)' e- r- c2 w) r9 X% M
            {$ @" h& r/ {8 w. \
                Echo("   " + ex.Message);
& ]6 L8 s: H3 P7 I, G5 o  Z            }
* x& z1 R" D$ g2 y        }
' n0 ]8 U8 f: R# j: L" [7 M    }4 X7 i8 R9 E5 h# z" a8 {2 r+ P

7 S8 [: t- D, \0 n6 x: ^5 p
/ f3 T7 R4 U& h6 E9 K
    void GetPartType(Part thePart)! C5 A$ Z6 c% U7 C9 m0 I
    {
% z8 P- E0 N6 ]8 P( `8 E: X7 `2 L        int nPartType = 0;
4 G" k7 [) ]2 g0 A5 C9 `, X/ o: S$ F6 j$ q; ]' G9 z

) n5 Z* _  V3 ~+ [        if (thePart.Bodies.ToArray().Length > 0) nPartType += 1;) q2 }# g  B0 _8 b# a# ]9 v
        if (thePart.DrawingSheets.ToArray().Length > 0) nPartType += 2;
" {; T3 v6 t0 W0 z5 n' }$ d! A        if (thePart.ComponentAssembly.RootComponent != null) nPartType += 4;, S4 C" H. @! i  O3 U

: ~" \- p8 e8 O* }) f

) W* g, R8 c: W/ i" D% d        Echo( String.Format("Part Type = {0}", (PartTypes)nPartType) );  `8 a3 ~" f4 R5 N: I6 I
    }
7 }1 z8 O- T4 ]
' }* {3 b! h* e; P* K
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了