PLM之家精品课程培训

PLM之家精品课程培训

联系电话:18301858168   |   QQ咨询:939801026
NX二次开发培训

NX二次开发培训

UFUN/NXOpen C++和实战案例

适合初级入门或想深入了解二次开发的工程师,本培训结合ufun,NXOpen C++,大量的实例及官方内部的开发技术。
公众号二维码

关注公众号

点击扫描二维码免费在线高清教程

课程详情
Catia二次开发培训

Catia二次开发培训

市场需求大,掌握核心技术前景广阔

Catia二次开发的市场需求大,人才稀缺。掌握开发技能潜力巨大,随着经验积累将在汽车、航空等领域有所作为。
B站二维码

在线原创B站视频

点击关注工业软件传道士主页

课程详情
Teamcenter培训

Teamcenter培训

全方位培训,从基础应用到高级开发全覆盖

涵盖用户应用基础培训、管理员基础培训、管理员高级培训及二次开发培训等全方位内容,由多年经验讲师打造。
QQ群二维码

加入同行交流

点击扫描二维码加入QQ群

课程详情
×

PLM之家plmhome公众号

课程涵盖: PLM之家所有原创视频

×

关注B站视频

所有高清视频一览无余,全部在线播放学习

×

加入PLM之家QQ群

同行交流,疑问解答,更多互助

PLM之家PLMHome-国产软件践行者

[二次开发源码] NX二次开发源码分享: 如何判断当前零件的类型,很聪明...

[复制链接]

2018-7-27 11:00:30 2062 0

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

admin 楼主

2018-7-27 11:00:30

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

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

x

1 A0 G* ]  I$ M) D: ^
6 Y3 |, G$ F$ wNX二次开发源码分享: 如何判断当前零件的类型,很聪明..." ^2 z, T  E+ O" `: H

+ s* ^& s8 M& }

; M/ y/ }2 h" ~2 R( D7 C大体思路如下!!' L) E: I- i' F( s( O

, ~! a4 E8 ]" K9 h, Y, X
- r! n3 j7 a; Q: C# z# o   enum PartTypes {Empty=0, Model=1, Drawing=2, MasterDrawing=3, Assembly=4, Undefined=5, MasterModelDrawing=6, Invalid=7};0 c# d( L$ n% y4 X5 R2 `& U
  
+ n9 S. {0 _  @% L3 Y) I  void DoIt(string[] args)
: `8 v: I' i, f( W6 O& |    {7 O9 x+ E5 W' A8 g8 O0 n# n( U7 m
        Part displayPart = theSession.Parts.Display;
3 @* p5 n  G; w, E! g9 Z        if (displayPart != null)
# @# y5 q/ q# V) H, I/ s        {; p" K# k6 p, J7 a
            GetPartType(displayPart);  L, [# B8 l* [
            return;7 p: y9 I* X- |+ Y$ R! }: _
        }- w  m$ d1 A3 r+ d( k; k
3 Z4 o/ {9 w7 E9 v4 t
+ E( U; _  [0 j, Z+ B$ r7 [( ]
        for (int ii = 0; ii < args.Length; ii++) 2 W8 {+ \9 Z" }* {
        {# e- C- O4 X) n1 ]0 {, x
            Echo("Processing: " + args[ii]);
8 X9 h% w+ M6 b" @/ @# s            try . W( Q; U" }; Q* p% C& ~
            {& _3 E" B' ^% p6 M, B/ O( \
                PartLoadStatus loadStatus;
( O; V$ j% B1 f9 K& f                displayPart = (Part) theSession.Parts.OpenBaseDisplay(args[ii], out loadStatus);
8 O5 A2 G0 b& o                reportPartLoadStatus(loadStatus);$ J% J7 C+ R! Y; ]

* I9 l+ q# \* b

2 D& ^# _+ k  D! z4 u                GetPartType(displayPart);
  ?) T/ M( B5 e; y) g  L& B5 U! j1 S! F: c) X: e' H, o/ c5 ~
! S! P/ O: Y  h1 ~
                displayPart.Close(BasePart.CloseWholeTree.True, BasePart.CloseModified.CloseModified, null);
, h, j) O; z/ w" A, Q( _. i            }
( i4 Y, j; F. U3 b; ^            caTCh (NXException ex)
  X$ B' G$ U' z6 W7 j# S            {
7 R5 p$ l0 h# ^- S4 i6 Q                Echo("   " + ex.Message);6 d4 r& j/ R4 Q: Y
            }
' L3 ^2 C1 ?; f8 Z/ @        }( d, X8 C7 h9 T! ?0 [% f
    }
. |, M; L5 h- |) r; t* t7 i
0 b% Z+ J3 t5 d" E$ B9 X
; F& ~* h* m7 |5 M
    void GetPartType(Part thePart), K( _# H- d6 ?8 m1 w5 H$ ~
    {0 R9 a8 \9 P% w( o2 f
        int nPartType = 0;
* D, J0 s9 P; K- _5 F1 k. M9 r7 Q. B4 {- E

  b5 O2 n, c% m5 a( M        if (thePart.Bodies.ToArray().Length > 0) nPartType += 1;
* i! A0 }) }) {4 {9 V$ D) K* D        if (thePart.DrawingSheets.ToArray().Length > 0) nPartType += 2;% j& a( j0 Y$ l+ b5 C# N7 h! A
        if (thePart.ComponentAssembly.RootComponent != null) nPartType += 4;
0 h' L1 o* n) q* D% T( [: i
! m/ ?0 f$ A& ^: P) j

4 A# O- V5 C0 t5 \        Echo( String.Format("Part Type = {0}", (PartTypes)nPartType) );/ \. y  V+ e) K) N$ h  q$ o
    }
0 \( F; m. `  S
9 Y# ?3 N: L% l. ~* r+ 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二次开发专题模块培训报名开始啦

    我知道了