Hot News:
   

Mit Unterstützung durch:

  Foren auf CAD.de
  Lisp
  wozu Sonderzeichen vor Autocad Befehlen

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

Kundenreferenz - Gruner und MuM


Mehr Videos >>>

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
akademiekompakt: eXs live erleben – CAE-System für vernetzte Elektrotechnik, Pneumatik und Mechatronik, ein Webinar am 29.10.2026
Autor Thema:  wozu Sonderzeichen vor Autocad Befehlen (1868 / mal gelesen)
Temuedschin
Mitglied



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

Beiträge: 57
Registriert: 15.08.2018

- AutoCAD 2027 / Windows 11
- Asus ROG Zenith II Extreme Alpha
- AMD Ryzen Threadripper 3960X
- Gigabyte Aorus GeForce RTX™ 3080 Ti
- 4x16 GB Corsair Dominator Platinum DDR4-3600
- ASUS Hyper M.2 X16 Gen 4 Card
- 4x Corsair Force Series MP600 Pro 1TB, M.2
- 2x Asus ROG Swift PG32UQ
- CPU & GPU Wakü

erstellt am: 14. Feb. 2021 18:18    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 zusammen,

Bin in Sachen Lisp kompletter Neueinsteiger. Deswegen...

Generell sollte man ja für alle Befehle in Autocad Lisp Files den englischen Befehl benutzen.
Wozu stehen jedoch die Sonderzeichen "-" (Minus), "." (Punkt) und "_" (Unterstrich) - teilweise in Kombination?
z.b. (command "_LAYER" "_on" "*" "")

Gibt es im Netz eventuell eine Seite bei der der englische Behl (inkl. Syntax) eines deutschen Behls angezeigt wird?
aktuell benutze ich zusätzlich das Englische Sprachpaket.
z.b.
http://www.cadmaro.de/index.php/dt-engl-befehlsreferenzen
https://www.cadforum.cz/cadforum_en/command.asp

1000 Dank

[Diese Nachricht wurde von Temuedschin am 14. Feb. 2021 editiert.]

[Diese Nachricht wurde von Temuedschin am 14. Feb. 2021 editiert.]

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

jupa
Ehrenmitglied V.I.P. h.c.
Ruheständler


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

Beiträge: 6052
Registriert: 16.09.2004

WINDOWS Vista Ultimate SP2 (64bit), NVIDIA Geforce 9600M GT, AutoCAD 2013.

erstellt am: 14. Feb. 2021 18:28    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 Temuedschin 10 Unities + Antwort hilfreich

Unterstrich vor englischem Befehlsname: wird in allen Sprachversionen verstanden (z.B. _Circle zeichent immer einen Kreis, egal ob in deutschem, französischem oder chinesischem AutoCAD). Gilt sinngemäß auch für Optionen. (Damit laufen LISP-Programme in allen Sprachversionen - wenn sie denn laufen ;-) )

- vor Befehlsname: wird verwendet, um ein eventuell standardmäßig erscheinendes Dialogfenster zu unterdrücken und die sog. Befehlszeilenversion des Befehles zu aktivieren.

. vor Befehlsnamen: es wird immer der originale AutoCAD-Befehl gestartet für den Fall, daß dieser Befehl vom Anwender umdefiniert wurde.

------------------
Bildung kommt nicht vom Lesen, sondern vom Nachdenken über das Gelesene. (Carl Hilty)

[Diese Nachricht wurde von jupa am 14. Feb. 2021 editiert.]

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

jupa
Ehrenmitglied V.I.P. h.c.
Ruheständler


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

Beiträge: 6052
Registriert: 16.09.2004

WINDOWS Vista Ultimate SP2 (64bit), NVIDIA Geforce 9600M GT, AutoCAD 2013.

erstellt am: 14. Feb. 2021 18:41    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 Temuedschin 10 Unities + Antwort hilfreich

Ach so, oben vergessen:
mit (getcname ...) kannst dir in der deutschen Sprachversion die Befehle hin und her übersetzen lassen.

Befehl:
Befehl: (getcname "Kreis")
"_CIRCLE"

Befehl: (getcname "_Circle")
"KREIS"


Im Netz findest Du auch mehrere mehr oder weniger aktuelle Tabellen, z.B. hier.

Wenn es Dir um nähere Informationen zur Anwendung eines Befehles geht (oder was meinst Du mit "Syntax"?), da hilft meistens die F1-Taste - oder dieses Forum hier. ;-) .

Oder auch mal hier gucken.


------------------
Bildung kommt nicht vom Lesen, sondern vom Nachdenken über das Gelesene. (Carl Hilty)

[Diese Nachricht wurde von jupa am 14. Feb. 2021 editiert.]

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

VMichl
Mitglied



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

Beiträge: 238
Registriert: 04.01.2001

AutoCAD, LT, Inventor, Revit, Map, LISP...
Firma: ARKANCE (CAD Studio)

erstellt am: 15. Feb. 2021 07:11    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 Temuedschin 10 Unities + Antwort hilfreich

Es gibt auch andere Sonderzeichen für die Befehlsnamen - siehe:
https://www.cadforum.cz/cadforum_en/qaID.asp?tip=2425

V.Michl, www.cadstudio.cz

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

jupa
Ehrenmitglied V.I.P. h.c.
Ruheständler


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

Beiträge: 6052
Registriert: 16.09.2004

WINDOWS Vista Ultimate SP2 (64bit), NVIDIA Geforce 9600M GT, AutoCAD 2013.

erstellt am: 15. Feb. 2021 09:26    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 Temuedschin 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von VMichl:
Es gibt auch andere Sonderzeichen für die Befehlsnamen

Ich muß gestehen, daß ich noch nie innerhalb einer LISP-Routine einen transparent auszuführenden Befehl eingebaut habe. Aber das funktioniert tatsächlich. Man lernt hier immer wieder etwas Neues dazu ...

Jürgen

------------------
Bildung kommt nicht vom Lesen, sondern vom Nachdenken über das Gelesene. (Carl Hilty)

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

Meldin
Mitglied



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

Beiträge: 407
Registriert: 15.07.2011

ACA2020
Windows11

erstellt am: 15. Feb. 2021 12:44    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 Temuedschin 10 Unities + Antwort hilfreich

@ Jürgen
gib mal ein Beispiel bitte.

------------------
Gruß Wolfgang

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

Meldin
Mitglied



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

Beiträge: 407
Registriert: 15.07.2011

ACA2020
Windows11

erstellt am: 16. Feb. 2021 08:53    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 Temuedschin 10 Unities + Antwort hilfreich

Wie auch bei Jürgen,
man lernt immer dazu,
Und ehrlich gesagt wie oft habe ich mir das gewünscht jetzt gehts 
Hier mal mein Test vielleicht hilftes ja einem weiter oder hat Spaß daran.
Code:
(defun c:PLTest (/ activedoc)
;;;
  (defun taat ()
    (entmake
      (list
(cons 0 "LINE")
(cons 10 '(0.0 0.0 0.0))
(cons 11 (getvar "lastpoint"))
(cons 210 '(0.0 0.0 1.0))
      )
    )
  )
;;;
  (vl-load-com)
  (vlax-remove-cmd "taat")
  (vlax-add-cmd "taat" 'taat "taat" ACRX_CMD_TRANSPARENT)

  (progn
    (setq activedoc (vla-get-ActiveDocument (vlax-get-acad-object)))
    (command "_.pline")
    (while (not (command pause))
      (vla-SendCommand activedoc "'taat ")
    )
  )
)


------------------
Gruß Wolfgang

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

jupa
Ehrenmitglied V.I.P. h.c.
Ruheständler


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

Beiträge: 6052
Registriert: 16.09.2004

WINDOWS Vista Ultimate SP2 (64bit), NVIDIA Geforce 9600M GT, AutoCAD 2013.

erstellt am: 16. Feb. 2021 17:41    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 Temuedschin 10 Unities + Antwort hilfreich


Trans_LISP.mp4

 
Zitat:
Original erstellt von Meldin:
@ Jürgen
gib mal ein Beispiel bitte.



Ein wirklich sinnvolles Beispiel war mir auf die Schnelle nicht eingefallen. Ich hab nur mal getestet, ob das (innerhalb einer LISP-Routine Befehle transparent ausführen zu lassen) überhaupt geht.

Siehe angehängtes Kurzvideo.


Jürgen

------------------
Bildung kommt nicht vom Lesen, sondern vom Nachdenken über das Gelesene. (Carl Hilty)

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

jupa
Ehrenmitglied V.I.P. h.c.
Ruheständler


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

Beiträge: 6052
Registriert: 16.09.2004

WINDOWS Vista Ultimate SP2 (64bit), NVIDIA Geforce 9600M GT, AutoCAD 2013.

erstellt am: 16. Feb. 2021 17:56    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 Temuedschin 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Meldin:

Hier mal mein Test ...


Saucooles Beispiel, alle Daumen hoch. ;-)

------------------
Bildung kommt nicht vom Lesen, sondern vom Nachdenken über das Gelesene. (Carl Hilty)

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

Temuedschin
Mitglied



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

Beiträge: 57
Registriert: 15.08.2018

- AutoCAD 2027 / Windows 11
- Asus ROG Zenith II Extreme Alpha
- AMD Ryzen Threadripper 3960X
- Gigabyte Aorus GeForce RTX™ 3080 Ti
- 4x16 GB Corsair Dominator Platinum DDR4-3600
- ASUS Hyper M.2 X16 Gen 4 Card
- 4x Corsair Force Series MP600 Pro 1TB, M.2
- 2x Asus ROG Swift PG32UQ
- CPU & GPU Wakü

erstellt am: 18. Feb. 2021 12:13    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

Perfekt. Alles ausführlich erklärt.

1000 Dank euch allen.

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

Temuedschin
Mitglied



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

Beiträge: 57
Registriert: 15.08.2018

- AutoCAD 2027 / Windows 11
- Asus ROG Zenith II Extreme Alpha
- AMD Ryzen Threadripper 3960X
- Gigabyte Aorus GeForce RTX™ 3080 Ti
- 4x16 GB Corsair Dominator Platinum DDR4-3600
- ASUS Hyper M.2 X16 Gen 4 Card
- 4x Corsair Force Series MP600 Pro 1TB, M.2
- 2x Asus ROG Swift PG32UQ
- CPU & GPU Wakü

erstellt am: 24. Sep. 2026 17: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

AutoCAD bietet ja die Möglichkeit an, Befehle transparent auszuführen.
z.b. '_layon schaltet während eines aktiven Befehls alle Layer ein und nimmt den ursprünglichen Befehl wieder auf.

Kann man ein per Lisp selbst erstellten Befehl auch transparent verwenden?

Mein selbst erstellter Befehl "layoffall" funktioniert weder mit "'_layoffall" noch mit "(layoffall)" oder anderen Eingaben transparent.

Danke.

[Diese Nachricht wurde von Temuedschin am 24. Sep. 2026 editiert.]

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

Vino
Mitglied



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

Beiträge: 251
Registriert: 24.05.2005

Windows 10
BricsCAD Pro V23

erstellt am: 25. Sep. 2026 08:27    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 Temuedschin 10 Unities + Antwort hilfreich

Hallo,

Dass man Lisp-Befehle so erstellt, dass sie transparent aufgerufen werden können, meine ich mal irgendwo (hier im Forum!?!) gelesen zu haben, dass das irgendwie über Umwege geht. Weiß und finde ich aber spontan nicht mehr...

Deine Befehlsaufrufe:
"_layoffall"
Der Unterstrich sagt ACAD, dass er die Internationale Version des Befehls aufrufen soll... Von deinem Lispbefehl wird es aber wohl keine internationale Version geben ;-)
Du könntest deine Funktion einmal mit dem Namen "_layoffall" und einmal als "layausall" definieren (oder besser mit der einen die andere aufrufen), aber wozu?

"(layoffall)"
Wenn du im DEFUN ein "C:" vor den Namen schreibst, ist das ein Befehl.
Ohne das "C:" ist es eine Funktion.
Einen Befehl kannst du dann einfach durch Eingabe des Namens in ACAD aufrufen, eine Funktion rufst du in Lisp auf.
Mit dem Namen in der Klammer rufst du eine Funktion auf. Du hast aber wohl einen Befehl definiert.
Einen Befehl kannst du entweder mit (command "layoffall") oder (bei Lisp-Befehlen) mit (c:layoffall) aufrufen.

Gruß
Stefan

[Diese Nachricht wurde von Vino am 25. Sep. 2026 editiert.]

[Diese Nachricht wurde von Vino am 25. Sep. 2026 editiert.]

[Diese Nachricht wurde von Vino am 28. Sep. 2026 editiert.]

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

archtools
Mitglied



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

Beiträge: 1104
Registriert: 09.10.2004

Entwickler für AutoCAD, BricsCAD u.a., alle Systeme

erstellt am: 25. Sep. 2026 12:01    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 Temuedschin 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Temuedschin:
Mein selbst erstellter Befehl "layoffall" funktioniert weder mit "'_layoffall" noch mit "(layoffall)" oder anderen Eingaben transparent.

Dein (vermutlich in Lisp) selbst erstellter Befehl ist ja auch kein CAD Befehl. Transparente Befehle führt man während einer aktiven COMMAND-Pipeline aus.

Bei einem laufenden Command kann man aber auch in Lisp definierte Befehle transparent aufrufen. Siehe beispielsweise mein CADCAL+CALScript (kostenfrei von https://www.calscript.com/), das ausschließlich in Lisp programmiert ist und die (vermutlich in C# geschriebene) AutoCAD Applikation GeomCAL nachbildet und um eine Dialogsteuerung ergänzt. Diese Anwendung wird allermeistens transparent aufgerufen, um viele Hilfskonstruktionen zu vermeiden.

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

Meldin
Mitglied



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

Beiträge: 407
Registriert: 15.07.2011

ACA2020
Windows11

erstellt am: 26. Sep. 2026 15:43    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 Temuedschin 10 Unities + Antwort hilfreich

Hier das Beispiel wie oben nur ein klein wenig umgemodelt. Du brauchst das nur auszuführen

Code:
  (defun taat (/ acadObj doc layers clayer)
    (setq acadObj (vlax-get-acad-object)
        doc    (vla-get-ActiveDocument acadObj)
        layers  (vla-get-Layers doc))
   
  ;; Layer "0" als aktuell setzen
  (setvar "CLAYER" "0")
 
  ;; Durch alle Layer-Objekte iterieren
  (vlax-for layer layers
    ;; Jeder Layer außer Layer "0" wird ausgeschaltet
    (if (/= (strcase (vla-get-Name layer)) "0")
      (vla-put-LayerOn layer :vlax-false)
    )
  )
  )
 
;;;
  (vl-load-com)
  (vlax-remove-cmd "taat")
  (vlax-add-cmd "taat" 'taat "taat" ACRX_CMD_TRANSPARENT)

und wenn du z.B. den Befehl Polininie ausführst brauchst du nur während des laufenden Befehls ein Hochkomma und dann TAAT also so 'taat einzugeben und schon wird der Befehl ausgeführt.

------------------
Gruß Wolfgang

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

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

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

(c)2026 CAD.de | Impressum | Datenschutz