gillespj Posté(e) le 11 décembre 2007 Posté(e) le 11 décembre 2007 Bonjour tlm, Est-il possible de déplacer automatiquement un objet (cercle, point...) sur une polyligne avec accrochage penpendiculaire et en paramétrant le périmétre de recherche par l'objet ? ex : un point se déplace sur une polyligne avec accrochage perpendiculaire car la distance est inférieur à x mm. [Edité le 11/12/2007 par gillespj]
Matt666 Posté(e) le 11 décembre 2007 Posté(e) le 11 décembre 2007 Salut ! En lite, non. A bientot.Matt. "Chacun compte pour un, et nul ne compte pour plus d'un."
gillespj Posté(e) le 11 décembre 2007 Auteur Posté(e) le 11 décembre 2007 Et en non lite ? par un lisp ?
(gile) Posté(e) le 12 décembre 2007 Posté(e) le 12 décembre 2007 Salut, Voilà une proposition, j'espère qu'elle répond à la question, que je ne suis pas sur d'avoir comprise. (defun c:dep2pl (/ pl di ss p1 p2 an) (vl-load-com) (or *acdoc* (setq *acdoc* (vla-get-ActiveDocument (vlax-get-acad-object))) ) (if (and (setq pl (car (entsel "\nSélectionnez la polyligne: "))) (= (cdr (assoc 0 (entget pl))) "LWPOLYLINE") ) (if ( (setq di (getdist "\nSpécifiez la distance de capture: ")) ) (if (setq ss (ssget '((0 . "CIRCLE,POINT")))) (progn (vla-StartUndoMark *acdoc*) (vlax-for ob (vla-get-ActiveSelectionSet *acdoc*) (setq p1 (cond ((= (vla-get-ObjectName ob) "AcDbCircle") (vlax-get ob 'Center) ) ((= (vla-get-ObjectName ob) "AcDbPoint") (vlax-get ob 'Coordinates) ) ) p2 (vlax-curve-getClosestPointTo pl p1) an (+ (angle '(0 0 0) (vlax-curve-getFirstDeriv pl (vlax-curve-getParamAtPoint pl p2) ) ) (/ pi 2) ) ) (if (and ( (equal (rem (angle p1 p2) pi) (rem an pi) 1e-9) ) (vla-move ob (vlax-3d-point p1) (vlax-3d-point p2)) ) ) (vla-EndUndoMark *acdoc*) ) ) ) ) (princ) ) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
gillespj Posté(e) le 12 décembre 2007 Auteur Posté(e) le 12 décembre 2007 Formidable, c'est exactement ça. :) Merci.
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