Genau, DXF-Gruppencode 70
Bit 1 gesetzt = gefroren, Bit 1 nicht gesetzt = getaut
Befehl: (setq q1 (entget(tblobjname "LAYER" "eininsert221000|kfw_5_moeb_-")))
((-1 . <Objektname: 75c38238> ) (0 . "LAYER") (5 . "19F") (102 .
"{ACAD_XDICTIONARY") (360 . <Objektname: 75c38240> ) (102 . "}") (330 .
<Objektname: 75c34d10> ) (100 . "AcDbSymbolTableRecord") (100 .
"AcDbLayerTableRecord") (2 . "einInsert221000|MOEB") (70 . 49) (62 . 4)
(6 . "CONTINUOUS") (290 . 1) (370 . -3) (390 . <Objektname: 75c34c68> ) (347 .
<Objektname: 75c34c38> ))
Befehl: (setq q2 (entmod(subst '(70 . 48)'(70 . 49)q1)))
Regeneriert Modell.
((-1 . <Objektname: 75c38238> ) (0 . "LAYER") (5 . "19F") (102 .
"{ACAD_XDICTIONARY") (360 . <Objektname: 75c38240> ) (102 . "}") (330 .
<Objektname: 75c34d10> ) (100 . "AcDbSymbolTableRecord") (100 .
"AcDbLayerTableRecord") (2 . "einInsert221000|MOEB") (70 . 48) (62 . 4)
(6 . "CONTINUOUS") (290 . 1) (370 . -3) (390 . <Objektname: 75c34c68> ) (347 .
<Objektname: 75c34c38> ))
Wie du siehst frißt Entmod dies wunderbar !
Bitcodierte Werte...
für "einfache User" auch hier erklärt: AutoCAD-Hilfeseite zu (zB.) Systemvariable OSMODE
Schau dir in Bezug auch mal LOGAND an zu diesem Thema.
(= 1 (logand (cdr(assoc 70 LAYERELEMLI)) 1)) => T => Layer gefroren
(= 1 (logand (cdr(assoc 70 LAYERELEMLI)) 1)) => nil => Layer getaut
(Suchfunktion auf das www oder einfach auf das CAD.de-Lispforum loslassen)
Oder auch einfach mal Mapcar.de Lisp-Hilfeseiten durcharbeiten.
Welche Wert im Layer beim GC70 was genau bedeutet kannst du in der DXF-Referenz zu LAYER nachlesen.
------------------
CAD.de System-Angaben - CAD on demand - User:FAQ(Acad)
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP