Académique Documents
Professionnel Documents
Culture Documents
A
utant AutoCAD sait très bien justifier un
(setq point_ref (getpoint "\nPoint de référence: "))
texte, autant il ne sait pas l’aligner suivant
une référence si ce n’est en utilisant la
; on récupère la coordonnée X
commande DEPLACER. Pour un texte, passe
(setq X (car point_ref))
encore, mais pour une série de textes dispersés
dans le document et devant être alignés, vous
; on récupère la valeur de la coordonnée Y
voyez tout de suite le travail !
(setq Y (cadr point_ref))
(setq choix
Pour palier ce manque, voici une nouvelle (getkword "\nChoix de l'axe de l'ali -
commande AutoLISP : ALIGNE_TEXTE. gnement Horizontal / Vertical: ")
)
Son fonctionnement est très simple. Après avoir
lancé la commande ALIGNE_TEXTE ; on sélectionne les textes à aligner
; la sélection ne prend que les objets Textes
1 - Vous définissez un point de référence qui corres-
pondra au point d’arrivée du texte. (princ (strcat "\nSélection des textes à aligner "
choix ": "))
2 - Vous choisissez l’axe d’alignement. H pour un (setq ent2 (ssget (list (cons 0 "TEXT"))))
alignement selon un axe horizontal ou V pour un
alignement selon un axe vertical. ; on met le compteur à 0
(setq index 0)
3 - Vous sélectionnez tous les objets textes que vous
désirez aligner selon cette référence. ; on récupère le nombre d'objets textes sélec-
tionnés
C’est l’alignement bas gauche du texte qui est pris (setq nb_ent (sslength ent2))
comme référence de déplacement.
; on boucle selon le nombre de textes sélec-
tionnés
; aligne des textes Horizontalement ou (repeat nb_ent
Verticalement
; on récupère la coordonnée bas gauche
du texte
(defun c:aligne_texte () (setq XY_origine (cdr (assoc 10 (entget
(ssname ent2 index)))))
; on sélectionne un point de référence
) ; fin de la condition
; on incrémente le compteur
(setq index (1+ index))
(princ)
) ; fin du defun
(princ)