bono05 Posté(e) le 16 avril 2010 Posté(e) le 16 avril 2010 Salut à tous, Voilà peux t-on convertir un arc en spline?Sachant que j'en ai des dizaines par plan... Merci!
(gile) Posté(e) le 16 avril 2010 Posté(e) le 16 avril 2010 Salut, Un petit LISP qui le fait, mais géométriquement parlant une spline ne copiera jamais exactement un arc (à moins de multiplier les points de lissage). (defun c:a2spl (/ ss kw) (vl-load-com) (or *acdoc* (setq *acdoc* (vla-get-ActiveDocument (vlax-get-acad-object))) ) (if (ssget '((0 . "ARC"))) (progn (initget "Oui Non") (setq kw (getkword "\nEffacer les objets source ? [Oui/Non] : ")) (vlax-for a (setq ss (vla-get-ActiveSelectionSet *acdoc*)) (ArcToSpline a) (or (= "Non" kw) (vla-Delete a)) ) (vla-Delete ss) ) ) (princ) ) (defun ArcToSpline (arc / spt ept mpt) (vl-load-com) (or *acdoc* (setq *acdoc* (vla-get-ActiveDocument (vlax-get-acad-object))) ) (setq d (vlax-curve-getDistAtParam arc (vlax-curve-getEndParam arc) ) p1 (vlax-curve-getStartpoint arc) p2 (vlax-curve-getPointAtDist arc (* d 0.25)) p3 (vlax-curve-getPointAtDist arc (* d 0.5)) p4 (vlax-curve-getPointAtDist arc (* d 0.75)) p5 (vlax-curve-getEndpoint arc) ) (vla-AddSpline (vla-ObjectIdToObject *acdoc* (vla-get-Ownerid arc)) (vlax-make-variant (vlax-safearray-fill (vlax-make-safearray vlax-VBdouble '(0 . 14) ) (append p1 p2 p3 p4 p5) ) ) (vlax-3d-point (vlax-curve-getFirstDeriv arc (vlax-curve-getStartParam arc))) (vlax-3d-point (vlax-curve-getFirstDeriv arc (vlax-curve-getEndParam arc))) ) ) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
bonuscad Posté(e) le 16 avril 2010 Posté(e) le 16 avril 2010 Salut (gile), mais géométriquement parlant une spline ne copiera jamais exactement un arc Cela reste excellent! J'ai bien essayé, mais tu es le plus rapide, je me doutais bien que l'usage de param était indispensable pour avoir une approche simple d'une solution. Testé sur des SCU non parallèles, c'est parfait Bravo Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
lecrabe Posté(e) le 17 avril 2010 Posté(e) le 17 avril 2010 Hello Magnifique routine comme d'habitude, mais je ne vois pas du tout dans quel domaine il est imperatif de transformer / convertir un Arc en Spline !? :casstet: Qq explications svp ? Transformer / convertir un arc ou cercle en polyligne (ou plutot polygone regulier) c'est un grand classique par contre ! :) Merci, Le Decapode Autodesk Expert Elite Team
bono05 Posté(e) le 19 avril 2010 Auteur Posté(e) le 19 avril 2010 Bonjour, Comme d'hab Gile toujours là!! :D Puis-je permettre une complexivitée dans ma demande? Serais-ce possible que le spline n'a que 3 points et qu'il garde les même layers et type de ligne d'origine? D'avance merci de ton feedback. Magnifique routine comme d'habitude, mais je ne vois pas du tout dans quel domaine il est imperatif de transformer / convertir un Arc en Spline !? J'ai un collégue de passage qui n'a absolument pas suivi la procédure....et je dois tout transformer!
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