| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| Engineering Erleben: Innovationen. Interfaces. Impulse., eine Veranstaltung am 01.10.2024
|
Autor
|
Thema: _BEM / _DIM - EXIT (1092 mal gelesen)
|
CAD-Tötti Mitglied
Beiträge: 116 Registriert: 27.09.2003 ACAD 2004
|
erstellt am: 08. Jan. 2004 21:24 <-- editieren / zitieren --> Unities abgeben:
Hi, selbst auf die Gefahr hin, dass mich wieder keiner versteht (*heul* keiner versteht mich ): wie kann ich dem aktiven Befehl "_BEM" oder "_DIM" zu verstehen geben, dass er sich nicht nur durch Eingabe von "EXIT" beenden lässt, sondern auch durch einfaches Drücken der ESC-Taste. Danke, CAD-Tötti Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
GWH Mitglied
Beiträge: 552 Registriert: 08.06.2001
|
erstellt am: 08. Jan. 2004 22:19 <-- editieren / zitieren --> Unities abgeben: Nur für CAD-Tötti
Hi CAD-Tötti. Geht ja durch einfaches drücken der ESC-Taste. ------------------ Ciao Günter -------------------------------------------------------------------------------- "Es gibt keine Probleme, sondern Aufgaben zu lösen." Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CAD-Tötti Mitglied
Beiträge: 116 Registriert: 27.09.2003 ACAD 2004
|
erstellt am: 08. Jan. 2004 22:40 <-- editieren / zitieren --> Unities abgeben:
Tschuldigung, ich meinte was anderes: ich habe einen Reaktor, der auf einen bestimten Layer wechselt, wenn ich irgendeinen DIM oder BEM Befehl ausführe. Nach Beendigung der Bemaßung schaltet der Reaktor wieder zurück auf den zuletzt aktuellen Layer. Wenn ich aber DIM- oder BEM-Befehl mit"_update" ausführe, bleibt beim ESC der Bemaßungslayer. Das möchte ich auch abbrechen können mit ESC. Mein Reaktor sieht so aus: (defun pre_lay_dim (reatyp befname / );Wenn Bem gestartet wird (cond ((wcmatch (car befname) "DIM*") (setq *oldlay_dim* (getvar "CLAYER")) (setvar "CLAYER" "DIM") ) ) ) ; ;; Hier kann man einen persönlichen Layer einstellen. ; ;; Eingestellt ist: Layer DIM, Farbe 1, Linientyp CONTINUOUS ; (if (not (tblsearch "LAYER" "DIM")) ; (command "LAYER" "MACH" "DIM" "_COLOR" "1" "" "LT" "CONTINUOUS" "" "") ; ) (defun after_lay_dim (reatyp befname / );Wenn Bem beendet wird (cond ((and (wcmatch (car befname) "DIM*") *oldlay_dim* ) (setvar "CLAYER" *oldlay_dim*) (setq *oldlay* nil) ) ) ) (defun reload_dim ();Initialisierung des Reactors (if (not *DEFUN_DIMLAYER_DIM*) (progn (setq *DEFUN_DIMLAYER_DIM* (VLR-Command-Reactor "*DEFUN_DIMLAYER_DIM*" '((:vlr-commandEnded . after_lay_dim) (:vlr-commandwillstart . pre_lay_dim) ) ) ) ) ) ) (reload_dim)
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Ehrenmitglied V.I.P. h.c. CAD on demand GmbH
Beiträge: 4187 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools
|
erstellt am: 08. Jan. 2004 23:19 <-- editieren / zitieren --> Unities abgeben: Nur für CAD-Tötti
|
fuchsi Mitglied Programmierer c#.net Datawarehouse
Beiträge: 1201 Registriert: 14.10.2003 AutoCad Version 2012 deu/enu <P>Windows 7 64bit
|
erstellt am: 09. Jan. 2004 08:09 <-- editieren / zitieren --> Unities abgeben: Nur für CAD-Tötti
gib noch diesen reaktor hinzu :vlr-commandEnded der wird nur beim ordnungsgemässen beenden eines befehles aktiviert :vlr-commandCancelled der wird aktiviert beim beenden über ESC ------------------ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CAD-Tötti Mitglied
Beiträge: 116 Registriert: 27.09.2003 ACAD 2004
|
erstellt am: 09. Jan. 2004 11:04 <-- editieren / zitieren --> Unities abgeben:
|
fuchsi Mitglied Programmierer c#.net Datawarehouse
Beiträge: 1201 Registriert: 14.10.2003 AutoCad Version 2012 deu/enu <P>Windows 7 64bit
|
erstellt am: 09. Jan. 2004 11:09 <-- editieren / zitieren --> Unities abgeben: Nur für CAD-Tötti
defun reload_dim ();Initialisierung des Reactors (if (not *DEFUN_DIMLAYER_DIM*) (progn (setq *DEFUN_DIMLAYER_DIM* (VLR-Command-Reactor "*DEFUN_DIMLAYER_DIM*" '((:vlr-commandEnded . after_lay_dim) (:vlr-commandCancelled . after_lay_dim) (:vlr-commandwillstart . pre_lay_dim) ) ) ) ) ) ) ------------------ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CAD-Tötti Mitglied
Beiträge: 116 Registriert: 27.09.2003 ACAD 2004
|
erstellt am: 09. Jan. 2004 21:09 <-- editieren / zitieren --> Unities abgeben:
@fuchsi: Das geht irgendwie nicht, das ACAD meldet bei jedem Befehl "Befehl: _options ; Fehler: no function definition: PRE_LAY_DIM ; Fehler: no function definition: AFTER_LAY_DIM" Gruß CAD-Tötti Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 11. Jan. 2004 11:58 <-- editieren / zitieren -->
Zitat: Original erstellt von CAD-Tötti: Hi, wie kann ich dem aktiven Befehl "_BEM" oder "_DIM" zu verstehen geben, dass er sich nicht nur durch Eingabe von "EXIT" beenden lässt, sondern auch durch einfaches Drücken der ESC-Taste.
Die ESC-Taste ist in AutoCAD dazu da, Befehle ***abzubrechen***, und nicht, sie zu ***beenden***. Das ist ein wichtiger Unterschied, dessen Nichtbeachtung durch die Anwender schon so manchen Admin zur Verzweiflung gebracht hat. Du solltest wissen, was Du jeweils machen willst, und die passende Methode wählen. Wen Du einen Befehl ordentlich beenden willst (samt aller Aufräumarbeiten, die der Befehl dabei eventuell erledigt), dann verwende nicht ESC! Dein Wunsch ist deshalb zwar vielleicht erfüllbar, aber nicht sehr sinnvoll. Befehle können mehrere Ebenen tief verschachtelt sein, und jedes ESC beendet eine Ebene - man muss also u.U. mehrere Male ESC drücken, um einen Befehl zu beenden. Das geht selbstverständlich auch bei BEM. Gruß Tom Berger ------------------ Architekturwerkzeuge für AutoCAD: http://www.archtools.de |
Ex-Mitglied
|
erstellt am: 11. Jan. 2004 12:03 <-- editieren / zitieren -->
Zitat: Original erstellt von CAD-Tötti: Tschuldigung, ich meinte was anderes: ich habe einen Reaktor, der auf einen bestimten Layer wechselt, wenn ich irgendeinen DIM oder BEM Befehl ausführe. Nach Beendigung der Bemaßung schaltet der Reaktor wieder zurück auf den zuletzt aktuellen Layer. Wenn ich aber DIM- oder BEM-Befehl mit"_update" ausführe, bleibt beim ESC der Bemaßungslayer. Das möchte ich auch abbrechen können mit ESC.
Du solltest in dem Fall Deinen Reaktor so programmieren, dass er das tut, was Du willst, und nicht wegen eines Fehlers in Deinem Reaktor Dir das komplette System verbiegen. Ich vermute mal, dass dieser Reaktor dafür sorgen soll, dass alle neu erstellten Maße auf eienm bestimmten Layer liegen. Das solltest Du anders machen (Hint: bei jedem Befehlsende prüfen, ob neue Bemaßungselemente dazu gekommen sind, und diese dann passend ändern). Gruß Tom Berger ------------------ Architekturwerkzeuge für AutoCAD: http://www.archtools.de |