Fos4 Posté(e) le 14 décembre 2006 Posté(e) le 14 décembre 2006 bonjour, quelqu'un connaitrait il une commande ou un lisp permettant d'aligner un texte sur une polyligne donnée ? Merci d'avance pour vos réponses.
(gile) Posté(e) le 14 décembre 2006 Posté(e) le 14 décembre 2006 Salut, Je ne sais pas si j'ai bien compris la demande, le texte (ou mtexte) est mis parallèle à la tangente à la polyligne au point le plus proche du point d'insertion du texte. (defun c:align-txt (/ text pline pt ang) (vl-load-com) (if (and (setq text (car (entsel "\nSélectionnez un texte: "))) (wcmatch (cdr (assoc 0 (entget text))) "*TEXT") (setq pline (car (entsel "\nSélectionnez une polyligne: "))) (= (cdr (assoc 0 (entget pline))) "LWPOLYLINE") ) (progn (vla-StartUndoMark (vla-get-ActiveDocument (vlax-get-acad-object)) ) (foreach n '(text pline) (set n (vlax-ename->vla-object (eval n))) ) (setq pt (vlax-curve-getClosestPointTo pline (vlax-get text 'InsertionPoint) ) ang (angle pt (mapcar '+ pt (vlax-curve-getFirstDeriv pline (vlax-curve-getParamAtPoint pline pt) ) ) ) ) (if (= (vla-get-ObjectName text) "AcDbMText") (setq ang (- ang (angle '(0 0 0) (getvar "UCSXDIR")))) ) (vla-put-Rotation text ang) (vla-EndUndoMark (vla-get-ActiveDocument (vlax-get-acad-object)) ) ) ) (princ) ) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
kallain Posté(e) le 15 décembre 2006 Posté(e) le 15 décembre 2006 Salut, Va voir la réponse 13 de Bonuscad, tu m'en diras des nouvelles. :D
Fos4 Posté(e) le 15 décembre 2006 Auteur Posté(e) le 15 décembre 2006 Un grand merci à tous les deux. Dans un premier temps, le lisp de Gille répond tout à fait à mon besoin, dans un deuxième le lisp de bonuscad est aussi terrible, notamment celui sur les blocs. :)
Fos4 Posté(e) le 15 décembre 2006 Auteur Posté(e) le 15 décembre 2006 argh, kallain, impossible de charger le lisp de Bonuscad sur l'alignement des blocks, pourrais tu m'aiguiller ?l'alias permettant de lancer le lisp c'est bien : ainerr ? Merci d'avance
Fos4 Posté(e) le 15 décembre 2006 Auteur Posté(e) le 15 décembre 2006 Bon ben désolé, qui cherche trouve comme on dit ... j'ai trouver les alias pour faire fonctionner les deux lisp : align_textalign_insert C'est tout bonnement génial Merci pour tout
(gile) Posté(e) le 15 décembre 2006 Posté(e) le 15 décembre 2006 l'alias permettant de lancer le lisp c'est bien : ainerr ? Non c'est Align_insert Voir plus bas dans le code (defun c:Align_insert ...) c: indique que ce qui suit est comme un nom de commande et peut être entré directement à la ligne de commande Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Messages recommandés
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 compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant