| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS | | | | Technikerschüler der staatlichen Feintechnikschule Schwenningen zu Besuch bei SolidCAM GmbH in Schramberg |
Autor
|
Thema: Licht einstellen (1506 mal gelesen)
|
Lenzcad Ehrenmitglied Selbständiger Handwerker
Beiträge: 1539 Registriert: 21.10.2003 CPU i7-9700K RAM 64GB Quadro P2200 SW 2022 SW Simulation 2022
|
erstellt am: 02. Sep. 2019 09:16 <-- editieren / zitieren --> Unities abgeben:
Hallo CAD Gemeinde, ich bräuchte eure Hilfe. Ich muss an vielen Bauteilen das Licht neu einstellen. Also das Umgebungslicht und drei ausgerichtete Lichter. Die Lichter sind bereits im BT vorhanden und sind immer gleich benannt. Wie würdet ihr das machen? Ich denke am sinnvollsten ist ein Makro. Ich habe ein Makro begonnen, komme aber nicht so recht weiter. Das erste ausgerichtete Licht wird angesprochen, das nächste aber dann nicht mehr. Siehe Anhang. Vielleicht kann mir jemand helfen. Vielen Dank! Gruß Lenz Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bk.sc Ehrenmitglied V.I.P. h.c. Konstrukteur Sondermaschinenbau
Beiträge: 2776 Registriert: 18.07.2012 -Solid Works 2019 SP5 -Pro Engineer WF 3
|
erstellt am: 02. Sep. 2019 14:40 <-- editieren / zitieren --> Unities abgeben: Nur für Lenzcad
Hallo Lenz, das scheint ein Fehler in SWX zu sein, da alle Lichter die über die Vorlage in das Model kommen anscheinend den gleichen Internen Namen bekommen, in deinem Fall heisen SWX intern alle gerichteten Lichter "Gerichtet-1" und nicht wie neu erstellte Lichter SW#4 SW#5 usw., wenn man eine neie Bühne läde ist es auch nicht besser da hier bekommen dann alle Lichter den Internen Namen "UnNamed". Wahrscheinlich wäre es am schlausten alle alten Lichter zu löschen und diese dann komplett neu zu erstellen. Du kannst zum überprüfen einfach mal das Beispiel Macro "Turn Lights On Example (VBA)" drüber laufen lassen, da siehst du im ANzeigefenster dann das die Lichter eines Typs den gleichen SWX internen Namen haben. Gruß Bernd ------------------ --- Man muß nicht alles wissen, man muß nur wissen wo es steht --- Staatlich anerkannte Deutschniete [Diese Nachricht wurde von bk.sc am 02. Sep. 2019 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
HenryV Mitglied Konstrukteur, Engineering
Beiträge: 813 Registriert: 18.05.2005 SolidWorks 2022 x64 SP5.0 Dell Precision 5820 Intel Xeon W-2125 4x4GHz NVIDIA Quadro P2000 5GB 32GB RAM 2x Dell U2412M, 24" TFT Windows 10 Enterprise x64 22H2 Microsoft 365 E5 Microsoft Visual Studio Enterprise 2022
|
erstellt am: 02. Sep. 2019 14:52 <-- editieren / zitieren --> Unities abgeben: Nur für Lenzcad
Hallo Lutz *Glaskugel herauskramen* Das Problem liegt wohl daran das du den Lichtquellenname, den du im Featurebaum siehst (LightSourceUserName), und nicht den internen Namen verwendest(GetLightSourceName). Hier einmal wie ich es machen würde.
Code: Sub main() Dim swApp As SldWorks.SldWorks Dim swModel As SldWorks.ModelDoc2 Dim swModelDocExt As SldWorks.ModelDocExtension Dim boolstatus As Boolean Dim x As Integer Set swApp = Application.SldWorks Set swModel = swApp.ActiveDoc 'Internen Namen der Lichtquellen eindeutig setzten swModel.SetLightSourceName 0, "Ambient" For x = 1 To swModel.GetLightSourceCount - 1 swModel.SetLightSourceName x, "SW#" & x Debug.Print ("SWX Name = " & swModel.GetLightSourceName(x)) Debug.Print ("User Name = " & swModel.LightSourceUserName(x)) Next 'Lichtquellenparameter setzen boolstatus = swModel.SetLightSourcePropertyValuesVB("Ambient", 1, 1, 16777215, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.5, 0, 0, False) ' boolstatus = swModel.LockLightToModel(0, True) 'Macht keinen Sinn boolstatus = swModel.SetLightSourcePropertyValuesVB("SW#1", 4, 0.2, 16777215, 1, 6.63413948168939E-03, 0.005, 5.56670399226418E-03, 0, 0, 0, 0, 0, 0, 0, 0.1, 0.2, 0, False) boolstatus = swModel.LockLightToModel(1, True) boolstatus = swModel.SetLightSourcePropertyValuesVB("SW#2", 4, 0.2, 16777215, 1, -9.25416578398324E-03, 3.42020143325669E-03, 1.63175911166532E-03, 0, 0, 0, 0, 0, 0, 0, 0.1, 0.2, 0, False) boolstatus = swModel.LockLightToModel(2, True) boolstatus = swModel.SetLightSourcePropertyValuesVB("SW#3", 4, 0.2, 16777215, 1, 1.5038373318043E-03, 5.00000000000001E-03, -8.52868531952444E-03, 0, 0, 0, 0, 0, 0, 0, 0.1, 0.2, 0, False) boolstatus = swModel.LockLightToModel(3, True) End Sub
*Glaskugel wieder verstauen* Gruss Andreas ------------------ 21 ist nur die halbe Antwort. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bk.sc Ehrenmitglied V.I.P. h.c. Konstrukteur Sondermaschinenbau
Beiträge: 2776 Registriert: 18.07.2012 -Solid Works 2019 SP5 -Pro Engineer WF 3
|
erstellt am: 02. Sep. 2019 16:56 <-- editieren / zitieren --> Unities abgeben: Nur für Lenzcad
Hallo Henry, den gleichnamigen Lichtern erst neue eundeutige Namen zu geben ist natürlich die elegantere Lösung . Gruß Bernd ------------------ --- Man muß nicht alles wissen, man muß nur wissen wo es steht --- Staatlich anerkannte Deutschniete Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Lenzcad Ehrenmitglied Selbständiger Handwerker
Beiträge: 1539 Registriert: 21.10.2003 CPU i7-9700K RAM 64GB Quadro P2200 SW 2022 SW Simulation 2022
|
erstellt am: 02. Sep. 2019 18:13 <-- editieren / zitieren --> Unities abgeben:
|
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|