Draft PathArray/fr

Description
L'outil PathArray place des copies d'une forme sélectionnée le long d'un chemin sélectionné. Le chemin peut être un fil ou une ou plusieurs arêtes. Les formes peuvent éventuellement être alignées sur la tangente du tracé. Si nécessaire, un ajustent des vecteurs peut être spécifié pour déplacer les formes afin que le centre de gravité se trouve sur le chemin. Si aucun objet n'est sélectionné, vous serez invité à sélectionner un objet.



Utilisation

 * 1) Créez un objet de forme que vous souhaitez distribuer. Vous obtiendrez les meilleurs résultats si votre objet est centré sur l'origine, même si le chemin commence ailleurs.
 * 2) Sélectionnez l'objet que vous souhaitez distribuer.
 * 3) Sélectionnez un tracé le long de laquelle les formes seront copiées. -ou-
 * 4) Sélectionner les bords d'un objet qui servirons de chemin.
 * 5) Pressez le bouton.

Options

 * Le tableau commence avec des copies de formes qui ne sont pas alignées sur le chemin, ni traduites vers un nouvel emplacement par défaut. Vous pouvez ensuite changer le nombre, l'alignement et/ou l'adaptation des vecteurs dans les propriétés.

Propriétés

 * : L'objet shape
 * : Le chemin de l'objet
 * : Les sous-éléments (bords) de l'objet trajectoire pour être utilisé comme chemin
 * : Le nombre de copies du shape
 * : L'adaptation du vecteur
 * : True aligne le shape sur le chemin, False laisse le shape sur une orientation par défaut.

Script
L'outil PathArray peut être utilisé dans une macro et dans la console python avec la commande


 * Place le nombre de copies d'un objet le long d'un chemin ou sous-objet d'un objet qui servira de chemin. Transforme éventuellement chaque copie avec FreeCAD.Vector le vecteur XLATE donne la direction et la distance pour ajuster la différence entre le centre de la forme vers le point de référence de la forme. Aligne éventuellement BaseObject à la tangente/normale/binormale du chemin.

Exemple:

Note d'utilisation

 * Align + Xlate: Quand Align est Vrai, le vecteur XLATE est relatif à l'échelle locale (tangente/normale/binormale) coordonnée. Lorsque Align est False, le vecteur XLATE est relatif aux coordonnées globales (XYZ).

Limitations

 * Cet outil n'est pas disponible pour les versions en dessous de 0.14
 * La propriété PathSubs n'apparaît pas encore dans la liste des propriétés.

Explication technique
Quand "Align = false", la logique de PathArray est assez facile à comprendre.

Lorsque "Align = True" la logique est un peu plus difficile à saisir:
 * 1) Construire un système de coordonnées Frenet sur le chemin (X est tangent, Z est normal, Y est binormal).
 * 2) Copiez l'objet d'origine dans chaque système de coordonnées sur le trajet, de sorte que l'origine globale corresponde à l'origine du système de coordonnées sur le trajet.

C'est beaucoup plus facile à comprendre avec des images. Les images suivantes montrent comment le tableau est produit, en fonction du plan et du chemin.



Chemin sur le Plan XY



Chemin sur le Plan XZ



Chemin sur le Plan YZ

L'avantage évident de cette logique est que lorsque vous réorientez le chemin mais pas l'objet, le résultat est cohérent: l'objet reste aligné sur le chemin tel qu'il était avant de réorienter le chemin.

(Remerciements à @DeepSOIC pour ces explications)