
Défi : Comment trouver analytiquement l'approximation d'une Ellipse par une série d'arcs de cercle ?

C'est top, vous m'avez bien aidé avec vos réponses ! Voici la solution que j'ai finalement utilisée.
Comme toutes les solutions d'approximation, c'est une affaire de compromis...
La stratégie
- Je crée un tableau d'échantillonnage de points répartis tous les 1° sur 1/4 d'ellipse. Il y a donc déjà plus de points dans les parties aplaties de l'ellipse.
- Je parcours ce tableau pour trouver l'équation d'un cercle avec les 3 premiers points (en commençant du côté du petit rayon de l'ellipse). Puis je compare avec le 4 ième pour savoir s'il peut faire partie du même cercle avec un décalage maximal de 0.001 pouce. Si oui, je regarde le suivant. Si non, je re-calcul un cercle avec 3 points. Et je répète l'opération jusqu'à plus avoir de points. S'il me reste moins de 3 points, j'utilise la formule pour trouver le cercle oscultateur pour les 1 ou 2 points qui me reste. De là, j'ai donc une liste de portions avec un angle de début et de fin et le centre du cercle associé.
- Je duplique ce résultat sur autant de quarts d'ellipse qu'il en faut pour couvrir l'arc d'ellipse que je veux approximer.
- Je trouve dans cette liste avec l'angle de début et de fin de mon arc les différentes portions qui m'intéressent. Et je recoupe celle de début et de fin pour correspondre précisément aux angles de l'arc.
- Je n'ai plus qu'à parcourir les portions pour dessiner la polyline comme succession d'arc de cercle.
Besoins remplis
- L'approximation étant toujours calculé sur une ellipse complète, j'ai toujours des points clés coïncidents peu import les angles de début et de fin de l'arc.
- Il y a toujours des points aux extrémités des rayons de l'ellipse.
- Dans la limite du premier échantillonnage à 1°, l'approximation s'affine plus si les valeur sont grandes. L'écart à la courbe étant exprimé en unité absolue.
En vrai, ça fait quand même toujours pas mal de points quand l'ellipse s'aplatie. Mais c'est aussi le prix à payer pour avoir la précision voulue.
Pour les plus curieux, le code est là.

Si tu parles de la fonction Dessin, c'est possible d'utiliser la variable Chemin dans la formule des étiquettes. Ce qui peut donner ça :
Avec ce genre de formule et de structure du modèle :
La variable Chemin est un tableau. Il faut donc faire un .join pour réunir les valeurs en une chaine de caractères que tu peux concaténer avec la désignation ou le numéro.
Le chemin ce sont les noms d'instance des groupes parents à la pièce. Comme le chemin d'un fichier sur un disque dur.

Si le composant charnière contient des sous-composants, ce sont ces sous-composants que prendra OpenCutList.
Il te suffit donc d'éclater ses sous-composant pour en refaire des groupes seulement et alors seul le composant charnière sera vu comme un "pièce" par OpenCutList.
Chaque sous groupe peut avoir la matière que tu veux.
Pour que la charnière soit vu avec une matière type Accessoire, il suffira d'appliquer cette matière sur l'instance.

Salut,
Tu devrais trouver des infos sur les plans de section en vue de les utiliser dans Layout dans cette vidéo.
Par contre, merci d'apprécier l'export vers Layout d'OpenCutList, mais sur ce coup, il ne sera pas ton copain, malheureusement.
En effet, cet export redessine les pièces exportées et crée un modèle temporaire pour les intégrer dans Layout. Donc, même si tu as mis des plans de section dans ton modèle SketchUp, ils ne pourront jamais apparaitre dans Layout par cet export.

Si les matières de Scalp ne te servent pas et que par définition elles n'ont pas de type. Tu peux utiliser le bouton Filtres (l'entonnoir à droite) pour masquer les matières Sans type.
Tu peux même faire un double clique sur un type pour ne voir que celui-là.
En passant, depuis cette interface, tu peux aussi :
- Faire un double clique sur une matière pour l'éditer
- Appuyer sur la touche + du clavier pour ouvrir directement la fenêtre d'ajout d'une matière
- Défiler dans les matières avec les flèches gauche / droite du clavier
... Mais c'est pas la question


Salut,
FredoSpline, permet de choisir le nombre de segments dans ce type de courbes.
C'est une extension payante, avec démo de 15 jours.


J'ai pas de solution miracle à te proposer. J'avoue avoir pesté longuement contre les faiblesses de FaceSVG et c'est pour ça que je suis en train de travailler sur une fonction remplaçante pour OpenCutList .
Mais pour le moment, ce n'est pas encore dispo.
Sinon, pour répondre un peu à la question, FaceSVG me semble donner de meilleurs résultat si la face que tu sélectionnes n'est pas trop loin dans l'arborescence de ton modèle.