Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Rund um AutoCAD
  Befehlsmakro wirklich transparent ausführen

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
Autor Thema:  Befehlsmakro wirklich transparent ausführen (1296 mal gelesen)
caddonner
Mitglied



Sehen Sie sich das Profil von caddonner an!   Senden Sie eine Private Message an caddonner  Schreiben Sie einen Gästebucheintrag für caddonner

Beiträge: 166
Registriert: 24.05.2005

Windows 10 64bit
Autocad 2015 C.A.T.S.
AutoCAD 2017

erstellt am: 16. Okt. 2014 14:25    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo habe mir ein Makro: (+ Lisp-Programm) gebastelt, welches die Objektfangerzwingung ein- bzw. ausschaltet. Das ganze wird transparent (über Maustaste) ausgeführt.
So weit funktioniert es ja.

Nur wenn ich dann mit Leertaste den letzten Befehl wiederholen möchte (z.B. Linie ) nimmt er meinen Makrobefehl und nicht den Linienbefehl.

Kann man das ändern ?
Für Verbesserungsvorschläge wäre ich sehr dankbar.

Makro:
'osnap2;

Lisp:
(defun c snap2()
(setvar "osnapoverride" (if (=(getvar "osnapoverride")0) 1 0))
(princ)
)

Danke

------------------
mfg
Peter

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

cadffm
Moderator
良い精神




Sehen Sie sich das Profil von cadffm an!   Senden Sie eine Private Message an cadffm  Schreiben Sie einen Gästebucheintrag für cadffm

Beiträge: 21533
Registriert: 03.06.2002

System: F1
und Google

erstellt am: 16. Okt. 2014 21:20    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für caddonner 10 Unities + Antwort hilfreich

Ohne testen zu können und zudem keine direkte Antwort, sondern ein anderer Weg:

Der Befehl zur Systemvariable selbst ist doch transparent aufrufbar, oder?
Auch der Befehl setvar sollte transparent aufrufbar sein.
also '_.OsnapOverride ich würde jetzt vermuten das der so aufgerufene Befehl nicht als letzter Befehl aufgeführt werden würde.
Wenn dem so ist:

reines Makro mit Diesel schreiben und einem Tastaturkürzel zuordnen,
diese Tastenkombi dann auf die Maustaste legen.

Einen Lispdefinierten Autocad-Befehl benötigst du schließlich für diese Aufgabenstellung überhaupt nicht.


------------------
CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

caddonner
Mitglied



Sehen Sie sich das Profil von caddonner an!   Senden Sie eine Private Message an caddonner  Schreiben Sie einen Gästebucheintrag für caddonner

Beiträge: 166
Registriert: 24.05.2005

erstellt am: 17. Okt. 2014 09:16    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo cadffm,

danke für deine Antwort.
Mit DIESEL bin ich leider gar nicht vertraut.
Wie müsste das Makro dann aufgebaut sein ?
Habe es probiert aber den Befehl getvar erkennt autocad irgendwie nicht: !?
; Fehler: no function definition: ‘_GETVAR

------------------
mfg
Peter

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

cadffm
Moderator
良い精神




Sehen Sie sich das Profil von cadffm an!   Senden Sie eine Private Message an cadffm  Schreiben Sie einen Gästebucheintrag für cadffm

Beiträge: 21533
Registriert: 03.06.2002

System: F1
und Google

erstellt am: 17. Okt. 2014 10:14    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für caddonner 10 Unities + Antwort hilfreich

Die Fehlermeldung zeigt das du in Lisp einen Fehler gemacht hast, denn es gibt keine Lispfunktion "'_getvar"
und genau das sagt dir das Programm ja auch..

Hier mal ein Menümakro:
$M=$(if,$(eq,1,$(getvar,osnapoverride)),'_.osnapoverride;0,'_.osnapoverride;1);

------------------
CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

otterloh
Mitglied



Sehen Sie sich das Profil von otterloh an!   Senden Sie eine Private Message an otterloh  Schreiben Sie einen Gästebucheintrag für otterloh

Beiträge: 188
Registriert: 27.06.2001

AutoCAD 2012, 2013, 2019
Win8.1

erstellt am: 17. Okt. 2014 10:21    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für caddonner 10 Unities + Antwort hilfreich


getvarOSMODE.jpg


Tastaturkurzel.jpg

 
Beispiel:
$M=$(if,$(getvar,OSMODE),'OSMODE 0,'OSMODE 109)
auf eine Funktionstaste legen und eine Maustaste mit der Funktionstaste belegen, schaltet dann (mit der Funktionstaste oder der Maustaste) transparent hin&her.

Gruß Werner

Oder die Version von cadffm.

[Diese Nachricht wurde von otterloh am 17. Okt. 2014 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

caddonner
Mitglied



Sehen Sie sich das Profil von caddonner an!   Senden Sie eine Private Message an caddonner  Schreiben Sie einen Gästebucheintrag für caddonner

Beiträge: 166
Registriert: 24.05.2005

erstellt am: 17. Okt. 2014 10:52    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Danke !!!

Funktioniert super

------------------
mfg
Peter

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz