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

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

admin 楼主

2018-7-27 11:00:30

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

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

x
$ K& ]' x  A0 ]& T; J, G+ p
5 M2 p1 }  T- q6 R9 h3 \
NX二次开发源码分享: 如何判断当前零件的类型,很聪明...
, [( x" Q- V  Y7 z: j- M& k
  E' X! z0 j$ T  e- K. O- }- U+ k

) U! d3 s1 R+ {4 L" G. R& x6 @大体思路如下!!2 \& y7 _/ c" R7 O* z7 H+ b
/ u7 u7 N5 u& Z; n% C2 F$ l

, ]1 f  G  z- o# X$ k' ^: S   enum PartTypes {Empty=0, Model=1, Drawing=2, MasterDrawing=3, Assembly=4, Undefined=5, MasterModelDrawing=6, Invalid=7};" u, `! L1 U1 C5 J- U% Z
  : O+ g' Z/ O# N1 U% i! V
  void DoIt(string[] args)
' y3 X8 P( E, Z    {) c% a+ d0 ]+ s
        Part displayPart = theSession.Parts.Display;' `2 }( y( N* L1 F  @9 |6 o
        if (displayPart != null)
6 r/ _! `# d0 w/ U9 Q        {
, d2 H) z$ e( i            GetPartType(displayPart);$ P) d; `# p% B0 w: F% }
            return;% P1 r8 w0 }8 b8 i: [) N
        }
/ t! G; U# \6 Y7 P% N7 @
" e1 E5 H' _& H" u
* h! z# g7 B2 s, F) c3 z( F
        for (int ii = 0; ii < args.Length; ii++) 5 b9 I1 u3 n! A
        {2 @6 D" ~8 v; v1 |, L0 `
            Echo("Processing: " + args[ii]);
0 d; U3 a, }0 [/ ~# b' g% `            try   P9 d4 O8 R$ c( O8 r) j! Q
            {/ r; v! y7 d4 n  v5 M8 q
                PartLoadStatus loadStatus;/ E6 ]( P* J- ]
                displayPart = (Part) theSession.Parts.OpenBaseDisplay(args[ii], out loadStatus);
' {7 o( f, n" L. V                reportPartLoadStatus(loadStatus);, y' w0 a& g5 L! Y3 p/ a: {4 J
& c+ h  T/ U4 B- ^
% u- n1 r. ~8 a& T; y+ O
                GetPartType(displayPart);
3 W0 C2 `9 h/ V9 ^5 @( Z* Z- Q( Z6 ?, D* ^( B/ t0 X, W% i$ a
/ V$ N: u- r3 I/ I4 I+ Q
                displayPart.Close(BasePart.CloseWholeTree.True, BasePart.CloseModified.CloseModified, null);) [% T; r. r* l6 W
            }3 D' J- E( w5 X' F
            caTCh (NXException ex)3 V5 _( w# j3 [$ I3 j. P, D
            {- w7 f6 Q% K" [7 S: }" C* c! S
                Echo("   " + ex.Message);; H! g, N& c5 M0 R0 n
            }- `1 _  U- Z: \6 R& h% \" h/ k
        }. E8 T( F: g1 v& `% Q
    }
" q; E! H- A! ]2 w6 j( H- F- s, h/ `1 B' G/ I7 w
  b2 R" m" g  j3 v, K7 Z9 [1 Q) T
    void GetPartType(Part thePart)
! c& T6 y: V; U6 C1 U: L    {
8 O1 m. v/ p' m7 P- n; g        int nPartType = 0;
3 b* Z3 O  J. W; ~1 z8 }9 e* s
. S$ w+ q& ^$ d. ^2 c
, [! _/ B+ Y7 g# t
        if (thePart.Bodies.ToArray().Length > 0) nPartType += 1;$ a7 a, T8 E* \9 H1 w- n
        if (thePart.DrawingSheets.ToArray().Length > 0) nPartType += 2;1 w, A. K7 t% A- l: j, A
        if (thePart.ComponentAssembly.RootComponent != null) nPartType += 4;! i: G# h9 Z- `' q7 ?% u! \: {; P
. L9 t6 c# @5 y" t- m+ x

& |# m' t5 n1 l6 T" U. v" }+ w        Echo( String.Format("Part Type = {0}", (PartTypes)nPartType) );
: k' e  _4 G2 z1 {! A$ n    }
& p+ @8 U, h; U, \+ M
3 w- d2 z8 @* k4 e- o8 H
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了