Aller au contenu

Messages recommandés

Posté(e)

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

Posté(e)

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

Posté(e)

 

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

Posté(e)

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!

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é