So sieht das Ergebnis aus, wobei der Aufruf des VBA-Code in der Animation unten über die Inventor Toolbox erfolgt.
Hier der Quellcode:
'Quelle: http://modthemachine.typepad.com/my_weblog/2009/02/controlling-part-colors.html 'Leicht erweitert von JW 30092017 Public Sub VBA973() On Error GoTo err Dim oAsmDoc As AssemblyDocument Set oAsmDoc = ThisApplication.ActiveDocument ' Initialize the random number generator and get ' the number of render styles defined. Randomize Dim iColorCount As Long iColorCount = oAsmDoc.RenderStyles.Count 'JW 30092017 Dim Invapp As Inventor.Application Set Invapp = ThisApplication Dim oTrans As Inventor.Transaction Set oTrans = Invapp.TransactionManager.StartGlobalTransaction(oAsmDoc, "VBA973") Invapp.UserInterfaceManager.UserInteractionDisabled = True Invapp.ScreenUpdating = False ' Iterate through the top-level occurrences in the assembly. Dim oOcc As ComponentOccurrence For Each oOcc In oAsmDoc.ComponentDefinition.Occurrences ' Set the color to a random color. Call oOcc.SetRenderStyle(kOverrideRenderStyle, _ oAsmDoc.RenderStyles.Item(Int((iColorCount * Rnd) + 1))) Next err: Invapp.ScreenUpdating = True Invapp.UserInterfaceManager.UserInteractionDisabled = False Call oAsmDoc.Update oTrans.End End Sub
Keine Kommentare:
Kommentar veröffentlichen
War der Beitrag hilfreich oder hast du eine Ergänzung dazu?
Ist noch eine Frage offen?
Ich freue mich auf deine Rückmeldung!
Hinweis: Nur ein Mitglied dieses Blogs kann Kommentare posten.