HighlightSet does not work

<?xml encoding=”UTF-8″>By Adam Nagy

If you create a HighlightSet and add objects to it, but do not see the result, one possible explanation could be that the HighlightSet got released before you could see the result: maybe you declared the HighlightSet inside the function and so it ran out of scope and got released.

Make sure you declare the variable outside the function so that it can live on:

' Needs to be declared globally
Private hs As HighlightSet
Sub HighlightSample()
Dim doc As AssemblyDocument
Set doc = ThisApplication.ActiveDocument
' If the HighlightSet was declared
' inside the function, then when the function
' ends and 'hs' goes out of scope it would get
' released which would delete the
' HighlightSet and would clear the
' highlighting in the UI
'Dim hs As HighlightSet
Set hs = doc.CreateHighlightSet
Dim tr As TransientObjects
Set tr = ThisApplication.TransientObjects
Dim c As Color
Set c = tr.CreateColor(255, 0, 0, 0.8)
hs.Color = c
Dim occ As ComponentOccurrence
Set occ = doc.ComponentDefinition.Occurrences(1)
Dim f As Face
Set f = occ.SurfaceBodies(1).Faces(1)
hs.AddItem f
End Sub
Sub ClearHighlight()
Set hs = Nothing
End Sub

Highlightset

 


Comments

Leave a Reply

Discover more from Autodesk Developer Blog

Subscribe now to keep reading and get access to the full archive.

Continue reading