Text nach Attribute

01   (defun c:txt2att (/ ss i en ed)
02   (while (not ss)
03          (princ "\nSelect TEXT to Convert to ATTDEF:   ")
04          (setq ss (ssget (list (cons 0 "TEXT")
05                                (if (getvar "CTAB")
06                                    (cons 410 (getvar "CTAB"))
07                                    (cons 67 (- 1 (getvar "TILEMODE"))))))))
08 
09   (setq i (sslength ss))
10   (while (not (minusp (setq i (1- i))))
11          (setq en (ssname ss i)
12                ed (entget en))
13          (if (wcmatch (cdr (assoc 1 ed)) "* *")
14              (alert "\nString Contains Spaces - Try Again...")
15              (progn
16                (entmake (list (cons 0 "ATTDEF")
17                               (assoc 8 ed)
18                               (assoc 10 ed)
19                               (assoc 11 ed)
20                               (assoc 7 ed)
21                               (assoc 40 ed)
22                               (assoc 41 ed)
23                               (assoc 50 ed)
24                               (assoc 51 ed)
25                               (cons 70 0)
26                               (assoc 71 ed)
27                               (assoc 72 ed)
28                               (cons 74 (cdr (assoc 73 ed)))
29                               (assoc 210 ed)
30                               (cons 1 "")
31                               (cons 2 (cdr (assoc 1 ed)))
32                               (cons 3 (cdr (assoc 1 ed)))
33                               (if (assoc 6 ed) (assoc 6 ed)'(6 . "BYLAYER"))
34                               (if (assoc 39 ed) (assoc 39 ed)'(39 . 0))
35                               (if (assoc 62 ed) (assoc 62 ed)'(62 . 256))))
36                (entdel en))))
37   (redraw)
38   (prin1))

Links

Quelle: Beitrag von David Bethel bei cadtutor.net