| |  | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
Autor
|
Thema: Makro Skizze auf Ebene (565 mal gelesen)
|
wadim.m Mitglied Technischer Produktdesigner

 Beiträge: 23 Registriert: 23.01.2023 Windows 11 // Solidworks 2022 SP05
|
erstellt am: 02. Feb. 2023 15:37 <-- editieren / zitieren --> Unities abgeben:         
Hallo zusammen, ich habe noch keine Erfahrungen mit Makros. Würde aber gerne folgendes machen wollen. Ich möchte eine bestimmte Skizze auf Ebene2 bzw. Ebene Oben setzen. also normal nix wildes, weis nur nicht wie man das in einem Makro darstellt. Danke schonmal im vorraus [Diese Nachricht wurde von wadim.m am 02. Feb. 2023 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Andi Beck Ehrenmitglied V.I.P. h.c. Konstrukteur

 Beiträge: 2544 Registriert: 02.10.2006 Firma: SW 2021-5.1 + PDM Prof. Windows 10 Pro 64bit, i9-11900 32 GbRAM, Quadro P2200 Home: SW 2021-5.1 Passungstabelle von Heinz Windows 11 Pro 64bit, i7-12700K, 32 GbRAM, GeForce GTX 1050Ti Samsung C34H892, 3440x1440 Pixel
|
erstellt am: 02. Feb. 2023 17:39 <-- editieren / zitieren --> Unities abgeben:          Nur für wadim.m
Hallo, schau dir mal mein Makro Bildschirmschoner an. Da wird unter anderem auch eine Skizze erstellt. ww3.cad.de/foren/ubb/Forum2/HTML/030534.shtml#000000 Nimm die aktuellste Version und lese evtl. auch den ganzen Beitrag. 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 |
wadim.m Mitglied Technischer Produktdesigner

 Beiträge: 23 Registriert: 23.01.2023 Windows 11 // Solidworks 2022 SP05
|
erstellt am: 03. Feb. 2023 06:46 <-- editieren / zitieren --> Unities abgeben:         
|
Olls Lai Lolli Mitglied Konstrukteur
 
 Beiträge: 353 Registriert: 07.05.2009 MS Windows 10 Prof. Intel Xeon E5-1630 v 3 3.7 GHz 32 GB Ram Nvidia Quadro M4000 SWX 2019 x64 SP 5 PDM Enterprise 2019 SP 3
|
erstellt am: 03. Feb. 2023 07:49 <-- editieren / zitieren --> Unities abgeben:          Nur für wadim.m
|
wadim.m Mitglied Technischer Produktdesigner

 Beiträge: 23 Registriert: 23.01.2023 Windows 11 // Solidworks 2022 SP05
|
erstellt am: 03. Feb. 2023 09:21 <-- editieren / zitieren --> Unities abgeben:         
|
Christian_W Ehrenmitglied V.I.P. h.c. Konstrukteur (Dipl-Ing)
     
 Beiträge: 3050 Registriert: 04.04.2001 SWX2021sp5 WIN10 proAlpha6.2e00/calinkV9 (Tactonworks) (Medusa7, NesCAD2010, solidEdge19) CSWP 12/2015
|
erstellt am: 03. Feb. 2023 09:31 <-- editieren / zitieren --> Unities abgeben:          Nur für wadim.m
Zitat: Original erstellt von wadim.m: ... Aber wie gesagt ich kenne mich 0 mit Makros aus :P Wie genau ...
SolidWorks starten, oben das Fragezeichen aufsuchen und "Lehrbücher" anklicken. dann auf "Alle SolidWorks Lehrbücher" und da sind 2 Stück zu "SolidWorks API" Das erste davon hat 45 Minuten zu VBA - Macro Aufzeichnung und Abänderung. Danach hast du schon mal nicht mehr 0 Ahnung. Gruß, Christian
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Andi Beck Ehrenmitglied V.I.P. h.c. Konstrukteur

 Beiträge: 2544 Registriert: 02.10.2006 Firma: SW 2021-5.1 + PDM Prof. Windows 10 Pro 64bit, i9-11900 32 GbRAM, Quadro P2200 Home: SW 2021-5.1 Passungstabelle von Heinz Windows 11 Pro 64bit, i7-12700K, 32 GbRAM, GeForce GTX 1050Ti Samsung C34H892, 3440x1440 Pixel
|
erstellt am: 03. Feb. 2023 10:11 <-- editieren / zitieren --> Unities abgeben:          Nur für wadim.m
|
wadim.m Mitglied Technischer Produktdesigner

 Beiträge: 23 Registriert: 23.01.2023 Windows 11 // Solidworks 2022 SP05
|
erstellt am: 03. Feb. 2023 10:29 <-- editieren / zitieren --> Unities abgeben:         
Hallo zusammen, Danke schonmal für diese Lehrreichen Videos und Anleitungen. Habe jetzt mal was gebastelt, aber ich kriege es nicht hin das er mir die Skizze Auflöst... Er nimmt den Block aus der Bibliothek aber löst ihn dann nach dem Einfügen nicht auf um die Referenzen zu setzen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Heiko Soehnholz Ehrenmitglied V.I.P. h.c. Dipl.-Ing. (FH) Maschinenbau

 Beiträge: 5269 Registriert: 03.07.2002 SOLIDWORKS seit 2001 CSWS-TSO/TSA/MD/TMD CSWS-C/D/I/MBD/VIS/S/F/P/M/CAM CSWP-Core/DT/MT/SM/SU/WD/MBD/Flow/API CSWE/CSSP/CSPP/CSWI/CSDPP 3DEXPERIENCE CSV/IFW/WXD/XFO/UES/LTR XBT/XWC/DRA/XMO/WXD-P/XFO-P/SWEDU-P/NSR SWX Digital Media Award 2018/2019/2021 3DEXPERIENCE TECH AWARD 2022 SWPUC Winner SWX 2021/2022/2023SP2 Simu, Flow, Plastics, Composer, MBD, Inspection, PDMP, Visualize, TopsWorks, DPS Tools, JobBox, MacroSheet, etc. Passungstabelle von Heinz WIN10x64 22H2 | HP ZBook 17 Fury G8
|
erstellt am: 03. Feb. 2023 10:42 <-- editieren / zitieren --> Unities abgeben:          Nur für wadim.m
|
wadim.m Mitglied Technischer Produktdesigner

 Beiträge: 23 Registriert: 23.01.2023 Windows 11 // Solidworks 2022 SP05
|
erstellt am: 03. Feb. 2023 10:48 <-- editieren / zitieren --> Unities abgeben:         
|
Christian_W Ehrenmitglied V.I.P. h.c. Konstrukteur (Dipl-Ing)
     
 Beiträge: 3050 Registriert: 04.04.2001 SWX2021sp5 WIN10 proAlpha6.2e00/calinkV9 (Tactonworks) (Medusa7, NesCAD2010, solidEdge19) CSWP 12/2015
|
erstellt am: 05. Feb. 2023 01:10 <-- editieren / zitieren --> Unities abgeben:          Nur für wadim.m
Zitat: Original erstellt von wadim.m: Habe jetzt mal was gebastelt, aber ich kriege es nicht hin das er mir die Skizze Auflöst...
Hallo, die Makro Aufzeichnung ist etwas gewöhnungsbedürftig. Wenn man es sich scharf anschaut, stellt man oft fest, dass man 80% nicht braucht, weil es zwischendurch Ansicht drehen und zoomen ist, oder erstmal was falsches gewählt und wieder abgewählt ... und wenn dann noch etwas Pech hinzukommt, ist der entscheidende Befehl nicht mit aufgezeichnet ... :( ... aber - ist halt so ... Code: Part.SketchManager.ExplodeSketchBlockInstance Nothing
Laut Hilfe braucht die Funktion als Objekt eine "Sketchblockinstance", du gibst ihm aber "nothing". Beim Aufzeichnen wird meist über den Namen selektiert (die Zeile da drüber) - das klappt aber im Makro meist nicht so zuverlässig. "MakeSketchBlockFromFile" liefert die Blockdefinition, ich fürchte von der aus musst du über myBlockDefinition.GetInstances dich zu der Blockinstanz hangeln. Und die sollte dann an Explode gereicht werden ... Wer noch einen Blick drauf werfen mag - die IMHO relevanten Zeilen:
Code: boolstatus = Part.Extension.SelectByID2("Ebene2", "PLANE", 0, 0, 0, False, 0, Nothing, 0) Part.SketchManager.InsertSketch True boolstatus = Part.Extension.SelectByID2("Skizze6", "SKETCH", 0, 0, 0, False, 0, Nothing, 0) Part.ClearSelection2 True Dim myBlockDefinition As Object Set myBlockDefinition = Part.SketchManager.MakeSketchBlockFromFile(Nothing, "C:\ProgramData\SolidWorks\SOLIDWORKS 2022\Design Library\Bogenmaß Ebene Oben.sldblk", False, 1, 0) Part.SketchManager.InsertSketch True boolstatus = Part.Extension.SelectByID2("Block-Bogenmaß Ebene Oben-1@Skizze6", "SUBSKETCHINST", 0, 0, 0, False, 0, Nothing, 0) Part.SketchManager.ExplodeSketchBlockInstance Nothing boolstatus = Part.Extension.SelectByID2("Skizze6", "SKETCH", 0, 0, 0, False, 0, Nothing, 0) Part.EditSketch
Gruß, Christian
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
wadim.m Mitglied Technischer Produktdesigner

 Beiträge: 23 Registriert: 23.01.2023 Windows 11 // Solidworks 2022 SP05
|
erstellt am: 09. Feb. 2023 09:49 <-- editieren / zitieren --> Unities abgeben:         
Zitat: Original erstellt von Christian_W:
Hallo, die Makro Aufzeichnung ist etwas gewöhnungsbedürftig. Wenn man es sich scharf anschaut, stellt man oft fest, dass man 80% nicht braucht, weil es zwischendurch Ansicht drehen und zoomen ist, oder erstmal was falsches gewählt und wieder abgewählt ... und wenn dann noch etwas Pech hinzukommt, ist der entscheidende Befehl nicht mit aufgezeichnet ... :( ... aber - ist halt so ... Code: Part.SketchManager.ExplodeSketchBlockInstance Nothing
Laut Hilfe braucht die Funktion als Objekt eine "Sketchblockinstance", du gibst ihm aber "nothing".Beim Aufzeichnen wird meist über den Namen selektiert (die Zeile da drüber) - das klappt aber im Makro meist nicht so zuverlässig. "MakeSketchBlockFromFile" liefert die Blockdefinition, ich fürchte von der aus musst du über myBlockDefinition.GetInstances dich zu der Blockinstanz hangeln. Und die sollte dann an Explode gereicht werden ... Wer noch einen Blick drauf werfen mag - die IMHO relevanten Zeilen:
Code: boolstatus = Part.Extension.SelectByID2("Ebene2", "PLANE", 0, 0, 0, False, 0, Nothing, 0) Part.SketchManager.InsertSketch True boolstatus = Part.Extension.SelectByID2("Skizze6", "SKETCH", 0, 0, 0, False, 0, Nothing, 0) Part.ClearSelection2 True Dim myBlockDefinition As Object Set myBlockDefinition = Part.SketchManager.MakeSketchBlockFromFile(Nothing, "C:\ProgramData\SolidWorks\SOLIDWORKS 2022\Design Library\Bogenmaß Ebene Oben.sldblk", False, 1, 0) Part.SketchManager.InsertSketch True boolstatus = Part.Extension.SelectByID2("Block-Bogenmaß Ebene Oben-1@Skizze6", "SUBSKETCHINST", 0, 0, 0, False, 0, Nothing, 0) Part.SketchManager.ExplodeSketchBlockInstance Nothing boolstatus = Part.Extension.SelectByID2("Skizze6", "SKETCH", 0, 0, 0, False, 0, Nothing, 0) Part.EditSketch
Gruß, Christian
Danke für diese ausführliche Beschreibung. Doch leider bekomme ich es einfach nicht hin :/ verstehe nicht genau was du mit "ich fürchte von der aus musst du über myBlockDefinition.GetInstances dich zu der Blockinstanz hangeln. Und die sollte dann an Explode gereicht werden ..." meinst Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Christian_W Ehrenmitglied V.I.P. h.c. Konstrukteur (Dipl-Ing)
     
 Beiträge: 3050 Registriert: 04.04.2001 SWX2021sp5 WIN10 proAlpha6.2e00/calinkV9 (Tactonworks) (Medusa7, NesCAD2010, solidEdge19) CSWP 12/2015
|
erstellt am: 11. Feb. 2023 00:22 <-- editieren / zitieren --> Unities abgeben:          Nur für wadim.m
Zitat: ... über myBlockDefinition.GetInstances dich zu der Blockinstanz hangeln. Und die sollte dann an Explode gereicht werden ..."
getinstances liefert array von Blockinstanzen da brauchst du ein variant für - ungefähr sowas:
Code:
dim vBlockInstances as variant vBlockInstances = myBlockDefinition.getinstances Part.SketchManager.ExplodeSketchBlockInstance vBlockInstances(0)
so ganz ins Grobe geschrieben und ohne Test ... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
 |