1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133
| defun c:txt2blk (/ blkName tagName lyrName ss index el txtHt
txtStyl txtHorJust txtVertJust txtLyr blkPt
blkHt attStr blkRot alignPt en
)
(setq
ss (ssget '((0 . "text")))
index 0
testrenvoi "0"
testrenvoi (entget (ssname ss index))
texte (cdr (assoc 1 testrenvoi))
)
(setq testrenvoi (substr texte 1 5))
(if
(or
(= testrenvoi "test1.")
(= testrenvoi "test2")
)
(progn
texte (cdr (assoc 1 el))
(write-line texte)
(setq
blkName "a"
tagName "b"
lyrName "c"
)
(cond
((not ss)
(prompt "\nNo text selected.\n")
)
('T
(setq
index 0
el (entget (ssname ss index))
texte (cdr (assoc 1 el))
txtHt (cdr (assoc 40 el))
txtStyl (cdr (assoc 7 el))
txtHorJust (cdr (assoc 72 el))
txtVertJust (cdr (assoc 73 el))
flarg (cdr (assoc 41 el))
)
(write-line texte)
(setq texte2 (substr texte 1 4))
(write-line texte2)
(entmake
(list
(cons 0 "block")
(cons 2 blkName)
(cons 70 2)
(cons 10 '(0.0 0.0 0.0))
)
)
(entmake
(list
(cons 0 "attdef")
(cons 8 lyrName)
(cons 10 '(0.0 0.0 0.0))
(cons 40 txtHt)
(cons 1 "")
(cons 3 "Enter a value")
(cons 2 tagName)
(cons 70 0)
(cons 7 txtStyl)
(cons 72 txtHorJust)
(cons 74 txtVertJust)
)
)
(entmake '((0 . "endblk")))
(repeat (sslength ss)
(setq
en (ssname ss index)
el (entget en)
txtLyr lyrName
blkPt (cdr (assoc 10 el))
blkHt (cdr (assoc 40 el))
attStr (cdr (assoc 1 el))
blkRot (cdr (assoc 50 el))
txtStyl (cdr (assoc 7 el))
txtHorJust (cdr (assoc 72 el))
txtVertJust (cdr (assoc 73 el))
alignPt (cdr (assoc 11 el))
index (1+ index)
)
(entmake
(list
(cons 0 "insert")
(cons 2 blkName)
(cons 8 txtLyr)
(cons 10 blkPt)
(cons 41 (/ blkHt txtHt))
(cons 42 (/ blkHt txtHt))
(cons 43 (/ blkHt txtHt))
(cons 50 blkRot)
(cons 66 1)
)
)
(entmake
(list
(cons 0 "attrib")
(cons 8 txtLyr)
(cons 10 blkPt)
(cons 40 blkHt)
(cons 41 flarg)
(cons 1 attStr)
(cons 2 tagName)
(cons 70 0)
(cons 50 blkRot)
(cons 7 txtStyl)
(cons 72 txtHorJust)
(cons 74 txtVertJust)
(cons 11 alignPt)
)
)
(entmake
(list
(cons 0 "seqend")
(cons 8 txtLyr)
)
)
(entdel en)
)
(redraw)
)
)
(princ)
)
))
(princ "\n\nType 'TXT2BLK' to run program.")
(princ) |
Partager