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

[复制链接]

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

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

admin 楼主

2013-10-30 13:46:00

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

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

x
! ?) r3 B$ ?8 v# v" h- {, x- Q9 ~
  1. Option Strict Off) C) `2 ?1 H+ P( K$ [

  2. 2 N7 M; S8 ~9 x: r
  3. Imports System# |8 ]$ L9 g  d" f! {7 ^+ x2 M
  4. Imports NXOpen
    0 H( Z8 A: o) }& V2 R
  5. Imports NXOpen.UF  ~4 n4 U" X+ a" A% _
  6. Imports NXOpen.UI. i! E1 F4 {$ o+ ]) ^5 E0 M2 E
  7. Imports NXOpen.Utilities
    + d: e: f9 E, @# x/ j
  8. Imports NXOpen.Assemblies! m- X# j, |. M/ g; g
  9. $ q9 l1 U2 Z9 v7 L# g
  10. Module create_array_of_all_bodies_in_assembly3 j; r- _$ M: @0 k+ @4 @
  11. ! ?$ S" M: \! S; o0 p; {
  12.    Dim s As Session = Session.GetSession()* @# c) Y; T/ [& a4 k4 Z
  13.    Dim ufs As UFSession = UFSession.GetUFSession()
    * i/ _6 g( `8 o3 c& d2 s
  14.    Dim lw As ListingWindow = s.ListingWindow
    1 I8 O  O, }4 A7 v% {$ S
  15. 0 _7 ~# m: h" }4 W
  16.    Sub Main()7 h; y9 E5 z* B
  17.       lw.Open()
    0 l) G; @, Z& H' I( l/ U, F5 t
  18. 3 b8 }. s3 \- b, f& f# B
  19.       Dim dispPart As Part = s.Parts.Display()
    , r' |- L+ f* G& I

  20. * O+ X' \; u: Z
  21.       Dim root As Component = _
    1 o, G+ h1 \$ K; n" t
  22.                   dispPart.ComponentAssembly.RooTComponent
    / g$ T6 y( s; N; V3 C
  23. . \: W1 c: v2 w( s6 q! C
  24.       Dim compArray(-1) As Component
    - J' {. l! t  r6 F$ L$ w, y6 y9 k
  25. + a9 g+ R) e5 a2 ~) Y
  26.       stuffComponentArray(root, compArray)
    $ n8 z( Z: t! f0 a* z

  27. " Y: e( y8 g, M5 v: I
  28.       lw.WriteLine("Component Array Size: " & compArray.Length.ToString())" u+ M" H2 B  v1 T" u
  29.       Dim bodyArray(-1) As Body
    0 {" L& \2 y) X/ q  g' X

  30. + D. y3 E) X: X2 [- g% h
  31.       stuffBodyArray(compArray, bodyArray)( ~7 C$ ?# A  D1 ]% y

  32. - D5 N$ g3 Z. Z5 o" R0 P1 ^
  33.       lw.WriteLine("Count of bodies in array: " & _
    1 D3 m6 P& _% d( ~. M" E
  34.                    bodyArray.Length.ToString())6 B; f1 ^$ P1 s

  35. , D! m/ B: B2 _$ h; [
  36. & O6 C6 o* c+ m
  37.    End Sub
    5 U8 j1 P( K+ W2 \) Z

  38. / n7 D- Y6 t5 o7 w
  39.    Public Sub stuffBodyArray(ByVal ca As Component(), ByRef ba As Body())& m7 @+ P9 p: [( v

  40. # ?- C* M! K5 `% f- A  p
  41.       For Each comp As Component In ca
    ; S" w, e, {3 H( z/ h
  42.          Dim c_part As Part = comp.Prototype1 |! ^9 Y& j& I8 E0 j+ K: b1 n6 ?
  43.          Dim localBodies() As Body = c_part.Bodies.ToArray()
    1 p8 D4 a1 G) j6 W8 i3 |
  44.          For Each thisBody As Body In localBodies
    8 f: U. N6 _- h& w1 T! H" z, R. A
  45.             ReDim Preserve ba(ba.GetUpperBound(0) + 1)2 u/ Z5 N' `4 g$ L( ?; U/ O2 Q
  46.             ba(ba.GetUpperBound(0)) = thisBody
    2 |: F$ y  F& M  K+ o- C/ |
  47.          Next
    2 s/ l/ N& V9 f& i5 J
  48. 3 Q& C( |  `3 T' @$ j
  49.       Next
    0 k; L8 r! G+ a/ H( x, U$ T
  50.    End Sub6 Q; n, j9 z; {' ~- t9 U! A
  51. 1 d$ G& W# T/ e% Y
  52.    Public Sub stuffComponentArray(ByVal cmp As Component, ByRef ca As Component()): H' \8 V- U3 I5 u* V/ c
  53.       Dim child As Component = Nothing2 f% P: s+ ~2 L, C4 m
  54.       For Each child In cmp.GetChildren()
    , Q& E  ~* G# |9 E( B  [4 U3 K
  55.          ReDim Preserve ca(ca.GetUpperBound(0) + 1)
    ' {, u3 r: \; P9 X- A( K% Z; L4 p
  56.          ca(ca.GetUpperBound(0)) = child; n! ]7 i& q1 e; l* ^* x1 ^
  57.          stuffComponentArray(child, ca)
    4 B- \1 L9 |3 U' d
  58.       Next2 ~% S; W4 P1 I/ `
  59.    End Sub
    1 S, Y( |$ Q4 y; V; p6 Z/ @9 Y
  60. $ g0 G. Q# j! F1 y
  61.    Public Function GetUnloadOption(ByVal dummy As String) As Integer9 x" X9 h% y& L; y9 V

  62. , u6 g* t) |$ G- d+ {6 i
  63.       Return Session.LibraryUnloadOption.Immediately
    3 s7 t, ~* C( X5 r  Z; R

  64. : I& n" z$ g* N
  65.    End Function
    ' n" S9 h$ m& E/ a! M7 f% r
  66. ) u3 ]4 H) ^: \7 i9 M( n
  67. End Module
    # }5 O& t( i0 i' L- C. }& m# E
复制代码

/ g% ]! N- o2 E+ c7 T0 v; G' }0 }: X: t% c) [
1 _3 |( Q) C/ f1 S  `" l
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了