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

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

admin 楼主

2018-7-27 11:00:30

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

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

x

" g; T. {3 [' c7 F8 }
$ M" U, J! M! |" ~. U/ D' ^NX二次开发源码分享: 如何判断当前零件的类型,很聪明...
6 L% t. o, m: A8 y  V0 T) S* A2 ^7 r- s$ y" |
1 p8 {+ s2 y# b
大体思路如下!!
1 x) i1 z; v% [
! ]9 N) _) ]* x$ R' c
2 M8 g5 F' H4 B; n   enum PartTypes {Empty=0, Model=1, Drawing=2, MasterDrawing=3, Assembly=4, Undefined=5, MasterModelDrawing=6, Invalid=7};
/ u5 H# X) z  W) J* L  1 u/ T- d$ ^* O
  void DoIt(string[] args)4 Y2 Q! k3 F9 p; }+ @/ q
    {- z; b4 Q  a& w! D
        Part displayPart = theSession.Parts.Display;  ^" }5 M# d- {# q3 F
        if (displayPart != null)
9 }# O+ X2 j4 X. @) [  h4 O0 }% r% j        {+ U: @; j+ p0 L! r6 @, R
            GetPartType(displayPart);
* v# h$ w. n) X            return;
7 n& I1 U" L+ \        }! b) J  S- X. j! N' H3 ?

1 Q( {1 L% \7 N1 q* v0 H2 H
  D/ S9 X* C% X9 t
        for (int ii = 0; ii < args.Length; ii++) ! L* n/ t/ G- o' d
        {
& I' T! G' n" c4 ]. c            Echo("Processing: " + args[ii]);
  p: Z# S7 {4 z- n  y, F            try
& I$ t1 g( Z' F  G* q            {
% u4 C# }4 I, n; s  C9 @3 M                PartLoadStatus loadStatus;! A  g. {6 q% M/ k  F' l4 S0 c
                displayPart = (Part) theSession.Parts.OpenBaseDisplay(args[ii], out loadStatus);
  j; D( J+ y) m6 n% f9 j9 t                reportPartLoadStatus(loadStatus);
( I2 r6 `8 j& ~. D0 c6 N% E
* o6 N3 c# v8 ]) E6 j% @# D" z( @

. z6 Y- a- ?: u* C& e: l                GetPartType(displayPart);
! d( O( J- f1 a8 H; r) g; N3 h  e
% i. l: M& I- X+ S' @* a$ J
" S( l4 k" ]' z5 b
                displayPart.Close(BasePart.CloseWholeTree.True, BasePart.CloseModified.CloseModified, null);
8 e7 a. }# l# _; s* ~/ U. u3 b            }
, I" B+ \4 H6 @, p7 K6 u3 Q            caTCh (NXException ex)
: J8 B5 L- _5 j9 [  p% G- u9 N            {
  V8 ^& B  f' m7 x" B+ O% w                Echo("   " + ex.Message);, U$ x6 J! X5 A& x( H0 v
            }
) n1 B9 v6 f7 a% `9 }2 G7 m        }, f7 C; G$ F  ~2 g: l" k
    }! G8 r$ ?- j  s( @/ Q" j
# o, P: t' d/ p

/ @1 V6 [: H2 u, K    void GetPartType(Part thePart)7 p2 V# Y7 L/ ?
    {
3 s8 j4 B0 g& Q3 ]# z3 A# l+ i2 z        int nPartType = 0;
0 J" H2 E6 G& ?2 @
0 x+ O$ o9 r8 V
' k6 e4 D' a& h5 A" ^& r* }2 n) T7 j
        if (thePart.Bodies.ToArray().Length > 0) nPartType += 1;
$ M+ ]6 c) ^5 Z9 w* c( z        if (thePart.DrawingSheets.ToArray().Length > 0) nPartType += 2;
" n; L- R* z: W- R        if (thePart.ComponentAssembly.RootComponent != null) nPartType += 4;& i5 F1 d: b" M" Q
" j( R+ y$ I2 V1 f' d, ?: Q

9 Y/ N* |3 E) F/ k        Echo( String.Format("Part Type = {0}", (PartTypes)nPartType) );
% T4 U: y8 F( y1 f2 f: N0 X    }' l2 \1 k% m/ ?) g8 g2 c4 U; ~/ q

( `  F5 O  t  j/ b% w- J
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了