Quantcast
Channel: Manufacturing DevBlog
Viewing all articles
Browse latest Browse all 516

Cable & Harness component names

$
0
0

By Adam Nagy

When iterating through the components of a Cable & Harness assembly you'll find VirtualComponentDefinition's named like "HA_VC_xxx":

...
Hard Drive:2
CD Ribbon Cable
  CD Ribbon Cable
  Ribbon Cable Connector:1
  Ribbon Cable Connector:2
  Ribbon Cable Connector:3HA_VC_100:1
Power Supply Harness
  Power Supply Connector:1
...

This does not line up with what you see in the Browser Tree. It's because what's listed there are not actually these components but just placeholders. If you select them and run a code like this then you can see that those parts are just ClientBrowserNodeDefinitionObject's:

Selectset

The Part Number of the VirtualComponentDefinition's resemble more how those components are represented in the Browser Tree, so you could use that instead:

Sub PrintHierarchyTreeRecursive(occs, indent)
  Dim occ As ComponentOccurrence
  For Each occ In occs
    Dim pss As PropertySets
    If TypeOf occ.Definition Is VirtualComponentDefinition Then
      Set pss = occ.Definition.PropertySets
    Else
      Set pss = occ.Definition.Document.PropertySets
    End If
    Dim partNumber As String
    partNumber = pss("Design Tracking Properties")("Part Number").value
    Write #1, Spc(indent); occ.Name + ", " + partNumber
    Call PrintHierarchyTreeRecursive(occ.SubOccurrences, indent + 2)
  Next
End Sub

Sub PrintHierarchyTree()
  Dim asm As AssemblyDocument
  Set asm = ThisApplication.ActiveDocument
  
  Open "C:\temp\assemblyparts.txt" For Output As #1
  Call PrintHierarchyTreeRecursive(asm.ComponentDefinition.Occurrences, 0)
  Close #1
End Sub

PartNumber

 


Viewing all articles
Browse latest Browse all 516

Trending Articles