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

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

admin 楼主

2013-10-30 13:46:00

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

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

x
9 s8 a$ Y4 {' |' q. l
  1. Option Strict Off
    6 r. `" }! y2 }$ E

  2. ! q' S+ R  k% Z6 d1 U7 n$ G, d- T
  3. Imports System
    3 r; n; V  a$ {) Q3 ?3 S! o1 c  o8 S
  4. Imports NXOpen
    % `& v0 T" `2 N
  5. Imports NXOpen.UF$ W$ f' e- ~& l$ g! `4 P
  6. Imports NXOpen.UI
    # A5 e7 b: h6 N0 T
  7. Imports NXOpen.Utilities
    4 M5 D# c- `" B( w1 s1 y# H, f
  8. Imports NXOpen.Assemblies
    / {8 q7 I+ F, J! y. b" V
  9. - d$ R3 ~& J- g! u
  10. Module create_array_of_all_bodies_in_assembly( |3 T* T0 G2 z4 [: F
  11. $ _1 f' ?7 E% [8 `
  12.    Dim s As Session = Session.GetSession()- {! X- n1 g& U
  13.    Dim ufs As UFSession = UFSession.GetUFSession()
    ' s1 }2 Y) F+ q1 y) S! q" ?
  14.    Dim lw As ListingWindow = s.ListingWindow# _2 B* i( ~& {3 @2 c

  15. 7 s! u# g$ X: Z; W0 M) e
  16.    Sub Main(). ~& N$ O6 C: T
  17.       lw.Open()
    9 k8 M* x0 c- J# {7 y  R

  18. + V: E9 Q6 c8 D1 R4 L8 P! y% i
  19.       Dim dispPart As Part = s.Parts.Display()
    2 F4 b9 H& q. a$ \7 U, C1 ~* Q- s

  20. ( [# V: O% `  |/ y; @) P
  21.       Dim root As Component = _
      \6 h) |3 F. u9 S% I0 m5 d3 E
  22.                   dispPart.ComponentAssembly.RooTComponent
    3 w' L' D8 @' B2 |
  23. 3 {0 _& ?6 r( Q$ @  c1 e3 d, H
  24.       Dim compArray(-1) As Component/ J) R6 [2 `; ^
  25. 2 \: _( s+ l1 M6 w9 V+ d) a' m
  26.       stuffComponentArray(root, compArray)+ Z; j9 R7 c5 s
  27. 9 P( Q+ _9 j  I# P
  28.       lw.WriteLine("Component Array Size: " & compArray.Length.ToString())/ V1 W6 n' ]! ]4 \$ r
  29.       Dim bodyArray(-1) As Body! t' b  ]: _* Z: c  i9 Y0 s
  30. 8 s5 W& d- V; s% ~  z; V3 m
  31.       stuffBodyArray(compArray, bodyArray); _0 P4 n0 u+ Z

  32. 6 j1 E* _, b0 w
  33.       lw.WriteLine("Count of bodies in array: " & _
    ) K; }8 q% W9 {- d* J# B/ ^
  34.                    bodyArray.Length.ToString())
    4 k$ _; \0 C6 [* Q0 P
  35.   k; ^. U; a3 q9 v, q
  36. 2 T% \0 X. R% G2 P0 E8 E7 I
  37.    End Sub- m* l0 ?( X+ z7 z' S

  38. 0 M! W2 j+ v( w2 v0 q: b7 N3 O
  39.    Public Sub stuffBodyArray(ByVal ca As Component(), ByRef ba As Body())1 @  v; f  y0 m, [0 q6 Q; O1 }

  40. ) X$ {% x. |) S& q- u& A' ^) v
  41.       For Each comp As Component In ca0 I9 p$ E( h/ A/ q# z$ ?3 o# X% v9 }
  42.          Dim c_part As Part = comp.Prototype
    " l' y* k, I+ e2 a* {" G
  43.          Dim localBodies() As Body = c_part.Bodies.ToArray()
    : E+ k- [8 v9 Q" Z& z* ~
  44.          For Each thisBody As Body In localBodies
    6 P6 t, K! _% s( }/ w  A( g" r
  45.             ReDim Preserve ba(ba.GetUpperBound(0) + 1)
    * N' `3 ^+ x8 ]2 U
  46.             ba(ba.GetUpperBound(0)) = thisBody
    / a/ M+ X3 X, i3 D7 x9 u3 K1 K
  47.          Next9 b; f5 j# e  _0 I+ k
  48. & e0 n- W6 z! e3 o
  49.       Next
    , y5 u$ a% T8 n9 m  Z8 t
  50.    End Sub
    0 q  q( n/ _. `- }( S/ c! ?/ B
  51. ; [( X9 k# D* ^( r7 _
  52.    Public Sub stuffComponentArray(ByVal cmp As Component, ByRef ca As Component())
    . c& N2 L) G7 H4 v, d
  53.       Dim child As Component = Nothing
    ; Q: y: c: m" f& k; w
  54.       For Each child In cmp.GetChildren()
    8 P$ R9 Q' ^5 \- H  f
  55.          ReDim Preserve ca(ca.GetUpperBound(0) + 1)
    8 G4 x; I) [: l5 B8 s2 n% q
  56.          ca(ca.GetUpperBound(0)) = child
    8 P! F6 s' x: @1 B! q9 I
  57.          stuffComponentArray(child, ca)
    3 f$ F( [* W! P; r  {3 z9 o7 D
  58.       Next
    7 F  |% g, c- @: R
  59.    End Sub
    ) Y" Y! _$ a& p
  60. + F% a5 `/ ?4 ?7 B- S
  61.    Public Function GetUnloadOption(ByVal dummy As String) As Integer) g& r: p4 b' P' X. B( }( Y; }
  62. , e! I& M" m( T4 ^  V2 t
  63.       Return Session.LibraryUnloadOption.Immediately
    ( {; w+ M3 f% x" p

  64. . I( A% u/ x/ ^7 ^( P$ `/ w( O
  65.    End Function  W5 N0 @) t* {7 `5 [

  66. ; w2 i: T# b3 f/ y4 U
  67. End Module
    $ v) @" B# `$ M6 `2 b: Z1 z
复制代码
# t7 Y& k. e/ m
) w3 |  D) o( e8 y

+ m7 O* T  F. `2 z- U3 S4 O6 u
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了