Professional Documents
Culture Documents
(progn
;------------------------------------------------------------------------
;use group code 10 for left justified text.
;All others we will use group code 11, this
;will maintain justification
;---------------------------------------------------
(cond
( (< txtrot (* 0.5 pi)) ;if rotation angle <90 deg
(setq entlis (entget ent)
just (cdr (assoc 72 entlis))
)
(if (> just 0)
(setq code 11)
(setq code 10)
)
(setq tdisp (* ctr dis)
x (+ xpt (* tdisp (sin txtrot)))
y (- ypt (* tdisp (cos txtrot)))
pt (list x y)
entlis (subst (cons code pt) (assoc code entlis) entlis)
);close setq
(entmod entlis)
);close 1st cond
( (and (< txtrot pi) (>= txtrot (* 0.5 pi))) ;if rotation angle
<180 & >= 90 deg
(setq entlis (entget ent)
theta (- txtrot (* 0.5 pi))
tdisp (* ctr dis)
x (+ xpt (* tdisp (cos theta)))
y (+ ypt (* tdisp (sin theta)))
pt (list x y)
entlis (subst (cons code pt) (assoc code entlis) entlis)
);close setq
(entmod entlis)
);close 2nd cond
( (and (< txtrot (* 1.5 pi)) (>= txtrot pi)) ;if rot angle <270 &
>= 180 deg
(setq entlis (entget ent)
theta (- txtrot pi)
tdisp (* ctr dis)
x (- xpt (* tdisp (sin theta)))
y (+ ypt (* tdisp (cos theta)))
pt (list x y)
entlis (subst (cons code pt) (assoc code entlis) entlis)
);close setq
(entmod entlis)
);close 3rd cond
( (and (< txtrot (* 2.0 pi)) (>= txtrot (* 1.5 pi))) ;if rot angle
<360 & >= 270 deg
(setq entlis (entget ent)
theta (- txtrot (* 1.5 pi))
tdisp (* ctr dis)
x (- xpt (* tdisp (cos theta)))
y (- ypt (* tdisp (sin theta)))
pt (list x y)
entlis (subst (cons code pt) (assoc code entlis) entlis)
);close setq
(entmod entlis)
);close 4th cond
);close cond text rotation angles
;-------------------------------------------------------------------------
);close progn
);close if
(setq ctr (1+ ctr)) ;increment counter
);close while
(setvar "cmdecho" 0)
(setq *error* older)
(princ)
)
(princ)