Hallo
Ich kann dieses unter VBA codierte Makro trotz all meiner Bemühungen nicht zum Laufen bringen.
Mein Ziel ist es, das Erscheinungsbild des Teils basierend auf der Oberflächenbehandlung zu ändern, die ich in der benutzerdefinierten Eigenschaft "TREATMENT" eingegeben habe. Ich möchte ein neues Setup mit dem Namen "REALISTISCHE FARBEN" erstellen und ich möchte, dass sich das Aussehen nur in diesem Setup geändert hat.
Ich kann mein Makro auch nicht in der Beschreibung veröffentlichen... Ich überschreite die 6000 Zeichen, die a priori erlaubt sind... Ich habe es auf den PC gestellt, wenn jemand sieht, was mit meinem Code nicht stimmt, wäre das eine große Hilfe für mich!!
Vielen Dank!!
attribuer_traitement_de_surface_a_couleur.swp
Hallo
Die Verknüpfung zur Datei ist defekt
Hallo
In der Tat, es ist sehr seltsam... Ich versuche es hier noch einmal!
attribuer_traitement_de_surface_a_couleur.swp
Ich glaube nicht, dass Sie den Anzeigezustand mit SelectedFeatureProperties ändern können, da der Anzeigezustand kein Feature ist.
Um den Anzeigestatus der Teile in einer Baugruppe zu ändern, schauen Sie hier: change_color_of_component_in_specific_display_state_example_vb
Um die Farbe der Räume selbst zu ändern, sehen Sie sich Folgendes an: MaterialPropertyValues
Okay, damit probiere ich dann mal was aus!
Eine weitere kleine Frage, es fällt mir schwer zu verstehen, warum sie in ihrem Tutorial, SW, die Min/Max-Excel-Funktion mit 16 * 16 und dann mit 16 * 16 * 16 * 16 multiplizieren?
16x16 = 256, was dem Farbintervall [0; 255], aber warum diese Multiplikation, wenn der Wert meiner Variablen bereits in diesem Format vorliegt? Und noch unverständlicher, warum machen 16x16x16x16 hinterher?? Ich verstehe nicht... (Ich habe das fragliche Code-Snippet unten gestellt)
PeintureBleueRGB = Excel.WorksheetFunction.Max(Excel.WorksheetFunction.Min(PeintureBleueR, 255), 0) + Excel.WorksheetFunction.Max(Excel.WorksheetFunction.Min(PeintureBleueG, 255), 0) * 16 * 16 + Excel.WorksheetFunction.Max(Excel.WorksheetFunction.Min(PeintureBleueB, 255), 0) * 16 * 16 * 16 * 16
So werden RGB-Farben in der Color-Eigenschaft verkettet
Hallo nochmal Jerome,
Ich habe mit Ihren Links gespielt, aber ich stoße immer noch auf einen Fehler, der von Zeile 189 meines Codes zu kommen scheint ... Ich habe einen Teil Ihres Codes wiederverwendet, sodass sich das Erscheinungsbild in allen Teilen des Sets und der Teilmengen ändert.
Es ist diese Codezeile, die Probleme verursacht, aber ich kann den Grund nicht finden:
swApp.ActivateDoc3 swComp.Name2, False, swRebuildOnActivation_e.swRebuildActiveDoc, Empty
Ich setze mein Makro in PJ, wenn Sie einen Blick darauf werfen könnten, um mich noch einmal zu leiten, wäre ich Ihnen dankbar!!
Vielen Dank
attribuer_traitement_de_surface_a_couleur.swp
Für ActivateDoc3 ist der Teilename (<ModelDoc2> erforderlich. GetTitle oder <ModelDoc2>. GetPathName) anstelle des Komponentennamens (swComp.Name2)