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

Get constrained occurrences

$
0
0

By Adam Nagy

When you select a component occurrence in the UI the context menu provides you with the Constrained To option to select all constrained occurrences:

Constraints1

If you want to retrieve the same occurrences programmatically, then you can iterate through the constraints of the selected occurrence and store all the occurrences those constraints reference:

Sub ConstrainedTo()
  Dim asm As AssemblyDocument
  Set asm = ThisApplication.ActiveDocument

  Dim occSel As ComponentOccurrence
  Set occSel = asm.SelectSet(1)
  
  Dim tr As TransientObjects
  Set tr = ThisApplication.TransientObjects
  
  Dim coll As ObjectCollection
  Set coll = tr.CreateObjectCollection()
  
  Dim ac As AssemblyConstraint
  For Each ac In occSel.Constraints
    coll.Add ac.OccurrenceOne
    coll.Add ac.OccurrenceTwo
  Next
  
  ' If you want to ignore the originally' selected occurrence then you can remove it'coll.RemoveByObject occSel' Now we have all the occurrences' Let's list their names
  Dim text As String
  Dim occ As ComponentOccurrence
  For Each occ In coll
    text = text + occ.Name + vbCrLf
  Next
  MsgBox text
End Sub

The result: 

Constraints2

 


Viewing all articles
Browse latest Browse all 516

Trending Articles