Hallo,
ich möchte über ein Macro den einzelnen Komponenten in der übergeordneten Baugruppe ein WErscheinungsbild zuweisen.
Hat jemand eine Idee?
Hier der Code.
Dim swApp As SldWorks.SldWorks
Dim swDoc As SldWorks.ModelDoc2
Dim swADoc As SldWorks.AssemblyDoc
Dim varComp As Variant
Sub main()
Set swApp = Application.SldWorks
Set swDoc = swApp.ActiveDoc
Set swADoc = swDoc
varComp = swADoc.GetComponents(False) 'Array aller Komponenten der Baugruppe
Dim I As Long
Dim compName As String
For I = LBound(varComp) To UBound(varComp)
Dim swComp As SldWorks.Component2
Set swComp = varComp(I)
ret = swComp.Select(False)
'gewähltes Erscheinungsbild
namStr = "C:\Program Files\SolidWorks Corp\SolidWorks 2012\SolidWorks\data\graphics\materials\painted\car\metallic gold.p2m"
ret = swComp.SetMaterialUserName(namStr)
Debug.Print "Comp: " & swComp.Name2
Debug.Print "Konfig: " & swComp.ReferencedConfiguration
Debug.Print "Display: " & swComp.ReferencedDisplayState
Debug.Print "Nr.: " & I
Debug.Print "Material: " & swComp.GetMaterialUserName
Debug.Print "---"
'Löschen funktioniert
'ret = swComp.RemoveMaterialProperty
Next I
varComp = Empty
Debug.Print "*"
End Sub
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP