Hallo an alle,
folgendes Lisp habe ich bei meiner Suche gefunden:
(defun c:atxt (/ drag ss sl cnt xalign ent entlist oldx newx newlist vmin vmax)
;select only TEXT or MTEXT.
(setq ss (ssget '((-4 . "<OR")(-4 . "<AND")(0 . "TEXT")(-4 . "AND>")(-4 . "<AND")(0 . "MTEXT")(-4 . "AND>")(-4 . "OR>")))
sl (sslength ss)
cnt 0)
(setq vmin (getvar "vsmin")
vmax (getvar "vsmax"))
(setq xy (getvar "OSMODE"))
(setvar "cmdecho" 0)
(setvar "osmode" 0)
(setq drag '(0)) ;;declare drag
(princ "\nPick a point to left align selected text to: ")
(while (/= (car drag) 3); ;loop until a point is picked
(setq drag (grread T 4 2))
(redraw)
(grvecs (list 1
(cadr drag) (list (car (cadr drag)) (cadr vmin))
(cadr drag) (list (car (cadr drag)) (cadr vmax))
)
)
(setq drag (grread T));;check drag at each loop
) ;; while
(setq xalign (cadr drag))
;move all the selected text to left justified location.
(repeat sl
(setq ent (ssname ss cnt)
entlist (entget ent)
oldx (assoc '10 entlist)
newx (cons 10 (cons (car xalign) (cdr (cdr (assoc '10 entlist)))))
newlist (subst newx oldx entlist))
(entmod newlist)
(setq cnt (1+ cnt))
);repeat
(redraw)
(setvar "CMDECHO" 1)
(setvar "OSMODE" xy)
);defun
Dieses Lisp dient dazu, Text an einem angegebenen Punkt untereinander auszurichten.
Kann man dieses Lisp so bearbeiten/umschreiben, dass der Text nicht untereinander sondern nebeneinander ausgerichtet/angeordnet wird??
Oder nutzt jemand schon ein ähnliches Tool?
Ich hoffe ihr versteht, was ich mir wünsche. Vielen Dank im Voraus für eure Hilfe.
LG Claudia
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP