Aller au contenu

Alignement d\'un text par rapport à une polyligne ou ligne


Invité Tayou57

Messages recommandés

Invité Tayou57

Bonjour les "potos",

 

J'aimerais savoir s'il est possible (comme dans covadis,que je n'ai pas) d'aligner un ou des textes par rapport à une ligne ou polyligne sur autocad 2008. Je vous remercie d'avance.

Lien vers le commentaire
Partager sur d’autres sites

  • 5 semaines après...

Salut

 

Ou encore comme ceci

 

 (defun c:Multalign_text ( / js n pojs vla_po offset_txt vla_obj pt deriv alpha)
(princ "\nSélectionner les textes à aligner. ")
(setq js (ssget '((0 . "*TEXT"))) n -1)
(cond
(js
(vl-load-com)
(princ "\nSélectionner la polyligne. ")
(while (null (setq pojs (ssget "_+.:E:S" '((0 . "LWPOLYLINE"))))))
(setq vla_po (vlax-ename->vla-object (ssname pojs 0)))
(initget 7)
(setq offset_txt (getdist "\nDistance de décalage du texte: "))
(repeat (sslength js)
(setq
vla_obj (vlax-ename->vla-object (ssname js (setq n (1+ n))))
pt (vlax-curve-getClosestPointTo vla_po (vlax-get vla_obj 'InsertionPoint))
deriv (vlax-curve-getfirstderiv vla_po (vlax-curve-getparamatpoint vla_po pt))
alpha (- (atan (cadr deriv) (car deriv)) (angle '(0 0 0) (getvar "UCSXDIR")))
)
(vlax-put vla_obj 'Alignment 1)
(vlax-put vla_obj 'Rotation (if (or (> alpha (* pi 0.5)) (< alpha (- (* pi 0.5)))) (+ alpha pi) alpha))
(vlax-put vla_obj 'TextAlignmentPoint
(polar pt (+ alpha (* pi 0.5))
(if (or (> alpha (* pi 0.5)) (< alpha (- (* pi 0.5))))
(+ (vlax-get vla_obj 'Height) offset_txt)
offset_txt
)
)
)
)
) 
)
(prin1)
)

 

@+

Lien vers le commentaire
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité