Draft Réseau selon une courbe

From FreeCAD Documentation
Revision as of 12:42, 20 June 2021 by David69 (talk | contribs) (Created page with "* {{PropertyData/fr|Scale|Float}} * {{PropertyData/fr|Scale Vector|Vector|Hidden}} * {{PropertyData/fr|Scale List|VectorList}} * {{PropertyData/fr|Visibility List|BoolList|Hid...")

Draft Réseau selon une courbe

Emplacement du menu
Modification → Array tools → Réseau selon une courbe
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 Réseau lié selon des points

Description

La commande Draft Réseau selon une courbe crée un réseau régulier à partir d'un objet sélectionné en plaçant des copies le long d'un chemin. Utilisez la commande Draft Réseau lié selon une courbe pour créer un réseau Link plus efficace à la place. À l'exception du type de réseau créé, réseau de liens ou réseau régulier, la commande Draft Réseau lié selon une courbe est identique à cette commande.

Ces deux commandes peuvent être utilisées sur des objets 2D créés avec l'atelier Draft ou l'atelier Sketcher, mais aussi sur de nombreux objets 3D tels que ceux créés avec l'atelier Part, l'atelier PartDesign ou l'atelier Arch.

Un réseau Draft selon une courbe

Utilisation

  1. Sélectionnez l'objet que vous souhaitez mettre en réseau.
  2. Ajoutez l'objet courbe à la sélection. Il est également possible de sélectionner des arêtes à la place. Les arêtes doivent appartenir au même objet. Elles doivent être connectées et doivent être sélectionnées dans le bon ordre.
  3. Il existe plusieurs façons de lancer la commande :
    • Appuyez sur le Réseau selon une courbe.
    • Sélectionnez l'option Modification → Array tools → Réseau selon une courbe dans le menu.
  4. Le réseau est créé.
  5. Vous pouvez éventuellement modifier les propriétés du réseau dans l'Éditeur de propriétés.

Alignement

L'alignement des éléments d'un Draft Réseau selon une courbe dépend des propriétés du réseau, ainsi que de la position et de l'orientation des sous-éléments de l'objet source, par rapport à son système de coordonnées local. Les DonnéesPlacement de l'objet source sont ignorées. Si la propriété DonnéesAlign du réseau est définie sur false, l'orientation des éléments du réseau est identique à celle des sous-éléments d'origine. Si elle a pour valeur true, l'axe X du système de coordonnées local de chaque élément placé est tangent à la trajectoire. Les axes Y et Z des systèmes de coordonnées locaux dépendent de la propriété DonnéesAlign Mode du réseau. Les autres propriétés du réseau impliquées dans l'alignement comprennent DonnéesTangent Vector, DonnéesForce Vertical et DonnéesVertical Vector.

3 réseaux basés sur la même courbe non planaire. De gauche à droite : Align est false, Align à true pour Align Mode Original et Align à true pour Align Mode Frenet.

.

Mode d'alignement

Trois modes sont disponibles :

Original

Ce mode se rapproche le plus du mode unique DonnéesAlign Mode disponible dans la version 0.18. Il s'appuie sur un vecteur normal fixe. Si le chemin est planaire, ce vecteur est perpendiculaire au plan du chemin, sinon un vecteur par défaut, l'axe Z positif, est utilisé. À partir de ce vecteur normal et du vecteur tangent local (l'axe X local), un produit vectoriel est calculé. Ce nouveau vecteur est utilisé comme axe Z local. L'orientation de l'axe Y local est déterminée à partir des axes X et Z locaux.

Frenet

Ce mode utilise le vecteur normal local dérivé de la trajectoire à chaque placement d'élément. Si ce vecteur ne peut pas être déterminé (par exemple dans le cas d'un segment droit), un vecteur par défaut, toujours l'axe Z positif, est utilisé à la place. Avec ce vecteur et le vecteur tangent local, le système de coordonnées local est déterminé en utilisant la même procédure que dans le paragraphe précédent.

Tangent

Ce mode est similaire à DonnéesAlign Mode. Original mais offre la possibilité de pré-rotation de l'objet source en spécifiant un DonnéesTangent Vector.

Force Vertical et Vertical Vector

Ces propriétés ne sont disponibles que si DonnéesAlign Mode est Original ou Tangent. Si DonnéesForce Vertical est défini sur true, le système de coordonnées local est calculé d'une manière différente. DonnéesVertical Vector est utilisé comme vecteur normal fixe. Un produit vectoriel est à nouveau calculé à partir de ce vecteur normal et du vecteur tangent local (l'axe X local). Mais ce vecteur est maintenant utilisé comme l'axe Y local. L'orientation de l'axe Z local est déterminée à partir des axes X et Y locaux.

L'utilisation de ces propriétés peut être nécessaire si l'un des bords du chemin est (presque) parallèle à la normale par défaut du chemin.

Propriétés

Voir aussi: Éditeur de propriétés

Un objet Draft Réseau selon une courbe est dérivé d'un objet Part Feature et hérite de toutes ses propriétés (à l'exception de certaines propriétés Vue qui ne sont pas héritées par les réseaux Link). Les propriétés suivantes sont supplémentaires, sauf indication contraire :

Données

Link

Les propriétés de ce groupe ne sont disponibles que pour les réseaux de liens. Voir Std Créer un lien pour plus d'informations.

  • DonnéesScale (Float)
  • Données (caché)Scale Vector (Vector)
  • DonnéesScale List (VectorList)
  • Données (caché)Visibility List (BoolList)
  • Données (caché)Placement List (PlacementList)
  • Données (caché)Element List (LinkList)
  • Données (caché)_ Link Touched (Bool)
  • Données (caché)_ Child Cache (LinkList)
  • Données (caché)Colored Elements (LinkSubHidden)
  • DonnéesLink Transform (Bool)

Alignment

  • 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

Objects

  • 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.

View

Link

The properties in this group, with the exception of the inherited property, are only available for Link arrays. See Std LinkMake for more information.

  • VueDraw Style (Enumeration)
  • VueLine Width (FloatConstraint)
  • VueOverride Material (Bool)
  • VuePoint Size (FloatConstraint)
  • VueSelectable (Bool): this is an inherited property that appears in the Selection group for other arrays
  • VueShape Material (Material)

Base

The properties in this group, with the exception of the inherited property, are only available for Link arrays. See Std LinkMake for more information.

  • Vue (Hidden)Child View Provider (PersistentObject)
  • Vue (Hidden)Material List (MaterialList)
  • Vue (Hidden)Override Color List (ColorList)
  • Vue (Hidden)Override Material List (BoolList)
  • Vue (Hidden)Proxy (PythonObject): this is an inherited property.

Display Options

The properties in this group are inherited properties. See Part Feature for more information.

  • VueBounding Box (Bool): this property is not inherited by Link arrays.
  • VueDisplay Mode (Enumeration): for Link arrays it can be Link or ChildView. For other arrays it can be: Flat Lines, Shaded, Wireframe or Points
  • VueShow In Tree (Bool)
  • VueVisibility (Bool)

Draft

  • VuePattern (Enumeration): not used.
  • VuePattern Size (Float): not used.

Object style

The properties in this group are not inherited by Link arrays.

Script

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

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.
    • Au lieu d'une référence à un objet, base_object peut également être le Label (chaîne) d'un objet existant dans le document courant.
    • 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()