Thanks
I thought I had tried all of the options.
Only have two "," in the text placed in the drawing from another routine.
This is an old clunky routine, but for now it works.
result:
7'-0" CLEAR HEAD HEIGHT
CLEARANCE AT TOP STAIR
LANDING @ 11'-3 7/8" AFF
from the original post above:
7'-0" CLEAR HEAD HEIGHT, CLEARANCE AT TOP STAIR, LANDING @ 11'-3 7/8" AFF
This code used twice in the main routine:
(setq TXTX (cdr (assoc 1 (entget (entlast)))))
(if (wcmatch TXTX "*`,*")(BTXit))
;;;Break text original by
;;;written: Andrzej GUMULA agumula@transprojekt.com.pl
(defun BTXIT (/ ELEM ETYK CM OS OLDERR PTW PT10 TMP ODL OPIS TBOX ITEM)
(defun XY (A) (list (car A) (cadr A))) ;end xy
(defun DXF (A B) (cdr (assoc A B))) ;end dxf
(defun STRIM (A)
(while (member (substr A 1 1) (list " " "." ";" ","))
(setq A (substr A 2))
) ;_ end of while
A
) ;end strim
(defun PRPT (A B)
(if (not (assoc A ELEM))
(setq ELEM (append ELEM (list (cons A B))))
) ;_ end of if
ELEM
) ;end prpt
(setvar "CMDECHO" 0)
(setvar "OSMODE" 0)
(setvar "UCSFOLLOW" 0)
(command "_undo" "_be")
(if (and (setq ELEM (entget (entlast)))
(eq (DXF 0 ELEM) "TEXT")
)
(progn (setq PTW (XY (trans (cdr (assoc 10 ELEM)) 1 0)))
(command "_ucs" "_ob" (cdar ELEM))
(setq PTW (trans PTW 0 1)
OPIS (DXF 1 ELEM)
ITEM 1
TEMP 0.0
)
(while (or (not (member (substr OPIS ITEM 1)
(list ",")
)
)
(< TEMP (car PTW))
) ;_ end of or
(setq TBOX (textbox (subst (cons 1 (substr OPIS 1 ITEM))
(assoc 1 ELEM)
ELEM
)
) ;_ end of textbox
TEMP (- (caadr TBOX) (caar TBOX))
ITEM (1+ ITEM)
)
)
(entmod (subst (cons 1 (substr OPIS 1 (1- ITEM)))
(cons 1 OPIS)
ELEM
)
)
(setq A (append A (list '(62 . 4))))
(PRPT 62 256)
(PRPT 6 "BYLAYER")
(entmake
(subst (cons 1 (STRIM (substr OPIS (1+ ITEM))))
(cons 1 OPIS)
ELEM
)
)
(command "_move"
(entlast)
""
"0,0"
(list 0 (- (* 1.4 (DXF 40 ELEM))))
)
)
)
(command "_ucs" "_p")
(command "_undo" "_e")
(princ)
)