Wer sich die E-Tools nicht intallieren will (warum auch immer), kann auch folgenes Tool nehmen.
Dabei wird die Textausrichtung gesetzt , ohne dabei die Position des Textes zu ändern.
In Erweiterung des E-Tool-Codes "tjust" wird auch "Einpassen uns "Ausrichten" beherrscht.
(defun Justify_Text ( TEXTOBJEKT AUSRICHTUNG UPDATE / OBJEKTDATEN GC72 GC73 GC10 GC11)
(if (and(=(type TEXTOBJEKT) 'ENAME)(=(type AUSRICHTUNG) 'STR))
(progn
(setq OBJEKTDATEN (entget TEXTOBJEKT))
(if (=(cdr(assoc 0 OBJEKTDATEN)) "TEXT")
(progn
(cond
((=(strcase AUSRICHTUNG) "L") (setq GC72 0 GC73 0))
((=(strcase AUSRICHTUNG) "Z") (setq GC72 1 GC73 0))
((=(strcase AUSRICHTUNG) "R") (setq GC72 2 GC73 0))
((=(strcase AUSRICHTUNG) "A") (setq GC72 3 GC73 0))
((=(strcase AUSRICHTUNG) "M") (setq GC72 4 GC73 0))
((=(strcase AUSRICHTUNG) "E") (setq GC72 5 GC73 0))
((=(strcase AUSRICHTUNG) "UL") (setq GC72 0 GC73 1))
((=(strcase AUSRICHTUNG) "UZ") (setq GC72 1 GC73 1))
((=(strcase AUSRICHTUNG) "UR") (setq GC72 2 GC73 1))
((=(strcase AUSRICHTUNG) "ML") (setq GC72 0 GC73 2))
((=(strcase AUSRICHTUNG) "MZ") (setq GC72 1 GC73 2))
((=(strcase AUSRICHTUNG) "MR") (setq GC72 2 GC73 2))
((=(strcase AUSRICHTUNG) "OL") (setq GC72 0 GC73 3))
((=(strcase AUSRICHTUNG) "OZ") (setq GC72 1 GC73 3))
((=(strcase AUSRICHTUNG) "OR") (setq GC72 2 GC73 3))
)
(if (and GC72 GC73)
(if (and(/=(strcase AUSRICHTUNG) "E")(/=(strcase AUSRICHTUNG) "A"))
(progn
(setq GC10 (cdr(assoc 10 OBJEKTDATEN)))
(setq OBJEKTDATEN(subst(cons 72 GC72)(assoc 72 OBJEKTDATEN)OBJEKTDATEN))
(setq OBJEKTDATEN(subst(cons 73 GC73)(assoc 73 OBJEKTDATEN)OBJEKTDATEN))
(entmod OBJEKTDATEN)
(if UPDATE
(progn
(setq OBJEKTDATEN (entget TEXTOBJEKT))
(setq GC11 (mapcar '+ (cdr(assoc 11 OBJEKTDATEN))
(mapcar '- GC10 (cdr(assoc 10 OBJEKTDATEN)))
)
)
(setq OBJEKTDATEN(subst(cons 11 GC11)(assoc 11 OBJEKTDATEN)OBJEKTDATEN))
(entmod OBJEKTDATEN)
)
)
)
(progn
(Justify_Text TEXTOBJEKT "R" 'T)
(setq OBJEKTDATEN (entget TEXTOBJEKT))
(setq GC11 (cdr(assoc 11 OBJEKTDATEN)))
(setq OBJEKTDATEN(subst(cons 72 GC72)(assoc 72 OBJEKTDATEN)OBJEKTDATEN))
(setq OBJEKTDATEN(subst(cons 73 GC73)(assoc 73 OBJEKTDATEN)OBJEKTDATEN))
(entmod OBJEKTDATEN)
(if UPDATE
(progn
(setq OBJEKTDATEN (entget TEXTOBJEKT))
(setq OBJEKTDATEN(subst(cons 11 GC11)(assoc 11 OBJEKTDATEN)OBJEKTDATEN))
(entmod OBJEKTDATEN)
)
)
)
)
)
)
)
)
)
)
(defun C:Justify_Text ( / AUSWAHL OBJEKT AUSRICHTUNG )
(if (setq AUSWAHL (ssget '(( 0 . "TEXT"))))
(progn
(initget "L Z R A M E OL OZ OR ML MZ MR UL UZ UR")
(if (not(setq AUSRICHTUNG(getkword
(strcat"\nAusrichten auf <L>inks,<Z>entriert,<R>echts,<A>usgrichtet,<E>ingepasst"
"\n <OL>/<OZ>/<OR>/<ML>/<MZ>/<MR>/<UL>/<UZ>/<UR> : "))))
(setq AUSRICHTUNG "L")
)
(repeat (sslength AUSWAHL)
(setq OBJEKT (ssname AUSWAHL 0))
(Justify_Text OBJEKT AUSRICHTUNG 'T)
(ssdel OBJEKT AUSWAHL)
)
)
)
)
Ach Sch.. irgentwie kommt die Formatierung nicht rüber, wie sie soll..
------------------
- Thomas -
[Diese Nachricht wurde von CADmium am 08. Mrz. 2004 editiert.]
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP