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

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

admin 楼主

2013-10-30 13:46:00

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

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

x
8 ~- K# }' r6 S* V3 g" l( V
  1. Option Strict Off
    " ~7 E9 U9 G; B, A% c* Y. L# R
  2. % q5 @5 }! [4 D0 Z; e
  3. Imports System) L0 `2 U/ M5 [8 @! G& n
  4. Imports NXOpen
    - n% B6 f. X& L8 G/ p; `$ C
  5. Imports NXOpen.UF
    9 s8 N' |! U  _- c- B0 E% {# G
  6. Imports NXOpen.UI/ x4 ^2 l3 T( k3 I, r
  7. Imports NXOpen.Utilities
    ! u2 K9 a+ l% j) z5 @3 a3 C
  8. Imports NXOpen.Assemblies
    1 T# L2 I8 K: N) A  Y8 O
  9. 1 _1 y: k: l: Y3 i3 f( J0 G4 E
  10. Module create_array_of_all_bodies_in_assembly
    ' a2 p5 \: F7 h+ ?0 b! u. g

  11. % |5 c* l, T. M1 z9 Y
  12.    Dim s As Session = Session.GetSession()) U7 C6 X) o1 e2 ~1 w* i/ s+ i
  13.    Dim ufs As UFSession = UFSession.GetUFSession()
    : i' H+ e/ X1 j4 ^1 i$ {9 h' w
  14.    Dim lw As ListingWindow = s.ListingWindow
    ! I1 s' {! z+ r% N2 U3 t

  15. 2 r2 l7 u8 z8 D! n3 g
  16.    Sub Main()7 ~& I$ S3 R/ ^, r4 \
  17.       lw.Open()" V0 h0 \6 d" P. Q% F. t

  18. 7 x5 V% R) I; k7 Z& Y" r. {& h
  19.       Dim dispPart As Part = s.Parts.Display()
    4 Q  {0 O" V$ d5 O* r" l

  20. 0 [" ], `( v; o1 P3 B. _
  21.       Dim root As Component = _: E: m- K$ M/ _7 r6 n* P
  22.                   dispPart.ComponentAssembly.RooTComponent
    3 [/ A  E  L# ^

  23. # g9 ^$ d; T, J+ a
  24.       Dim compArray(-1) As Component
    + y: D; a0 C6 d; Y, a; v  x, \
  25. 6 @8 S& Y( Q( F: V/ G
  26.       stuffComponentArray(root, compArray)1 `8 Z! m$ `  ^

  27. 9 _: n' y# S  }4 L" U2 T/ a
  28.       lw.WriteLine("Component Array Size: " & compArray.Length.ToString()). }: N( H3 W) Q1 |
  29.       Dim bodyArray(-1) As Body
    % p7 Y4 A$ o6 f+ u2 B0 J1 v
  30. 5 x+ ?. z1 J7 _" _% e8 Q
  31.       stuffBodyArray(compArray, bodyArray)
    2 @7 ?' ^$ F: A9 |, w0 E

  32. % h$ B" ^% v% D) R- H  i
  33.       lw.WriteLine("Count of bodies in array: " & _! d0 s. z' f( a2 A- E% J' j
  34.                    bodyArray.Length.ToString())2 z6 x+ C3 I& z5 T' A) t
  35.   o6 _5 d" T: e, U, j" |# k- K5 B7 C
  36. ) }8 j  [5 f8 U6 b  c0 N
  37.    End Sub- I* i3 J% m0 p/ o* t6 `! y- ]

  38. 5 ]! a  u& l: P+ ~* e4 o! `' N9 k$ X
  39.    Public Sub stuffBodyArray(ByVal ca As Component(), ByRef ba As Body())
    4 h9 x2 w6 g2 \9 n0 m8 e8 x1 b

  40. $ [* l, J5 u, R
  41.       For Each comp As Component In ca
    6 t( M* T/ {: W# H
  42.          Dim c_part As Part = comp.Prototype
    % A: K+ j% B- J+ S7 c$ a7 v, `
  43.          Dim localBodies() As Body = c_part.Bodies.ToArray()
    7 p1 I; [9 g" h! |( U
  44.          For Each thisBody As Body In localBodies
    . G! G1 J* }4 u, l
  45.             ReDim Preserve ba(ba.GetUpperBound(0) + 1)
    ; C: m, `$ j$ a' l
  46.             ba(ba.GetUpperBound(0)) = thisBody
    * d# p4 D$ S: u! S1 C1 A- K( ?
  47.          Next
    & g& `+ E2 ~' \/ u0 a+ @
  48. : G% t' F9 J5 N" ]3 J
  49.       Next
    1 }6 R4 s& a9 `" C" A  n
  50.    End Sub
    # m" w( W$ X4 m- n
  51. 7 Z. ~* A* T/ q. K# C! {4 v9 `
  52.    Public Sub stuffComponentArray(ByVal cmp As Component, ByRef ca As Component())
    ; |  f% i' s& h6 z5 t
  53.       Dim child As Component = Nothing
    ! r) N: T) F( e" u( n0 ^1 X* Z9 _
  54.       For Each child In cmp.GetChildren()
    ; l! ?1 Z3 i( r; T' Q/ @
  55.          ReDim Preserve ca(ca.GetUpperBound(0) + 1)
    1 l3 h" J" d* S7 y3 m
  56.          ca(ca.GetUpperBound(0)) = child
    0 W% N/ E: }' X: t# B8 F/ q3 I4 A
  57.          stuffComponentArray(child, ca)) c7 f0 R- M3 ~1 `
  58.       Next- x! o; a: C# Y9 t* h! p
  59.    End Sub
    ( U+ a+ j5 m: Y% f: i7 O

  60. 8 O9 W% X  J  x: ?& g( B# M0 \) ]
  61.    Public Function GetUnloadOption(ByVal dummy As String) As Integer1 V; h' H4 G7 F/ ?$ G" ~& G3 V

  62. / B: l: f! F3 t
  63.       Return Session.LibraryUnloadOption.Immediately
    $ f8 T& g% l- I9 Z7 w

  64. ( M' t8 e1 R/ w/ N/ a  w
  65.    End Function, r$ W( r# [) ^: I7 t9 [6 n

  66. ( U, {7 Z5 H  K% n( ~7 _/ D
  67. End Module9 A% f3 c* {  b* ~
复制代码
3 \# `# {4 J: D- T- e: E3 [

$ G& k  U( `+ M; N6 u1 g) A/ B* K! Q& e1 x+ r
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了