Ich versuche, unsere selbsterstellten Normteile neu einzufärben, dabei soll das Teil selbst die Farbe tragen, unabhängig von der Konfiguration. Dazu passt der Befehl
SetMaterialPropertyValues:void = ModelDocExtension.SetMaterialPropertyValues ( material_property_values, config_opt, config_names )
Der Befehl SetMaterialPropertyValues2 ist nicht geeignet, da er die Farbe nur der jeweiligen Konfiguration zuweist.
Hier mein Code soweit:
Sub main()
Set swApp = CreateObject("SldWorks.Application")
Set swModel = swApp.ActiveDoc
Set ModelExt = swModel.Extension
ReDim vMatProp(8)
ConfigNames = swModel.GetConfigurationNames
ReDim vConfigName(0) 'zur Sicherheit eventuelle Werte im Speicher löschen
vConfigName(0) = ""
vMatProp = swModel.MaterialPropertyValues
vMatProp(0) = 0.5 'R 128
vMatProp(1) = 0.5 'G 128
vMatProp(2) = 0 'B 0
vMatProp(3) = 1 'Umgebung
vMatProp(4) = 0.96 'Diffusion
vMatProp(5) = 0.6 'Spiegeleffekt
vMatProp(6) = 0.02 'Glanz
vMatProp(7) = 0 'Transparenz
vMatProp(8) = 0 'Emissionsgrad
ModelExt.SetMaterialPropertyValues = (vMatProp, swAllConfiguration, vConfigName) <<<klappt nicht!
bRet = swModel.EditRebuild3
End Sub
Wie muss die Syntax richtig lauten? Und ist vConfigName als Input richtig, oder müsste da "" stehen? Die Hilfe zu diesem Befehl ist leider nicht allzu ausführlich.
Auf dem Schlauch:
Piet
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP