j'ai importé dans SolidWorks un nuage de points (d'un scan 2D d'une surface). J'aimerais trouver une fonction ou macro permettant de construire des droites et cercles "moyennées" à partir d'une sélection de certains de ces points. Actuellement par exemple pour connaître le diamètre d'un arc de cercle scanné, je sélectionne 3 points assez espacés de cet arc pour construire un cercle dont je mesurer ensuite le diamètre. Mais la forme scannée n'étant pas parfaite et ayant des aspérités, le diamètre obtenu dépend pas mal des points sélectionnés. Je souhaiterais trouver une solution pour créer le cercle par moyennation de tous les points sélectionnés (par exemple de Gauss) pour qu'il n'y ait pas de discussion possible sur le résultat.
Je vous propose en pièce jointe une macro qui réalise l'approximation d'un nuage de points, au choix par une droite ou par un cercle, au moyen de la méthode des moindres carrés. Les principes s'inspirent d'articles de Wikipédia sur ce sujet (cf. doc joint dans le fichier zip). Comme je ne dispose pas de vos nuages de points scannés, j'ai dû en créer dans une esquisse 2D en dispersant aléatoirement des points, précisément au voisinage plus ou moins lointain d'une droite ou d'un cercle...
Je suppose que votre nuage scanné doit pouvoir être importé dans une esquisse. Il faudra adapter la macro à ce nuage préexistant.
A tester avec soin, le comportement n'est pas garanti
Merci beaucoup Michel pour cette macro (avec procédure d'utilisation !). Je ne m'y connais pas bien en macro SW mais je vais regarder cela avec attention car les algorithmes utilisés/codés font très bien le boulot.