| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS | | | | SOLIDWORKS PDM Professional im Einsatz bei Wölfle, ein Anwenderbericht
|
Autor
|
Thema: API - Beleuchtungskörper löschen (955 / mal gelesen)
|
Andi Beck Ehrenmitglied V.I.P. h.c. Konstrukteur
Beiträge: 2580 Registriert: 02.10.2006 Firma: SW 2024-3.1 + PDM Prof. Windows 10 Pro 64bit, i9-11900 32 GbRAM, Quadro P2200 Home: SW 2023-5.0 Passungstabelle von Heinz Windows 11 Pro 64bit, i7-12700K, 32 GbRAM, GeForce GTX 1050Ti Samsung C34H892, 3440x1440 Pixel
|
erstellt am: 18. Feb. 2020 21:47 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich glaube, ich habe mal wieder nen Brett vor dem Kopf. Ich möchte per Makro die bestehenden Beleuchtungskörper außer Umgebungslicht (ID-Name = 0) löschen, um dann neue zu erzeugen. Alles funktioniert, nur die Löschen-Funktion sträubt sich. (Siehe Bilder) Auszug aus dem Code: Code:
Set swApp = Application.SldWorks Set swModel = swApp.ActiveDoc boolstatus = swModel.DeleteLightSource(1) boolstatus = swModel.SetLightSourcePropertyValuesVB("Ambient", 1, 1, 16777215, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.29, 0, 0, False) boolstatus = swModel.LockLightToModel(0, False) 'Light ID, Mit Modell verkn?pfen - True = ja, False = Nein swModel.GraphicsRedraw 'Zeichnet den angegebenen Bereich oder das gesamte SOLIDWORKS-Grafikfenster neu. swModel.ClearSelection2 True 'True l?scht die gesamte vorhandene Auswahlliste, False l?scht nur die Elemente in der aktiven Auswahlliste boolstatus = swModel.AddLightSource("Direction1", 4, "Gerichtet1") '1 = Ambient light, 2 = Spot light, 3 = Point light, 4 = Directional light boolstatus = swModel.SetLightSourcePropertyValuesVB("Direction1", 4, 0.45, 16777215, 1, -8.17746082497419E-02, 8.18037459828556E-02, 0.245394474446296, 0, 0, 0, 0, 0, 0, 0, 0.2, 0.69, 0, False) boolstatus = swModel.LockLightToModel(1, False) swModel.GraphicsRedraw swModel.ClearSelection2 True
Bei dieser Zeile bekomme ich eine Fehlermeldung. (siehe Bild)
Code:
boolstatus = swModel.DeleteLightSource(1)
Hat jemand eine Idee, was ich falsch mache? Bestimmt wieder ganz banal. Ich habe das Makro auch mit angehängt, wer Lust hat, kann ja mal Probieren. Grüße, Andi ------------------ Hast du kein Problem? Such dir eins. ( Und löse es ) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Winni-two Mitglied Ing. Maschb.
Beiträge: 154 Registriert: 12.03.2010 SW 2021 SP5 Intel Xenon W2135 @3.7GHz Win 10 64 bit Graka: Nvidia Quadro P4000 32 GB Ram
|
erstellt am: 19. Feb. 2020 06:47 <-- editieren / zitieren --> Unities abgeben: Nur für Andi Beck
|
Andi Beck Ehrenmitglied V.I.P. h.c. Konstrukteur
Beiträge: 2580 Registriert: 02.10.2006 Firma: SW 2024-3.1 + PDM Prof. Windows 10 Pro 64bit, i9-11900 32 GbRAM, Quadro P2200 Home: SW 2023-5.0 Passungstabelle von Heinz Windows 11 Pro 64bit, i7-12700K, 32 GbRAM, GeForce GTX 1050Ti Samsung C34H892, 3440x1440 Pixel
|
erstellt am: 19. Feb. 2020 07:09 <-- editieren / zitieren --> Unities abgeben:
Moin Winni, besten Dank, funzt. Die Schleife wollte ich eh machen, wenn den der Löschbefehlt funktioniert. Aber das da jetzt vor swModel.DeleteLightSource (1) nichts kommt, widerspricht ja jeder Logik, siehe die folgenden Befehle. Diese Variante habe ich zumindest nicht durchgespielt, auf die Idee bin ich gar nicht gekommen. Schon seltsam. Grüße, und einen schönen Tag noch. ------------------ Hast du kein Problem? Such dir eins. ( Und löse es ) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|