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 二次开发源码:从整个装配上获取所有的实体

[复制链接]

2013-10-30 13:46:00 3516 0

admin 发表于 2013-10-30 13:46:00 |阅读模式

admin 楼主

2013-10-30 13:46:00

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

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

x
; V! _! ]6 Q0 ^& @8 }) n. W
  1. Option Strict Off
    ) {. L' d6 r/ B* g

  2. ! n2 ]# ]& N/ m( F. F
  3. Imports System
    . y% g! W, u0 d+ Z5 \
  4. Imports NXOpen
    . C+ {- r/ k$ K  m/ i
  5. Imports NXOpen.UF
    / C8 ~: j6 C$ Y7 b
  6. Imports NXOpen.UI( \* \. d8 S& c* J
  7. Imports NXOpen.Utilities: I% |6 @  i: \# q8 m/ {
  8. Imports NXOpen.Assemblies6 R  T, H. ], y+ g
  9. / ~) w' L; n. u. L
  10. Module create_array_of_all_bodies_in_assembly
    9 ?( a2 P9 x7 ]
  11. 7 i9 H* q2 e: \
  12.    Dim s As Session = Session.GetSession()
    7 B. m0 }4 E& s+ h' f
  13.    Dim ufs As UFSession = UFSession.GetUFSession()
    0 x7 M( [  ]9 p: j
  14.    Dim lw As ListingWindow = s.ListingWindow; d& ?8 f, N! N) v# X- Y) k+ J

  15. 6 R6 _! A- X1 r0 ]- S1 g3 A
  16.    Sub Main()' w1 Y, s- G& R( D
  17.       lw.Open(): r* W! z' Y2 F, O# t
  18. , y; {0 U! P9 F
  19.       Dim dispPart As Part = s.Parts.Display(); U3 m0 `! V8 S( x  r) X
  20. ! p( k* u9 W: x0 {8 m5 a. s9 u) a' k; [
  21.       Dim root As Component = _9 A; q7 D) A0 {6 g
  22.                   dispPart.ComponentAssembly.RooTComponent
    : N. \; i% c) C0 L5 P. p5 o

  23. , I( N/ d  o) V6 V% K3 g; H  `9 Q
  24.       Dim compArray(-1) As Component
    $ s7 @8 N6 n& j
  25. , K, y3 J. |' K5 g' D) h9 D5 o. q
  26.       stuffComponentArray(root, compArray)% n9 [( M  d; M1 l' g2 i
  27. / X4 y  L8 O; |2 E" F" x! X. M
  28.       lw.WriteLine("Component Array Size: " & compArray.Length.ToString())5 C8 o1 }  c; E+ H+ T
  29.       Dim bodyArray(-1) As Body7 x. O/ U6 b' {! z' e

  30. ; O; {, g; Z! D1 l( w) B4 h. R8 W
  31.       stuffBodyArray(compArray, bodyArray)+ a8 u$ j6 \6 p3 Q7 j8 Z' L

  32. ( e! }  J" I" E" i8 M' g- F% ]
  33.       lw.WriteLine("Count of bodies in array: " & _
    $ j" {4 l' H  c  V
  34.                    bodyArray.Length.ToString())
    2 `& t) k* J2 M$ \

  35. ( l6 ?/ P- [; ]; d

  36. , C. p0 N6 g  c* p" w/ h
  37.    End Sub
    , V4 G. H) z' F6 G  ]$ c8 H+ K7 j* ~

  38. ! a. N$ \, Y5 u" k3 }' b( n
  39.    Public Sub stuffBodyArray(ByVal ca As Component(), ByRef ba As Body())
    8 ~, G, F$ B3 I. ~+ E1 w9 C: R

  40.   L, k2 X8 V: b
  41.       For Each comp As Component In ca* L; H- t, p" Q" g& z! c" _! G+ |
  42.          Dim c_part As Part = comp.Prototype: U: ^; r; q$ Q& p! H$ V: F
  43.          Dim localBodies() As Body = c_part.Bodies.ToArray(). O2 G8 C, h' K6 p1 G
  44.          For Each thisBody As Body In localBodies
    % F( I; t/ n+ d' _
  45.             ReDim Preserve ba(ba.GetUpperBound(0) + 1)& r4 _# R3 b- s! o4 b& X0 k
  46.             ba(ba.GetUpperBound(0)) = thisBody
    * m7 u8 G* O" P4 q& w$ u& c) U
  47.          Next% `$ O; H% P( o" N! C

  48. * [' y, o- ]1 G* u
  49.       Next
    ; Q$ T5 y* _! h$ E; ?& `, `
  50.    End Sub
    5 P7 W0 Y/ C  `# r0 N

  51. 0 W. ]$ R0 P6 ~0 ~
  52.    Public Sub stuffComponentArray(ByVal cmp As Component, ByRef ca As Component())6 i! C% }# {* N* F8 N1 P3 M
  53.       Dim child As Component = Nothing
    6 T9 Z1 x( W) c& f3 b
  54.       For Each child In cmp.GetChildren()- {4 i  }* N( A+ H, |8 c) o
  55.          ReDim Preserve ca(ca.GetUpperBound(0) + 1)
    : `0 u9 k6 {* B* f7 S) H9 R
  56.          ca(ca.GetUpperBound(0)) = child/ s3 W7 {, P2 O
  57.          stuffComponentArray(child, ca)7 V' z& F; x/ Q( }
  58.       Next  u4 K: A/ `; s; w
  59.    End Sub2 Y3 Q8 J8 C4 e! t( u6 u! ?. P

  60.   E( E+ S! h% r. b
  61.    Public Function GetUnloadOption(ByVal dummy As String) As Integer
    : C3 e" w; g5 t& D

  62. ; R; Z# W  i9 a, m
  63.       Return Session.LibraryUnloadOption.Immediately
    & X& @/ C1 m6 \! k) h' m
  64. ( J/ R  m9 G) C
  65.    End Function% k! d, I- t) u* ~* P0 \; S- W- n0 e

  66. ( O! x9 }. g9 O: N
  67. End Module7 V; M1 `, A+ B
复制代码

! T3 w8 v9 \: |4 Y
% h7 p- p) d  ]+ A- e% O6 K
/ Y0 O5 Z" H3 u4 l2 q; |  [
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了