Part Loft Technical Details/fr

Cette page explique les détails de la création d'une surface lissée. Cela s'applique également au Part Balayage effectué le long d'une trajectoire droite, bien qu'il y ait des différences.

Les informations fournies sont spécifiques à la mise en œuvre et peuvent changer. L'état actuel concerne FreeCAD 0.15.4119, version OCC: 6.7.0.

Etapes de la création du lissage
Pour expliquer le processus de lissage, il est pratique de le diviser en étapes:
 * 1) rendre égal le nombre de segments dans les profils (s'ils ne le sont pas déjà)
 * 2) établir la correspondance entre les segments
 * 3) faire la surface du lissage

Étape 1. Rendre le nombre de segments des profils identiques
Le Lissage a besoin d'un nombre de segments ideniques afin de créer autant de surfaces entre les segments correspondants. Si le nombre de segments est correcte dans tous les profils, cette étape est ignorée.

Si au moins l'un des profils a un nombre différent de segments, la procédure suivante est appliquée. Par simplicité, la procédure est expliquée ici dans le cas de deux profiles seulement.
 * 1) Les profils sont alignés temporairement de sorte qu'ils sont coplanaires et leurs centres de gravité * correspondent.
 * 2) (Voir l'image) pour chaque sommet dans un même profil, le second profil est tranché dans le même angle polaire (le centre polaire est le centre de gravité). Si il y a plus d'une tranche possible ou pas du tout de tranche possible (cela peut arriver sur des profils très convexes), le Lissage échoue généralement.
 * 3) On fait de même dans le direction opposée.

L'opération est étendue à tous les profils, pour obtenir le même nombre de segments. Le nombre total de segments dans chaque profil sera égale à la somme de tous les nombres de segments de tous les profils (à condition qu'aucun des sommets ne se trouvent être dans le même angle polaire).

Étape 2. Établir la correspondance entre les segments
Dans le cas où les nombres de segments dans tous les profils ne sont pas égaux, le découpage a été fait à l'étape 1, et la correspondance est triviale. Dans le cas où les nombres de segments dans tous les profils sont égaux, les segments existants sont utilisés (voir l'image), et c'est à ce moment que la correspondance doit être établie.

L'algorithme exact pour trouver les segments correspondants est complexe, mais généralement il tend à minimiser la torsion du Loft résultant. Cela signifie que si l'on fait un loft entre deux carrés, la torsion maximale possible est <45 °. Une rotation supplémentaire de l'un des carrés fera sauter le Loft vers l'autre direction.

La correspondance entre les profils voisins est faite indépendamment. Cela signifie qu'une torsion supplémentaire peut être obtenue en ajoutant plus de profils intermédiaires.

Une autre chose à noter est que lorsque les nombres de segments dans les profils sont égaux, le Loft résultant est sensiblement plus robuste par rapport aux profils complexes, en particulier pour les profils non convexes.

Étape 3. Faire la surface lissée
S'il n'y a que deux profils, les surfaces créées sont des surfaces réglées entre les segments correspondants des profils. Les arêtes droites sont créées pour connecter les sommets correspondants des profils.

S'il y a plus de deux profils, les surfaces sont faites de cannelures de la même manière que les lignes droites forment des surfaces réglées. Les splines imaginaires dont la surface est "faite de" sont dessinées à travers les points correspondants des segments correspondants des profils.

Les splines sont une interpolation B-spline.
 * Si le nombre de profils est inférieur à 10, l'interpolation est effectuée par une B-spline avec un degré maximum possible (c'est-à-dire degré = nombre_de_profils - 1).
 * Si le nombre de profils dépasse 10, l'interpolation est commutée sur les B-splines du 3ème degré.

La méthode de nouage utilisée est la "longueur de corde approximative". Approximatif signifie que le vecteur de noeud est exactement le même pour chaque spline dans un loft. Pour plus d'informations sur l'interpolation B-spline, le vecteur de nœud, la méthode de longueur de corde, voir, par exemple, cs.mtu.edu Curve Global Interpolation.

Notez que Loft a une propriété "Ruled". Si elle est définie sur true, les surfaces réglées sont créées entre des profils voisins même s'il existe plusieurs profils. C'est-à-dire que l'interpolation B-spline est remplacée par une interpolation linéaire par morceaux.

L'essence

 * Le lissage effectue une interpolation B-spline entre les profils fournis. L'interpolation est commutée en linéaire par morceaux lorsque la propriété "Ruled" est définie sur true.
 * Lorsque le nombre de profils dépasse 9, le degré d'interpolation est ramené à 3. Ce basculement peut réduire considérablement les oscillations.
 * La correspondance du nombre de segments (alias nombre de sommets) dans les profils permet de donner une légère torsion au lissage et permet généralement d'utiliser des profils plus complexes.
 * Lorsque les nombres de segments ne correspondent pas, il est préférable de garder les profils représentables par une fonction r (phi) appropriée en coordonnées polaires.

Remarques supplémentaires

 * Il n'est pas nécessaire que les profils soient parallèles (voir une image ci-dessous).
 * Pour Loft, il n'est pas nécessaire que les profils soient séparés (voir une image ci-dessous). Ils peuvent être coplanaires, mais ils ne devraient pas se croiser.
 * Lorsque la propriété "fermée" du Loft est "vraie", il y a un joint de cuspide dans toutes les cannelures formant le Loft (voir une image ci-dessous). Il n'y a aucun moyen fiable maintenant de fermer le loft en douceur.