| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte | | | | Ersatzteilwesen optimieren mit CIDEON Sparify, eine Pressemitteilung
|
Autor
|
Thema: Makro mit Rechtsklick? (2432 mal gelesen)
|
BaCAD Mitglied Bauzeichner
Beiträge: 129 Registriert: 17.09.2008 AutoCAD 2016
|
erstellt am: 04. Mai. 2012 16:47 <-- editieren / zitieren --> Unities abgeben:
Hallo Hintergrund: In der Multifunktionsliste von AutoCAD unter Start Gruppe kann man verschiedene Elemente markieren und eine Gruppe erstellen (GRUPPE). Diese kann man auflösen (Gruppierung aufheben), was einem sprengen gleichkommt. Möchte man nur einen Teil einer Gruppe verschieben, kann man die Gruppe temporär so einstellen, dass man einzelne Objekte davon verschieben kann (Gruppenauswahl ein/aus , es handelt sich um die Systemvariable pickstyle). Wir haben ein Zusatzmodul installiert um Armierungen erstellen zu können. Das Eisen sowie der Anschreiber und alle dazugehörigen Linien und Symbole bilden eine Gruppe. Da AutoCAD die Gruppe ab Version 2012 etwas modifiziert hat, können wir im Büro die Einzelteile der Gruppe nicht mehr verschieben. Es sei denn, wir nutzen die Gruppenauswahl ein/aus-Befehl, um dann die Texte zu verschieben und danach die Gruppenauswahl wieder auszustellen (damit die Bewehrung eine Bewehrung bleibt und von der Datenbank erkannt wird). Problem: Ich möchte nun den normalen Verschieben-Befehl mit dem „Gruppenauswahl ein/aus“-Befehl verknüpfen, scheitere aber damit:
^C^Cpickstyle;0;_move;\;\;\;pickstyle;1 Zuerst stelle ich die Gruppenauswahl so ein, das man einzelne Gruppenelemente anklicken kann (pickstyle;0), danach wähle ich den normalen Verschieben-Befehl (;_move), dann kann ich ein Objekt mit links auswählen und dies mit der rechten Maustaste bestätigen. Sobald ich aber mit meinem Makro den Basispunkt angeben soll, verschwindet das zu verschiebende Objekt sonst wo hin. Wo ist mein Überlegungsfehler? Ich müsste ja nur noch einmal klicken um den Bezugspunkt anzugeben, dann ein zweites Mal um zu definieren, wohin das Element verschoben werden soll. Danach muss nur noch automatisch pickstyle wieder auf 1 gesetzt werden. Für Hilfe wäre ich dankbar, denn so würden wir eine Menge Zeit sparen.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
spider_dd Mitglied
Beiträge: 1144 Registriert: 27.11.2003 Win 10Pro Intel(R) Core(TM) i7-7700 NVIDIA Quadro P1000 ACAD, Civil-3D 2018
|
erstellt am: 04. Mai. 2012 17:25 <-- editieren / zitieren --> Unities abgeben: Nur für BaCAD
Hallo BaCad, ich denke Du hast in Deinem Makro ein paar ; = Enter zu viel drin. Wenn Du nach der Angabe des Basispunktes Enter drückst, dann verschieb es des gewählte Objekt halt "irgendwohin" ..._move;\\\ könnte funktionieren (mal mit mehr oder weniger \ austesten) oder als Lisp-Zeile probier mal folgendes (progn (setvar "pickstyle" 0)(command "_move" pause pause pause pause)(setvar "pickstyle" 1)) HTH Gruß Thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
BaCAD Mitglied Bauzeichner
Beiträge: 129 Registriert: 17.09.2008 AutoCAD 2016
|
erstellt am: 04. Mai. 2012 17:37 <-- editieren / zitieren --> Unities abgeben:
Danke für den Hinweis. Ich bevorzuge Makros statt Lisps, weil man bei Makros nichts neu laden muss. Und dieses Problem sollte absolut lösbar sein via Makro, finde ich. Den einzugebenden Ablauf ist nicht sehr komplex. Ich habe - schon bevor du geantwortet hast - nochmals einige Versuche durchgeführt. Mit dem folgenden Makro habe ich fast Erfolg. Am Ende wird leider die Systemvariable nicht wieder umgestellt, wahrscheinlich weil der _move-Befehl beendet ist. Hier: ^C^Cpickstyle;0;_move;\;\\\;pickstyle;1 Damit kann ich exakt ein Element auswählen, dann den Bezugspunkt angeben, dann den Ziel-Punkt (sprich, das eine Element wurde erfolgreich verschoben). Danach ist der Befehl fertig. Es passiert nichts mehr. Schön wäre, wenn danach noch die Systemvariable umgestellt würde (wieder wie sie vorhin war). Edit: mit ..._move;\\\ klappt es nicht, da dann nach der Wahl des Elementes nichts weiter passiert (also die Bestätigung der Wahl, die man ja mit der rechten Maustaste oder Enter tätigt, bleibt aus).
[Diese Nachricht wurde von BaCAD am 04. Mai. 2012 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 22275 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 04. Mai. 2012 21:43 <-- editieren / zitieren --> Unities abgeben: Nur für BaCAD
Eine Benutzereingabe benötigt ja kein Semikolon zur "Bestätigung" da man dies ja selbst macht dabei, also folgt nach dem Backslash kein ; um den Backslash zu "bestätigen". Nach dem das noch mal gesagt ist kannst du das Makro sicher erstellen, dieses mal ohne try&error sondern geplant. ==============Textfenster F2================ Befehl: *Abbruch* <^C> Befehl: *Abbruch* <^C> Befehl: _PICKSTYLE <enter> Neuen Wert für PICKSTYLE eingeben <1>: 0 <enter> Befehl: _.MOVE <enter> Objekte wählen: (hier als Beispiel ein Objekt mit li.Maustaste direkt angeklickt)<Benutzereingabe> 1 gefunden Objekte wählen: <enter> Basispunkt oder [Verschiebung] <Verschiebung>: (hier als Beispiel mit li.Maustaste angegeben)<Benutzereingabe> Zweiten Punkt angeben oder <ersten Punkt der Verschiebung verwenden>: (hier als Beispiel mit li.Maustaste angegeben)<Benutzereingabe> Befehl: _PICKSTYLE <enter> Neuen Wert für PICKSTYLE eingeben <0>: 1 <enter> Befehl: ===================================================== ------------------ CAD.de System-Angaben - CAD on demand - User:FAQ(Acad) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CAD-Huebner Ehrenmitglied V.I.P. h.c. Verm.- Ing., ATC-Trainer
Beiträge: 9803 Registriert: 01.12.2003 AutoCAD 2.5 - 2025, Civil 3D, MAP 3D, ACADM, ACA Inventor Prof. 2025, AIP 4-2025 Win 11
|
erstellt am: 05. Mai. 2012 12:52 <-- editieren / zitieren --> Unities abgeben: Nur für BaCAD
Zitat: Original erstellt von BaCAD: ...Da AutoCAD die Gruppe ab Version 2012 etwas modifiziert hat, können wir im Büro die Einzelteile der Gruppe nicht mehr verschieben. ...
Befehl: GROUPDISPLAYMODE Neuen Wert für GROUPDISPLAYMODE eingeben <2>: 0
stellt das Gruppendarstellungsverhalten aus AutoCAD 2011 oder früher wieder her, so dass auch einzelne Objekte über Griffe editiert werden können, ohne die Gruppe oder die Gruppenauswahl aufzuheben.
------------------ Mit freundlichem Gruß Udo Hübner www.CAD-Huebner.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
BaCAD Mitglied Bauzeichner
Beiträge: 129 Registriert: 17.09.2008 AutoCAD 2016
|
erstellt am: 07. Mai. 2012 13:02 <-- editieren / zitieren --> Unities abgeben:
|
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|