Draft PathArray/fr: Difference between revisions

From FreeCAD Documentation
(Updating to match new version of source page)
No edit summary
Line 9: Line 9:
}}
}}


<div class="mw-translate-fuzzy">
{{GuiCommand/fr
{{GuiCommand/fr
|Name=Draft PathArray
|Name=Draft PathArray
Line 18: Line 17:
|Version=0.14
|Version=0.14
}}
}}
</div>


==Description==
==Description==

Revision as of 19:06, 6 July 2020

Draft Réseau selon une courbe

Emplacement du menu
Modification → Array tools → Path Array
Ateliers
Draft, Arch
Raccourci par défaut
Aucun
Introduit dans la version
0.14
Voir aussi
Draft Réseau orthogonal, Draft Réseau polaire, Draft Réseau circulaire, Draft Réseau lié selon une courbe, Draft Réseau de points, Draft Clone

Description

L'outil Draft Chemin pour série de copies place des copies d'une forme sélectionnée le long d'un chemin sélectionné, le chemin peut être un Draft Fil ou une ou plusieurs Draft BSpline et bords similaires.

L'outil Réseau selon une courbe peut être utilisé sur n'importe quel objet ayant un Part TopoShape, c'est-à-dire des formes 2D créées avec l'Atelier Draft mais aussi des solides 3D créés avec les Atelier Part, Atelier PartDesign ou Atelier Arch.

Objet disposé le long d'un chemin

Utilisation

  1. Sélectionnez l'objet que vous souhaitez distribuer.
  2. Sélectionnez le tracé ou n'importe quel ligne le sur laquelle les formes seront copiées.
  3. Cliquez le bouton Draft PathArray.
  4. L'objet Array (réseau) est créé immédiatement. Vous devez modifier les propriétés du tableau pour modifier le nombre et la direction des copies créées.

Chaque élément du tableau est un clone exact de l'objet d'origine, mais l'ensemble du tableau est considéré comme une seule unité en termes de propriétés et d'apparence.

Remarque: si l'objet DonnéesBase ne semble pas être positionné correctement dans le chemin, vérifiez que son DonnéesPlacement est à l'origine (0,0,0). Certains objets peuvent être placés n'importe où dans l'espace 3D lorsqu'ils sont utilisés avec l'outil Draft Réseau selon une courbe mais d'autres doivent être à l'origine, en particulier ceux créé en utilisant Part Extrusion avec un profil 2D comme un Esquisse.

Options

Il n'y a pas d'options pour cet outil. Cela fonctionne avec les objets sélectionnés ou non.

Propriétés

Un Draft Réseau selon une courbe est dérivé de Part Feature (classe Part::Feature). Il partage donc toutes les propriétés de ce dernier. Outre les propriétés décrites dans Part Feature, le Réseau orthogonal possède les propriétés suivantes dans l'Éditeur de propriétés

Alignement

  • DonnéesAlign (Bool): mis à true, les copies seront alignées sur le chemin sinon elles restent dans leur orientation par défaut.
Remarque: dans certains cas, la forme apparaîtra plate, en réalité elle peut avoir bougé dans l'espace 3D, donc au lieu d'utiliser une vue plate, changez la vue en axonométrique.
  • DonnéesAlign Mode (Enumeration): trois modes, Original, Frenet, Tangent.
  • DonnéesExtra Translation (VectorDistance): vecteur de déplacement supplémentaire (x, y, z) qui sera appliqué à chaque copie le long du chemin. Cela est utile pour effectuer de petits ajustements dans la position des copies, par exemple, lorsque son point de référence ne correspond pas au point central de sa forme.
  • DonnéesForce Vertical (Bool): mis à true, la valeur de DonnéesVertical Vector sera utilisée comme direction Z locale lorsque DonnéesAlign Mode est Original ou Tangent. introduit dans la version 0.19
  • DonnéesTangent Vector (Vector): valeur par défaut est (1, 0, 0). Vecteur d'unité d'alignement qui sera utilisé lorsque DonnéesAlign Mode est Tangent. introduit dans la version 0.19
  • DonnéesVertical Vector (Vector): par défaut, (0, 0, 1). Vecteur unitaire de la direction Z locale qui sera utilisé lorsque DonnéesVertical Vector est true. introduit dans la version 0.19

Objets

  • DonnéesBase (LinkGlobal): spécifie l'objet à dupliquer dans le chemin.
  • DonnéesCount (Integer): spécifie le nombre de copies à créer dans le chemin.
  • DonnéesPath Object (LinkGlobal): spécifie l'objet le long duquel les copies seront distribuées. Il doit contenir 'Edges' dans sa Part TopoShape. Par exemple, il peut s'agir d'un Draft Fil ou Draft BSpline.
  • DonnéesPath Subelements (LinkSubListGlobal): spécifie les sous-éléments (bords) de DonnéesPath Object sur lesquels les copies seront créées. Les copies seront créées uniquement sur ces bords. Si cette propriété est vide, les copies seront distribuées sur l'ensemble DonnéesPath Object.

Script

See also: Draft API et FreeCAD Scripts de base.

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

Appel plus ancien

path_array = makePathArray(base_object, path_object, count, xlate=None, align=False, pathobjsubs=[])

Nouvel appel

path_array = make_path_array(base_object, path_object,
                             count=4, extra=App.Vector(0, 0, 0), subelements=None,
                             align=False, align_mode="Original", tan_vector=App.Vector(1, 0, 0),
                             force_vertical=False, vertical_vector=App.Vector(0, 0, 1),
                             use_link=True):
  • Crée un objet "PathArray" à partir de base_object en plaçant jusqu'à count copies le long de path_object.
    • Si extra est donné, c'est un vecteur qui déplace légèrement chacune des copies individuelles.
    • Si subelements est donné, il s'agit d'une liste d'arêtes de path_object par exemple ['Edge1', 'Edge2']. Les copies seront créées le long de ce chemin plus court.
    • Si align est True, les copies sont alignées le long de path_object en fonction de la valeur de align_mode qui peut être "Original", "Frenet" ou "Tangent".
    • Si tan_vector est donné, c'est un vecteur unitaire qui définit la direction tangente locale de la copie le long du chemin. Il est utilisé lorsque align_mode est "Tangent".
    • Si force_vertical est True, la valeur de vertical_vector est utilisée pour déterminer la direction Z locale de la copie le long du chemin. Il est utilisé lorsque align_mode est "Original" ou "Tangent".
    • Si use_link est True, le type de tableau créé sera un Draft Réseau lié selon une courbe, dont les éléments sont des instances de App Link au lieu de simples copies.

Exemple:

import FreeCAD as App
import Draft

doc = App.newDocument()

p1 = App.Vector(500, -1000, 0)
p2 = App.Vector(1500, 1000, 0)
p3 = App.Vector(3000, 500, 0)
p4 = App.Vector(4500, 100, 0)
spline = Draft.make_bspline([p1, p2, p3, p4])
obj = Draft.make_polygon(3, 500)

path_array = Draft.make_path_array(obj, spline, 6)
doc.recompute()

wire = Draft.make_wire([p1, -p2, -p3, -p4])
path_array2 = Draft.make_path_array(obj, wire, count=3, extra=App.Vector(0, -500, 0), subelements=["Edge2", "Edge3"], align=True, force_vertical=True)
doc.recompute()

Explication technique

Quand DonnéesAlign est false, le placement des copies de PathArray est assez facile à comprendre; elles sont simplement déplacées vers une position différente dans leur orientation d'origine.

Align false
Align false

Objet disposé le long d'un chemin fermé dans l'orientation d'origine

Lorsque DonnéesAlign est true, le positionnement des formes devient un peu plus complexe:

  1. Premièrement, le système de coordonnées Frenet est construit sur le chemin: X est tangente, Z est normale, Y est binormale.
  2. Ensuite, l'objet d'origine est copié 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 tracé.

Objet disposé le long d'un sentier fermé; description des composants et chemin

Les images suivantes montrent comment le tableau est produit, en fonction du positionnement du plan et du chemin.

Chemin sur le Plan XY

Objet disposé le long d’un chemin fermé qui est aligné sur le plan XY plane

Chemin sur le Plan XZ

Objet disposé le long d'un trajet fermé aligné sur le plan XZ

Chemin sur le Plan YZ

Objet disposé le long d'un trajet fermé aligné sur le plan YZ

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.

Editor: (Remerciements à @DeepSOIC pour ces explications)

Modes d'alignement et options supplémentaires introduits dans la v0.19

Le mode Original (par défaut) est le mode d'alignement historique comme dans la version 0.18. Ce n'est pas vraiment l'alignement Frenet. Le mode original utilise le paramètre normal de Draft.getNormal (ou la valeur par défaut) en tant que constante - il ne calcule pas de courbe normale. X suit la courbe tangente, Y est le paramètre normal, Z est X.Cross(Y).

Le mode Tangent est similaire à Original mais inclut une rotation pour aligner l'objet Base de X sur le TangentVector avant de placer des copies. Après la rotation, Tangent se comporte de la même manière que Original. Dans les versions précédentes, cette rotation se serait effectuée manuellement avant d'appeler PathArray.

Le mode Frenet oriente les copies vers un système de coordonnées le long du chemin. X est tangent à la courbe, Y est la courbe normale, Z est la courbe binormale. Si une normale ne peut pas être calculée (ex une ligne droite), la valeur par défaut est utilisée.

L'option ForceVertical s'applique aux modes Original et Tangent. Quand cela est appliqué, le paramètre normal de Draft.getNormal est ignoré. X suit la courbe tangente, Z est la propriété VerticalVector et Y est X.Cross(Z).

Chaîne de vélo en version 18 - Mode original

Align false
Align false

Traverses de chemin de fer - Mode Tangent + ForceVertical

Align false
Align false

Mode Frenet

Align false
Align false