| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS | | | | Nahe an industriellen Realbedingungen, eine Pressemitteilung
|
Autor
|
Thema: Bildschirmschoner für SolidWorks (2791 / 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: 26. Apr. 2017 00:51 <-- editieren / zitieren --> Unities abgeben:
Hallo, da Ostern ja nun vorbei ist, musste ich meine restlichen Ostereier zu Schockolinsen wandeln. Anbei mein erster Bildschirmschoner für SolidWorks. Ich habe das Projekt nur zum Spaß und Üben angefangen. Ich habe bei meinen ganzen Makros noch nie was mit Skizzenerstellung etc. zu tun gehabt. Hier habe ich meine ersten Gehversuche eingebunden. Wer mir da Ratschläge geben möchte, nur zu. Das Makro sollte automatisch ein Standarddokument öffnen und ein Ei erzeugen, welches sich dann farblich und in der Höhe ändert. Das ganze läuft momentan 2x in einer Schleife durch. Unterbrechen lässt sich das Makro mit STRG + Shift + Pause. Weiß jemand, wie man einen Tastaturbefehl wie die Pausetaste etc. als Stopp einbinden kann? Dann würde ich das als Endlosschleife laufen lassen, solange bis abgebrochen wird. Bei mir zu Hause und im Geschäft läuft es unter SW2015. Gebt mal Bescheid, wie es bei euch ausschaut. Und ansonsten kann ich nur noch Ring frei sagen an alle Programmierer. Wer möchte noch Augen, Mund und Nase oder sonst was hinzufügen? Der Fantasie sind hier keine Grenzen gesetzt, nur zu. 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 |
LeDave Mitglied
Beiträge: 19 Registriert: 02.07.2016 Intel Core i7-7800X CPU @ 3.5 GHz; 64 GB RAM Win10; 64bit-OS NVIDIA Quadro P2000 SWX2020 SP5.0 x64-Edition MaxxDB 2020 SP0.33
|
erstellt am: 26. Apr. 2017 13:21 <-- editieren / zitieren --> Unities abgeben: Nur für Andi Beck
|
bk.sc Ehrenmitglied V.I.P. h.c. Konstrukteur Sondermaschinenbau
Beiträge: 2795 Registriert: 18.07.2012 -Solid Works 2019 SP5 -Pro Engineer WF 3
|
erstellt am: 26. Apr. 2017 13:41 <-- editieren / zitieren --> Unities abgeben: Nur für Andi Beck
Hallo LeDave, sind deine Referenzebenen zufällig anderst benannt wie "Front Plan" wenn ja musst du das im Macro ändern auf den Namen deiner Ebene für die Vorderseite in meinem Fall war das z.B. "Ebene vorne". Alternativ können auch Verweise fehlen oder du startest in der falschen Prozedur. 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 |
CAD-Maler Mitglied Konstrukteur / CAD-Admin / Mädchen für alles
Beiträge: 727 Registriert: 17.01.2007 SWX 2023 SP5 Draftsight 2023 Win 11 Enterprise Intel i7-13700 2.10 GHz 64GB RAM Nvidia RTX A2000 12GB SWx EPDM AP+ CSWE 2018
|
erstellt am: 26. Apr. 2017 13:41 <-- editieren / zitieren --> Unities abgeben: Nur für Andi Beck
|
Ralf Tide Moderator -
Beiträge: 4999 Registriert: 06.08.2001 Sehr seltsame Dinge passiern <Klaus Lage - Toy Story> .-)
|
erstellt am: 26. Apr. 2017 13:53 <-- editieren / zitieren --> Unities abgeben: Nur für Andi Beck
|
HenryV Mitglied Konstrukteur, Engineering
Beiträge: 817 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: 26. Apr. 2017 14:45 <-- editieren / zitieren --> Unities abgeben: Nur für Andi Beck
Hallo Andi Mit folgendem Code kannst du die erste Ebene dynamisch auswählen.
Code: Dim swFeature As SldWorks.Feature
Code: 'Ebene auswählen Set swFeature = swModel.FirstFeature Do While Not swFeature Is Nothing If UCase(swFeature.GetTypeName) = "REFPLANE" Then swFeature.Select (False) Exit Do End If Set swFeature = swFeature.GetNextFeature Loop 'boolstatus = swPart.Extension.SelectByID2("Front Plane", "PLANE", 0, 0, 0, False, 0, Nothing, 0) swPart.SketchManager.InsertSketch False
Gruss Andreas ------------------ 21 ist nur die halbe Antwort. [Diese Nachricht wurde von HenryV am 26. Apr. 2017 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Knoeti Mitglied Techniker
Beiträge: 222 Registriert: 20.08.2010 SOLIDWORKS 2019 SP5 Teamcenter 12 paint.net 4.0.10
|
erstellt am: 26. Apr. 2017 16:13 <-- 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: 26. Apr. 2017 21:18 <-- editieren / zitieren --> Unities abgeben:
Hallo, danke für eure Ratschläge. Anbei die nächste Version. ' Änderungsindex: '- - - - - - - - - - - - - ' Bildschirmschoner 1.0.1 - 26.04.2017 ' dynamische Auswahl der ersten Ebene hinzugefügt, Danke an Andreas (HenryV) ' Programmabbruch per "Space" Taste hinzugefügt, Danke an Jens (CAD-Maler) ' Featuremanager wird jetzt ausgeblendet Auch bei meiner Vorlage heißen die Ebenen anders und es hat trotzdem funktioniert. Die englische Bezeichnung der Ebene sollte eigentlich immer funktionieren, obwohl sie umbenannt wurden. Ich habe jetzt aber trotzdem die dynamische Auswahl der realen Ebene von Andreas eingebaut. Nun sollten hier keine Probleme mehr auftreten. Das Makro läuft jetzt Endlos weiter, solange bis die "Space" Taste gedrückt wurde. Ich habe ein Bild für die Verweise, welche von SW2015 verwendet werden, angehängt. Wer eine andere SW-Version verwendet, sollte die entsprechenden Verweise hierzu anpassen. Im 2ten Bild sieht man die Einstellungen bei mir für die Standardvorlagen. In der ersten Zeile für Teile: muss hier eine Vorlage angegeben sein. Ohne Vorlage kann das Makro keine neue Datei erzeugen. Evtl. liegt hier das Problem einiger Anwender. 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 |
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: 27. Apr. 2017 02:09 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von Knoeti:
Hat jemand eine Idee woran das liegt?
Hallo Guido, das Makro konnte an dieser Stelle keine Vorlage für ein Part laden. Entweder hast du keinen Pfad zu der Vorlage bei den Standardvorlagen angegeben, oder diese Datei kann nicht geladen werden, weil sie für eine neuere SW-Version vorgesehen ist. 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 |
bk.sc Ehrenmitglied V.I.P. h.c. Konstrukteur Sondermaschinenbau
Beiträge: 2795 Registriert: 18.07.2012 -Solid Works 2019 SP5 -Pro Engineer WF 3
|
erstellt am: 27. Apr. 2017 06:35 <-- editieren / zitieren --> Unities abgeben: Nur für Andi Beck
Zitat: Hat jemand eine Idee woran das liegt?
Hallo zusammen, bei mir kamm genau diese Fehlermeldung wenn für die zu selektierende Ebene eben "Front Plane" eingetragen war und nicht "Ebene vorne". Aber Guido verwendet wie ich SWX 2015 vielleicht gibt es da einen Bug in diesem Kontext. Das Problem wurde ja jetzt schon vorbildlich gelöst 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 |
CAD-Maler Mitglied Konstrukteur / CAD-Admin / Mädchen für alles
Beiträge: 727 Registriert: 17.01.2007 SWX 2023 SP5 Draftsight 2023 Win 11 Enterprise Intel i7-13700 2.10 GHz 64GB RAM Nvidia RTX A2000 12GB SWx EPDM AP+ CSWE 2018
|
erstellt am: 27. Apr. 2017 08:29 <-- editieren / zitieren --> Unities abgeben: Nur für Andi Beck
Zitat: Original erstellt von Andi Beck:
' Featuremanager wird jetzt ausgeblendet
Den Task-Arbeitsbereich a.k.a. Taskpane kannst du mit Code:
swApp.SetToolbarVisibility swToolbar_e.swTaskPaneToolbar, False
ausblenden bzw. mit ..., True wieder einblenden. Das funktioniert aber scheinbar nur sehr zufällig. Genau wie Code:
SendKeys "{F9}", True SendKeys "{F10}", True SendKeys "{F11}", True
nur sehr willkürlich funktioniert. Am besten hat bei mir Code:
SendKeys "{F9}", True SendKeys "{F10}", True SendKeys "{F11}", True SendKeys "{F10}", True
funktioniert und selbst das nur in 90% der Versuche. Für die Statusleiste hab ich auch nichts gefunden. Gruß, Jens ------------------ CSWA, CSWP, CSWPA-SM & -SU =) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bk.sc Ehrenmitglied V.I.P. h.c. Konstrukteur Sondermaschinenbau
Beiträge: 2795 Registriert: 18.07.2012 -Solid Works 2019 SP5 -Pro Engineer WF 3
|
erstellt am: 27. Apr. 2017 14:37 <-- editieren / zitieren --> Unities abgeben: Nur für Andi Beck
Hallo Andi, hier mal eine leicht modifizierte Skizzenerstellung. Code:
swPart.SketchManager.InsertSketch False swPart.SketchManager.AddToDB = True'FeatureManager ausblenden value = swPart.SetFeatureManagerWidth(0) 'Skizze erzeugen Set SketchSegmentObj(0) = swPart.SketchManager.CreateLine(0#, 0#, 0#, 0#, -0.08, 0#) Set SketchSegmentObj(1) = swPart.SketchManager.CreateEllipticalArc(0#, -0.04, 0#, 0, -0.08, 0#, 0.025, -0.04, 0#, 0#, 0#, 0#, 0#, -0.08, 0#, 1) swPart.SketchManager.AddToDB = False swPart.SketchManager.InsertSketch True swPart.EditSketch Set swSketch = swPart.SketchManager.ActiveSketch value = swSketch.ConstrainAll() boolstatus = swPart.Extension.SelectByID2("Point7", "SKETCHPOINT", 0#, 0#, 0#, False, 0, Nothing, 0) boolstatus = swPart.Extension.SelectByID2("Linie1", "MIDPOINT", 0#, 0#, 0#, True, 0, Nothing, 0) swPart.SketchAddConstraints "sgHORIZONTALPOINTS2D" boolstatus = swPart.Extension.SelectByID2("Point6", "SKETCHPOINT", 0#, 0#, 0#, False, 0, Nothing, 0) boolstatus = swPart.Extension.SelectByID2("Point1@Ursprung", "EXTSKETCHPOINT", 0#, 0#, 0#, True, 0, Nothing, 0) swPart.SketchAddConstraints "sgCOINCIDENT" boolstatus = swPart.Extension.SelectByID2("Line1", "SKETCHSEGMENT", 0#, 0#, 0#, False, 0, Nothing, 0) Set myDisplayDim = swPart.AddDimension2(0.01, -0.04, 0) Set myDimension1 = myDisplayDim.GetDimension2(0) boolstatus = swPart.Extension.SelectByID2("Point7", "SKETCHPOINT", 0#, 0#, 0, False, 0, Nothing, 0) boolstatus = swPart.Extension.SelectByID2("Line1", "SKETCHSEGMENT", 0#, 0#, 0#, True, 0, Nothing, 0) Set myDisplayDim = swPart.AddDimension2(-0.0125, -0.09, 0) Set myDimension2 = myDisplayDim.GetDimension2(0)
Hierfür musst du nur Dim swSketch As SldWorks.Sketch hinzufügen, Dim SketchSegmentObj(1) As SldWorks.SketchSegment und Dim myDisplayDim As SldWorks.DisplayDimension umdeklarieren . Mein Versuch das Maus LMB Event abzufangen um das Macro zu beenden ist leider gescheitert, falls sich jemand weiter daran versuch möchte hab ich mal meinen Versuch angehängt, wenn ich die ganzen Aktionen nach der Modelerstellung auskommentiere funktioniert es, nur sobald diese wieder drin sind passiert nichts mehr. Gruß Bernd ------------------ --- Man muß nicht alles wissen, man muß nur wissen wo es steht --- Staatlich anerkannte Deutschniete [Diese Nachricht wurde von bk.sc am 27. Apr. 2017 editiert.] [Diese Nachricht wurde von bk.sc am 27. Apr. 2017 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
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: 30. Apr. 2017 10:48 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von bk.sc: hier mal eine leicht modifizierte Skizzenerstellung.
Hallo Bernd, ich habe mir deinen Code mal näher angeschaut. Sieht Prima aus, allerdings ist bei dir die Skizze noch nicht vollständig definiert. Ich habe das noch weiter optimiert und ich denke, so sieht es schon ganz gut aus. Dieser Befehl sorgt für einige Zeilen Code weniger. swPart.SketchManager.AddToDB = False Er muss auf False stehen, damit automatisch verknüpft wird. ' Änderungsindex: '- - - - - - - - - - - - - ' Bildschirmschoner 1.0.2 - 30.04.2017 ' erzeugung der Skizze vereinfacht, Danke an Bernd (bk.sc) ' nur noch 2 statt 12 Schleifen und dafür jetzt mit Sinuskurven beim Farbverlauf Durch die Verwendung der Sinuskurven konnte ich auch einiges an Code einsparen. Allerdings habe ich da ein wenig tüfteln müssen, da sowas nicht gerade mein Tagesgeschäft ist. So, und wer verpasst dem Ei nun die Augen? Schönen 1sten Mai auch noch, wir sehen uns auf der Kundgebung 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 |
bk.sc Ehrenmitglied V.I.P. h.c. Konstrukteur Sondermaschinenbau
Beiträge: 2795 Registriert: 18.07.2012 -Solid Works 2019 SP5 -Pro Engineer WF 3
|
erstellt am: 02. Mai. 2017 08:05 <-- editieren / zitieren --> Unities abgeben: Nur für Andi Beck
Zitat: Sieht Prima aus, allerdings ist bei dir die Skizze noch nicht vollständig definiert.
Hallo Andi, da hab ich beim Kopieren glatt eine Beziehungserstellung unterschlagen . Hab mit AddToDB = False und ConstrainAll (automatisches verschmelzen) gearbeitet da ich das aus einem anderen Code von mir kopiert habe und bei diesem habe ich sehr kurze Linien dabei die bei AddToDB = True mit falschen Beziehung versehen werden aber in deinem Fall stellt das ja eigentlich gar kein Problem da, daher natürlich überflüssig. 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 |
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: 07. Apr. 2023 19:03 <-- editieren / zitieren --> Unities abgeben:
ACHTUNG! Sie antworten auf einen Beitrag der älter als 1 Jahr ist! Aus aktuellem Anlass Bildschirmschoner hochschieb! Frohe Ostern Andi
------------------ 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 >>)
|