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

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

admin 楼主

2018-7-27 11:00:30

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

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

x
3 W; b, K8 D: H* G+ F+ N

0 K3 f* v+ [7 K- C# C7 t2 pNX二次开发源码分享: 如何判断当前零件的类型,很聪明...
( P$ x- B% W3 U: w( Z2 {
! a0 Q9 A5 ?- t" |
& U4 `+ H3 r+ X
大体思路如下!!3 D  ^+ \; B7 V/ ?/ ^6 k# ?( [2 \
: o1 s" _% N4 I  c% ~/ _2 q- i' Q

% I- h$ o4 L0 K8 }" I4 I( }   enum PartTypes {Empty=0, Model=1, Drawing=2, MasterDrawing=3, Assembly=4, Undefined=5, MasterModelDrawing=6, Invalid=7};1 Y9 ^3 m- \; X/ ?
  % @3 [! t1 i: K
  void DoIt(string[] args)
+ Z- c( H, A: ~3 T    {
- Y0 [: q% y9 O; \0 ~3 t" a  O        Part displayPart = theSession.Parts.Display;
( b" L2 p+ O5 j5 `" W: j        if (displayPart != null) ' a; v9 _: e) x  z
        {5 `1 n( v4 G+ ^: P) A
            GetPartType(displayPart);9 p0 y1 @: _% P/ b
            return;2 c1 V+ T2 w* L/ v
        }
) ?0 L' S9 B* C( H" [
) t% U, |- N0 W, O3 G1 Z; e8 |
* \% K7 i* ~  v* r* l) N$ }
        for (int ii = 0; ii < args.Length; ii++)
4 g4 Q. P# \1 H3 c1 F        {
7 q# Z! @. I0 Z+ ^% w! k            Echo("Processing: " + args[ii]);
4 V, s. _+ V1 t2 m7 E* Y& ^3 h- w            try 1 u& E$ k5 p. G. ?, w; B( \
            {& _+ t% u$ v5 _9 r% M5 ]3 G, |
                PartLoadStatus loadStatus;/ s( M! `# S) `. F
                displayPart = (Part) theSession.Parts.OpenBaseDisplay(args[ii], out loadStatus);
5 z: h: B9 T, O                reportPartLoadStatus(loadStatus);  I' W# T* P) y9 ~3 l
* l4 `& @7 n+ J; F
2 y$ T1 b7 u; P$ F
                GetPartType(displayPart);  H) v( T. C6 q' ]3 \5 M
) {. X' w7 \: A  K* u2 K

  d3 o6 g: V4 T: C                displayPart.Close(BasePart.CloseWholeTree.True, BasePart.CloseModified.CloseModified, null);
/ i$ N( i6 }  k            }" |8 Z0 ?, i9 v4 E
            caTCh (NXException ex)
( u' p3 ~; k0 j; B, ?3 a            {
- V: }4 J# x% _" d                Echo("   " + ex.Message);
  u1 h  T1 o% |! G; m, J; q; C1 I            }
, j' f8 F* R; z        }9 Q1 G- w7 G9 ]! |5 m( p3 Q6 I" Q. ~
    }
8 K% u! G3 @' d% ~( J3 Z' e9 Y2 C
9 |- i7 E1 d" ~# T
; H3 h1 c4 c8 d2 Y4 n) N. l, w
    void GetPartType(Part thePart)
" C! H% C6 x/ f7 U5 l# U    {
. e) O2 m/ }! k0 ]& L9 h- Y/ w, C        int nPartType = 0;
8 C1 ]+ o$ w8 G2 @. {6 U% e: ~* ]  _* L
6 X! W  g7 u# M* ~2 f
" t3 {! v1 h* y3 S* B) Z
        if (thePart.Bodies.ToArray().Length > 0) nPartType += 1;% \  }& K. ^1 ?4 i
        if (thePart.DrawingSheets.ToArray().Length > 0) nPartType += 2;
1 F3 ^" G9 R$ V9 I$ d$ ^        if (thePart.ComponentAssembly.RootComponent != null) nPartType += 4;6 R+ H5 j1 J+ G/ [6 s5 i2 C
7 D" l; |# O% z% t2 ?

. j# d0 a6 F3 c) R; x& Y4 d" n        Echo( String.Format("Part Type = {0}", (PartTypes)nPartType) );1 G! ~) ]% G% o% s& Y
    }
" B' O! {4 z9 _$ R0 \+ T1 u# z# b, Y9 r& V! [6 c# `5 x
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了