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

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

admin 楼主

2018-7-27 11:00:30

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

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

x
+ m( o* _0 i1 C4 t* L% g

2 j& ]0 ~# ?) K' t% z/ `NX二次开发源码分享: 如何判断当前零件的类型,很聪明...
! S% U+ h/ T' T! i" i2 P# r% A/ |+ o$ ~5 Z. N

( ]% e5 ^" E0 g1 d) P+ z大体思路如下!!7 o, f$ Q5 K0 J& ^% s$ x

; I, v. \- l6 g% u( H  g" C
1 T; p( J* D; b( K$ p/ y   enum PartTypes {Empty=0, Model=1, Drawing=2, MasterDrawing=3, Assembly=4, Undefined=5, MasterModelDrawing=6, Invalid=7};) n( ?* w, K5 |5 L+ j
  
: d. N! k9 h* |& v0 ]1 Z2 s  void DoIt(string[] args)
0 r) F3 T, Z$ F6 @9 L' D: h; T    {
8 V8 ]( \" X$ Y# ^+ E+ p1 U        Part displayPart = theSession.Parts.Display;3 k/ X: R2 g9 ~9 U% `- E
        if (displayPart != null) * [0 Y1 i4 r3 e; R$ h
        {* ^5 l2 Q, O5 V9 l
            GetPartType(displayPart);5 d$ g) P, L) A! y% X" w
            return;
" |, o% I& @  m* m: e# C" d1 O        }& G7 T" }: n  |  B+ Y9 D& P
6 W- k4 o- M( I) `8 Z

  o% ~+ f) o: W; S, a. h        for (int ii = 0; ii < args.Length; ii++) + O# L  K& q/ [
        {
) C3 L& T, `+ f" z            Echo("Processing: " + args[ii]);1 g7 {6 r8 m% a2 S7 H
            try 9 x9 ?( P! B# _7 C: l
            {
5 _$ n% {6 b- Z8 V                PartLoadStatus loadStatus;% t/ |* f. d; C- `- X  j8 ]
                displayPart = (Part) theSession.Parts.OpenBaseDisplay(args[ii], out loadStatus);
2 `/ S4 t) J0 z/ p                reportPartLoadStatus(loadStatus);, H1 N, C4 E2 r0 S3 R0 g$ X) p
. Y( k7 I. B% t. c+ E: f

+ V/ L( T8 j/ Q$ F& k* Z/ Y5 N6 i                GetPartType(displayPart);
: c) W$ t0 n' `+ M: {9 s% P  ~0 f* \% j* Q; i  ^/ n4 @7 F$ N; D

2 K$ w* n% O# I9 v2 x9 w- ~                displayPart.Close(BasePart.CloseWholeTree.True, BasePart.CloseModified.CloseModified, null);
  L- |2 w3 y  i            }
4 C" @2 P" q& |5 z( B- p3 M% ]            caTCh (NXException ex)
5 H9 l9 E3 P- m! S3 ~" K  \            {+ d( z8 l8 n  f, h! F/ B
                Echo("   " + ex.Message);6 A, Q" l0 l3 ]
            }* h% u/ ?6 L* C
        }+ b, `# l$ J( |& Y$ `: Q$ Q+ m
    }
# q- h9 h2 X8 r+ Z0 k' n$ X6 V2 Q4 a  E

0 H' N4 ]" R( R- X. u5 ?    void GetPartType(Part thePart)
# o- ~- `% `/ w9 |( G    {: M, L0 l. X& k  @. ?* ~0 v
        int nPartType = 0;; |  _- w+ a' i  m
1 G4 w- y& q" @0 |+ }

5 z2 ~) x' H+ {9 c  t        if (thePart.Bodies.ToArray().Length > 0) nPartType += 1;
! ?- x# c0 J4 A& u1 N        if (thePart.DrawingSheets.ToArray().Length > 0) nPartType += 2;  L5 ^& h/ N* `
        if (thePart.ComponentAssembly.RootComponent != null) nPartType += 4;
* |4 ^' Y" B9 q2 J' n3 k
5 I$ T% [- r" h) q
& X  Q4 b* G" i: M. {
        Echo( String.Format("Part Type = {0}", (PartTypes)nPartType) );) B3 N2 k& Y2 Z) _, C8 Y$ Y
    }
- G* }* l& n2 X1 Z* Y/ V3 D4 i- A) I9 e' v
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了