Hallo liebe Lispler,
ich bin im Netzt auf folgenden Code gestoßen (http://autocadtips.wordpress.com/2011/03/14/autolisp-block-name/) der den Namen eines gewählten Blocks in die Zeichnung "schreibt".
Da ich noch am lernen bin habe ich versucht mit eigenen Kommentaren ,den für euch sicher einfachen Code ,nachzuvolziehen.
Nun bin ich auch soweit dahintergestiegen, verstehe aber die beiden Zeilen 06, 07 nicht.
Ich habe die einzelnen Zeilen direkt in der AutoCAD-Befehlszeile eingegeben und bin zu dem Schluss gekommen das es auch ohne die beiden Zeilen funktioniert.
Was bewirken diese Zeilen?
Code Vergessen
01 ;Platziert den Blocknamen an einem Punkt
02 (defun C:bname()
03 (setvar "cmdecho" 1) ;Protokollierung ausschalten
04 (setq thöhe(getint "\nTexthöhe wählen:")) ;Benutzereingabe für Texthöhe (für aktuelle Texthöhe diese Zeile auskommentieren und bei "command" an Stelle der Variablen ein "" (enter) setzten)
05 (setq pt(cadr(entsel"\nBlock wählen:"))) ;entsel--> Objekt (Benutzereingabe) ;cadr --> 2.Element der Liste (also Gruppencode 2(2 . "blockname"))
06 ;(setq e1(ssget pt))
07 ;(setq e2 (entget (ssname e1 0)))
08 (setq blname (cdr(assoc 2 e2))) ;assoc gibt die Unterliste einer Liste zurück --> hier ...cdr(assoc 2... das 2. Element der Unterliste (2 . "Blockname")
09 (setq pt1 (getpoint"\nPunkt der Beschreibung:")) ;Koordinate für Einfügepunkt --> Benutzereingabe
10 (command "text" pt1 thöhe 0 blname) ;Text schreiben
11 )
Gruß Markus
[Diese Nachricht wurde von Madler am 26. Okt. 2011 editiert.]
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP