Part Loft Technical Details/fr

Cette page explique en détail la façon dont le  Loft surface est créée. C'est également pertinent pour le Balayage fait le long d'un chemin droit, même s'il existe des différences.

L'information fournie est mise en œuvre spécifiquement, et peut changer. L'état actuel est pertinent pour FreeCAD 0.15.4119, OCC: version 6.7.0.

Étapes de la création du Lissage
Pour expliquer le processus de lissage, il est commode de diviser en étapes:
 * 1) rendre le nombre de segments dans les profils égaux (s'ils ne le sont pas déjà)
 * 2) établir la correspondance entre les segments # réaliser la surface de lissage
 * 3) finir la surface lissée

É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).

{| style = "margin: 0 auto;" | |  |}

É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 du loft.
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.

The splines are B-spline interpolation.
 * If the number of profiles is below 10, interpolation is done with by a B-spline with a maximum possible degree (i.e. degree = number_of_profiles - 1).
 * If the number of profiles exceeds 10, the interpolation is switched to 3rd degree B-splines.

The knotting method used is "approximate chord length". Approximate stands for the fact that the knot vector is exactly the same for every spline in a loft. For more info on what is B-spline interpolation, knot vector, chord length method, see, for example, cs.mtu.edu Curve Global Interpolation.

Note that Loft has a "Ruled" property. If it is set to true, ruled surfaces are made between neighboring profiles even when there's more than one profile. That is, B-spline interpolation is replaced by piecewise linear interpolation.

The essence

 * The loft is doing B-spline interpolation between the provided profiles. The interpolation is switched to piecewise linear when "Ruled" property is set to true.
 * When number of profiles exceeds 9, interpolation degree is dropped to 3. This switchover can substantially reduce wiggling.
 * Matching the number of segments (aka number of vertices) in the profiles allows one to give the loft a slight twist, and typically permits using more complex profiles.
 * When numbers of segments are not matched, it's best to keep the profiles to be representable by a proper r(phi) function in polar coordinates.

Additional remarks

 * It is not required that the profiles are parallel (see a picture below).
 * For Loft, it is not required that the profiles are separated (see a picture below). They can be coplanar, but they should not intersect.
 * When "closed" property of the Loft is "true", there is a cusp joint in all the splines forming the Loft (see a picture below). There is no reliable way to close the loft smoothly now.