青华模具培训学校

 找回密码
 注册

QQ登录

只需一步,快速开始

青华模具培训学院
查看: 1852|回复: 1

[原创] 根据Object.Tag导出part部件

[复制链接]
发表于 2013-11-14 16:17 | 显示全部楼层 |阅读模式
'如何得到Object.Tag3 Y6 P5 j0 ^7 n; O4 X. r9 v; |- Q
'遍历得到所有body的Tag
/ A: S3 v' K# r+ P/ o% w 'theUfSession.Obj.CycleObjsInPart(workPart.Tag, 70, objTag)
  M5 Z: D' f- _& [: I8 i  w! p# N5 u/ I8 a4 I5 w" x
Sub ExportPart(ByRef part_tag As Tag)" O7 P* O9 B2 s5 J2 K
        Dim theSession As Session = Session.GetSession()8 Q, H0 |0 a: {0 u/ v
        Dim theUI As UI = UI.GetUI()
. Z: `+ r* A* |9 o3 U1 b. W        Dim theUfSession As UFSession = UFSession.GetUFSession()* n% h8 A# j' A6 ^; g
        Dim workPart As Part = theSession.Parts.Work5 B1 d* Z/ g) s3 B
        Dim displayPart As Part = theSession.Parts.Display
& m' s, p* a0 A        Dim body As Body = CType(NXObjectManager.Get(part_tag), Body)3 Z. n2 o, @3 A* P3 [& R
        Dim part_id As String = body.GetStringAttribute("part_id") '得到属性“part_id”作为零件名称,可以自己设置其他内容
! R5 T( m& S9 _5 O        Try% e7 K+ {' z1 r
            Dim fileNew1 As FileNew7 M  r2 E; q- B# }6 g( x+ P* Y8 Z  {
            fileNew1 = theSession.Parts.FileNew()0 H# f+ [; u( F1 J* S
            fileNew1.TemplateFileName = "model-plain-1-mm-template.prt" '导出模板名称
) `; b8 V( X3 G4 |            fileNew1.Application = FileNewApplication.Modeling
& ]  q# _  z3 r8 K: o5 T" g# m# N- S            fileNew1.Units = Part.Units.Millimeters
; i$ X9 z4 U- [9 x% n  f            fileNew1.TemplateType = FileNewTemplateType.Item0 w1 c. ~9 F( _
            fileNew1.NewFileName = "D:\" & part_id & ".prt"  '保存路径
  F. C( F/ i7 P            fileNew1.MasterFileName = ""$ H5 K  ?: T5 R# G( M7 s% C  m
            fileNew1.UseBlankTemplate = False5 V! w$ J: Y7 q/ F6 e
            fileNew1.MakeDisplayedPart = False
/ c. \  E0 E! e! t. Y. C& K* s2 N# {! K5 ]( l9 d! k
            Dim createNewComponentBuilder As Assemblies.CreateNewComponentBuilder
2 \* C0 D* L) O  l2 M4 k            createNewComponentBuilder = workPart.AssemblyManager.CreateNewComponentBuilder()$ \2 c5 ^5 l" W- G9 ^9 H3 j: g
            createNewComponentBuilder.ReferenceSetName = "Model"
! ]4 Z# c3 Y$ r4 D            createNewComponentBuilder.OriginalObjectsDeleted = True '一般设置成False,删除源文件中的对象
* {3 j$ U8 S) A+ D! n3 e            createNewComponentBuilder.NewComponentName = part_id0 J. ]+ j. `$ G
            Dim added1 As Boolean2 w6 u, G/ ?1 A1 ?2 n
            added1 = createNewComponentBuilder.ObjectForNewComponent.Add(body)
& f  B( z5 x7 x: y$ r0 S8 h: Y- T5 ?7 y            createNewComponentBuilder.NewFile = fileNew12 I6 y4 l6 ^8 y+ Z1 v& [
            Dim nXObject1 As NXObject* z8 X4 [5 X6 N- u. l2 z+ w
            nXObject1 = createNewComponentBuilder.Commit()
( Z' }$ H) B! r$ ^& v1 @8 v" G            createNewComponentBuilder.Destroy()
# m; [( @5 C+ O0 V        Catch ex As Exception0 ^7 ]5 T& I, I( A4 }
            MsgBox(ex.Message)& F- S0 i) x, d7 P( a9 d
        End Try  }" ^6 ~8 z" E
    End Sub5 d( q. ~: u% l4 U9 \5 h& }
发表于 2013-11-18 16:48 | 显示全部楼层
NXOPEN .NET很好的例子,顶LZ一个!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|关于我们|sitemap|小黑屋|Archiver|手机版|UG网-UG技术论坛-青华数控模具培训学校 ( 粤ICP备15108561号 )

GMT+8, 2024-11-17 03:28 , Processed in 0.048193 second(s), 21 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表