| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS | | | | 3DEXPERIENCE Conference 2024 | München |
Autor
|
Thema: Makro: Bestätigen und Skizze beenden per Makro? (647 mal gelesen)
|
Rotanimret Mitglied
Beiträge: 31 Registriert: 10.12.2021
|
erstellt am: 08. Sep. 2023 16:17 <-- editieren / zitieren --> Unities abgeben:
Mich nervt das oben rechts und links Geklicke zum Dialog bestätigen und Skizze beenden sehr. Die Möglichkeit über die Taste "d" ein kleines Kontextmenü zu öffnen erspart zwar die große Mausbewegung, aber hingucken und klicken muss man immer noch. Ich habe mir "ok" und ein aufgezeichnetes Makro zum Skizze beenden auf Tasten gelegt, hätte aber gern beides in einem Makro. Ich kenne aber den Makrobefehl für "ok" nicht, und beim Aufzeichnen wird er anscheinend nicht aufgenommen. So sieht es ohne "ok" aus
Code: Dim swApp As ObjectDim Part As Object Dim boolstatus As Boolean Dim longstatus As Long, longwarnings As Long Sub main() Set swApp = Application.SldWorks Set Part = swApp.ActiveDoc Part.SketchManager.InsertSketch True End Sub
Ich hätte gern danach das "ok" aufgerufen, falls ich nicht gerade in einer Skizze bin. Ist dazu eine Überprüfung, welcher Befehl genutzt werden muss, nötig, oder kann man einfach "Skizze beenden" und "ok" nacheinander aufrufen?
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Andi Beck Ehrenmitglied V.I.P. h.c. Konstrukteur
Beiträge: 2572 Registriert: 02.10.2006 Firma: SW 2023-4.0 + PDM Prof. Windows 10 Pro 64bit, i9-11900 32 GbRAM, Quadro P2200 Home: SW 2022-5.0 Passungstabelle von Heinz Windows 11 Pro 64bit, i7-12700K, 32 GbRAM, GeForce GTX 1050Ti Samsung C34H892, 3440x1440 Pixel
|
erstellt am: 08. Sep. 2023 17:25 <-- editieren / zitieren --> Unities abgeben: Nur für Rotanimret
Hallo, ich habe mir den OK-Button als Mausgeste zugewiesen, das funktioniert auch wunderbar. Im Code kannst du es mal mit diesem Befehl versuchen. Code:
Part.ClearSelection2 True
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 |
Heiko Soehnholz Ehrenmitglied V.I.P. h.c. Dipl.-Ing. (FH) Maschinenbau
Beiträge: 5463 Registriert: 03.07.2002 SOLIDWORKS 2001 - 2024SP0.1 Elite AE Award 2023 SOLIDWORKS Premium, 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: 10. Sep. 2023 20:55 <-- editieren / zitieren --> Unities abgeben: Nur für Rotanimret
|
Rotanimret Mitglied
Beiträge: 31 Registriert: 10.12.2021
|
erstellt am: 11. Sep. 2023 09:18 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von Andi Beck: ich habe mir den OK-Button als Mausgeste zugewiesen, das funktioniert auch wunderbar.
Ja, so habe ich es auch aktuell, sind aber dann eben 2 Mausgesten. Eine für OK und eine für Skizze beenden (als Makro). Zitat: Im Code kannst du es mal mit diesem Befehl versuchen.Code:
Part.ClearSelection2 True
Habe ich versucht und festgestellt, dass ich z.B. im Bohrungsassistenten kein Makro aufrufen kann Auch in einfachen Fearures kann ich kein Makro aufrufen. Wenn das so korrekt ist, dürfte mein Vorhaben nicht funktionieren. Zitat: Original erstellt von Heiko Soehnholz: wie wäre ein Doppelklick in den Grafikbereich, um die Skizze zu verlassen?! Oder eine Mausgeste?! Oder der Aufruf des Features, welches automatisch die Skizze verläßt?! Und so weiter, und so fort…
Doppelklick funktioniert zum Skizze beenden, aber nicht, wenn das Bauteil unterm cursor ist, was er bei meiner Arbeitsweise fast immer ist. Für "ok" funktioniert es gar nicht. Mausgeste gerne, aber mit welchem Befehl, der sowohl "ok" als auch "Skizze beenden" bewirkt? Das Feature nochmal aufrufen, muss ich dazu nicht wieder irgendwo hin klicken? Es geht bei mir vor allem um das Nacharbeiten von vorhandenen Teilen, die auf einen aktuellen Stand gebracht werden müssen, und dafür muss ich wenig neu erstellen, aber sehr viel bearbeiten. Ich rufe also in der Regel kein neues Feature auf, sondern bearbeite bestehende, auch damit die verbundenen Zeichnungen nicht zu sehr zerstört werden. Vielen Dank für Eure Vorschläge, ich bin offen für weitere, gerade da anscheinend kein Makro benutzt werden kann, wenn Features bearbeitet werden. 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: 11. Sep. 2023 09:24 <-- editieren / zitieren --> Unities abgeben: Nur für Rotanimret
Hallo Rotanimret, es müsste aber funktionieren (ausser beim Bohrungsassistenten), wenn du das Makro auf eine Tastenkombination legst. Gruss Winni [Diese Nachricht wurde von Winni-two am 11. Sep. 2023 editiert.] 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: 5463 Registriert: 03.07.2002 SOLIDWORKS 2001 - 2024SP0.1 Elite AE Award 2023 SOLIDWORKS Premium, 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: 11. Sep. 2023 09:58 <-- editieren / zitieren --> Unities abgeben: Nur für Rotanimret
|
Rotanimret Mitglied
Beiträge: 31 Registriert: 10.12.2021
|
erstellt am: 11. Sep. 2023 09:59 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von Winni-two: es müsste aber funktionieren (ausser beim Bohrungsassistenten), wenn du das Makro auf eine Tastenkombination legst.
Tut es bei mir leider nicht. Im Extras-Menü ist die komplette Makro-Sektion deaktiviert, die Makro-Schaltfläche wird auch nicht hervorgehoben und tut nix, und auch Mausgeste und Shortcut, die das Makro aufrufen sollen, tun es nicht. In Skizzen funtioniert es, aber im Feature (getestet mit Austragen und Schnitt) funktioniert es nicht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Rotanimret Mitglied
Beiträge: 31 Registriert: 10.12.2021
|
erstellt am: 11. Sep. 2023 10:03 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von Heiko Soehnholz: Mit dem Befehl OK kann ich sowohl die Skizze, wie auch ein Feature beenden. Auch den Bohrungsassi...
ok funktioniert hier nur, wenn der grüne ok-Haken in der rechten oberen Ecke zu sehen ist, oder im Feature, wo er im Property-Manager zu sehen ist. Wenn ich eine Skizze bearbeite, habe ich oben rechts aber keinen ok-Haken, sondern ein Skizze-beenden Symbol, und dann funktioniert ok (hier) nicht. Ich arbeite mit SW 2021, vielleicht ist das in neueren Versionen geändert worden? ---- Ich muss mich korrigieren, heute funktioniert "ok" auch zum beenden von Skizzen. Freitag war das nicht möglich. Ich muss mal beobachten, unter welchen Bedingungen es nicht funktioniert. [Diese Nachricht wurde von Rotanimret am 11. Sep. 2023 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: 11. Sep. 2023 10:27 <-- editieren / zitieren --> Unities abgeben: Nur für Rotanimret
Hallo Rotanimret Ich hab da mal was gebastelt. (Angelehnt an Thema: API: Kommentar-Indikator einblenden) Code: #If VBA7 Then Private Declare PtrSafe Function SendMessage Lib "User32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long #Else Private Declare Function SendMessage Lib "User32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long #End IfDim swApp As SldWorks.SldWorks Sub main() Const WM_COMMAND As Long = &H111 Const CLICK_OK_BUTTON As Long = 5635 Set swApp = Application.SldWorks Dim swFrame As SldWorks.Frame Set swFrame = swApp.Frame SendMessage swFrame.GetHWnd(), WM_COMMAND, CLICK_OK_BUTTON, 0 End Sub
Gruss Andreas ------------------ 21 ist nur die halbe Antwort. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|