Draft PathArray/fr: Difference between revisions

From FreeCAD Documentation
No edit summary
(Updating to match new version of source page)
(43 intermediate revisions by 3 users not shown)
Line 1: Line 1:
<languages/>
<languages/>
{{Docnav/fr
{{GuiCommand/fr|Name=Draft PathArray|Name/fr=Draft PathArray|Workbenches=[[Draft_Module/fr|Draft]], [[Arch_Module/fr|Arch]]|MenuLocation=Draft → PathArray|SeeAlso=[[Draft Array/fr|Draft Array]] }}
|[[Draft_LinkArray/fr|Link Array]]
|[[Draft_PathLinkArray/fr|Path LinkArray]]
|[[Draft_Module/fr|Atelier Draft]]
|IconL=Draft_LinkArray.svg
|IconC=Workbench_Draft.svg
|IconR=Draft_PathLinkArray.svg
}}

{{GuiCommand/fr
|Name=Draft PathArray
|Name/fr=Draft PathArray
|Workbenches=[[Draft_Module/fr|Draft]], [[Arch_Module/fr|Arch]]
|MenuLocation=Draft → PathArray
|SeeAlso=[[Draft Array/fr|Draft Matrice]], [[Draft LinkArray/fr|Draft LinkArray]], [[Draft PointArray/fr|Draft Matrice de points]]
|Version=0.14
}}


==Description==
==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.
L'outil {{Button|[[Image:Draft_PathArray.svg|16px]] [[Draft PathArray/fr|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 Wire/fr|Draft Fil]] ou une ou plusieurs [[Draft BSpline/fr|Draft BSpline]] et bords similaires.

L'outil PathArray peut être utilisé sur des formes 2D créées avec l'atelier [[Draft Workbench/fr|Draft]], mais également sur de nombreux types d'objets 3D, tels que ceux créés avec les ateliers [[Part Workbench/fr|Part]], [[PartDesign Workbench/fr|PartDesign]] ou [[Arch Workbench/fr|Arch]].

Pour positionner des copies dans un tableau orthogonal, utilisez [[Draft Array/fr|Draft Array]]; pour positionner des copies à des points spécifiés, utilisez [[Draft PointArray/fr|Draft PointArray]]; pour créer des copies ou des clones et les placer manuellement, utilisez [[Draft Move/fr|Draft Move]], [[Draft Rotate/fr|Draft Rotate]] et [[Draft Clone/fr|Draft Clone]].


[[Image:Draft_PathArray_Example.png|400px]]
[[Image:Draft_PathArray_Example.png|400px]]
{{Caption|Objet disposé le long d'un chemin}}


==Utilisation==
==Utilisation==


# 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.
# Sélectionnez l'objet que vous souhaitez distribuer.
# Sélectionnez l'objet que vous souhaitez distribuer.
# Sélectionnez un tracé ou n'importe quel ligne le sur laquelle les formes seront copiées.
# Cliquez le bouton {{Button|[[Image:Draft_PathArray.svg|16px]] [[Draft PathArray/fr|Draft PathArray]]}}.
# Sélectionnez un tracé le long de laquelle les formes seront copiées. -ou-
# L'objet Array est créé immédiatement. Vous devez modifier les propriétés du tableau pour modifier le nombre et la direction des copies créées.
# Sélectionner les bords d'un objet qui servirons de chemin.

# Pressez le bouton {{KEY|[[Image:Draft_PathArray.png|16px]] [[Draft_PathArray/fr|Draft PathArray]]}}.
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.

L'objet de base doit être centré autour de l'origine, même si le chemin commence ailleurs.


==Options==
==Options==


Il n'y a pas d'options pour cet outil. Cela fonctionne avec les objets sélectionnés ou non.
* 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==
==Propriétés==


* {{PropertyData/fr|Base}}: L'objet shape
* {{PropertyData/fr|Base}}: spécifie l'objet à dupliquer dans le chemin.
* {{PropertyData/fr|PathObj}}: Le chemin de l'objet
* {{PropertyData/fr|PathObj}}: spécifie le chemin de l'objet
* {{PropertyData/fr|PathSubs}}: Les sous-éléments (bords) de l'objet trajectoire pour être utilisé comme chemin
* {{PropertyData/fr|PathSubs}}: spécifie les sous-éléments (bords) du chemin. Cette propriété n'apparaît pas encore dans l'[[property editor/fr|éditeur de propriétés]].
* {{PropertyData/fr|Count}}: Le nombre de copies du shape
* {{PropertyData/fr|Count}}: spécifie le nombre de copies de l'objet de base
* {{PropertyData/fr|Align}}: s'il est fixé sur {{TRUE}}, les copies sont alignées sur le chemin. sinon, ils restent dans leur orientation par défaut.
* {{PropertyData/fr|Xlate}}: L'adaptation du vecteur
: {{Emphasis|Note:}} dans certains cas, la forme apparaîtra à plat. En réalité, elle peut s'être déplacée dans l'espace 3D. Par conséquent, au lieu d'utiliser une vue à plat, changez la vue en axonométrie.
* {{PropertyData/fr|Align}}: True aligne le shape sur le chemin, False laisse le shape sur une orientation par défaut.
* {{PropertyData/fr|Xlate}}: spécifie l'adaptation du vecteur (x, y, z) pour déplacer chaque copie le long du chemin.
: {{Emphasis|Note:}} lorsque {{PropertyData/fr|Align}} est {{TRUE}}, le vecteur est relatif aux coordonnées locales tangentes, normales ou binormales; sinon, le vecteur est relatif aux coordonnées globales.


==Script==
==Script==
{{Emphasis|See also:}} [[Draft API/fr|Draft API]] et [[FreeCAD Scripting Basics/fr|FreeCAD Scripts de base]].


L'outil PathArray peut être utilisé dans une [[macros/fr|macro]] et dans la console python avec la commande
L'outil PathArray peut être utilisé dans une [[macros/fr|macro]] et dans la console [[Python/fr|Python]] avec la commande:

{{Code|code=
{{Code|code=
makePathArray(shapeobject,pathobject,count,[translationvector],[alignment],[listofpathsubelements])
PathArray = makePathArray(baseobject, pathobject, count, xlate=None, align=False, pathobjsubs=[])
}}
}}

* 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.
* Crée un objet {{incode|PathArray}} à partir de {{incode|baseobject}}, en plaçant autant de copies que {{incode|count}} le long de {{incode|pathobject}}.
** Si {{incode|pathobjsubs}} est indiqué, il s'agit d'une liste de sous-objets de {{incode|pathobject}} et les copies sont créées le long de ce chemin plus court.
* Si {{incode|xlate}} est indiqué, il s'agit d'un {{incode|FreeCAD.Vector}} qui indique un déplacement supplémentaire pour déplacer le point de base des copies.
* Si {{incode| align}} est {{incode|True}}, les copies sont alignées sur la tangente, normale ou binormale de {{incode|pathobject}} au point où la copie est placée.


Exemple:
Exemple:
{{Code|code=
{{Code|code=
import FreeCAD,Draft
import FreeCAD,Draft
Draft.makePathArray(base,path,items,centretrans,orient,pathsubs)
}}


p1 = FreeCAD.Vector(500, -1000, 0)
==Note d'utilisation==
p2 = FreeCAD.Vector(1500, 1000, 0)
* 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).
p3 = FreeCAD.Vector(3000, 500, 0)
p4 = FreeCAD.Vector(4500, 100, 0)
spline = Draft.makeBSpline([p1, p2, p3, p4])
object = Draft.makePolygon(3, 500)


PathArray = Draft.makePathArray(object, spline, 6)
==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==
==Explication technique==
Quand "Align = false", la logique de PathArray est assez facile à comprendre.
Quand {{PropertyData/fr|Align}} 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.
[[Image:patharray_NoAlign.png|600px|left|Align false]]
[[Image:patharray_NoAlign.png|600px|left|Align false]]
{{clear}}
{{clear}}
{{Caption|Objet disposé le long d'un chemin fermé dans l'orientation d'origine}}


Lorsque "Align = True" la logique est un peu plus difficile à saisir:
Lorsque {{PropertyData/fr|Align}} est {{TRUE}}, le positionnement des formes devient un peu plus complexe:
# Construire un système de coordonnées Frenet sur le chemin (X est tangent, Z est normal, Y est binormal).
# Premièrement, le système de coordonnées Frenet est construit sur le chemin: X est tangente, Z est normale, Y est binormale.
# 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.
# 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é.
[[Image:patharray alignment annotated.png|600px|left]]
[[Image:patharray alignment annotated.png|600px|left]]
{{clear}}
{{clear}}
{{Caption|Objet disposé le long d'un sentier fermé; description des composants et chemin}}


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.
Les images suivantes montrent comment le tableau est produit, en fonction du positionnement du plan et du chemin.


[[Image:patharray_alignment.png|600px|left|XY Plane]]
{{clear}}
Chemin sur le Plan XY
Chemin sur le Plan XY
[[Image:patharray_alignment.png|600px|left]]
<br />
[[Image:patharray_alignment-XZ.png|600px|left|XZ Plane]]
{{clear}}
{{clear}}
{{Caption|Objet disposé le long d’un chemin fermé qui est aligné sur le plan XY plane}}

Chemin sur le Plan XZ
Chemin sur le Plan XZ
[[Image:patharray_alignment-XZ.png|600px|left]]
<br />
[[Image:patharray_alignment-YZ.png|600px|left|YZ Plane]]
{{clear}}
{{clear}}
{{Caption|Objet disposé le long d'un trajet fermé aligné sur le plan XZ}}

Chemin sur le Plan YZ
Chemin sur le Plan YZ
[[Image:patharray_alignment-YZ.png|600px|left]]
<br />
{{clear}}
{{clear}}
{{Caption|Objet disposé le long d'un trajet fermé aligné 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.
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)
{{Emphasis|Editor:}} (Remerciements à @DeepSOIC pour ces explications)

{{Docnav/fr
|[[Draft_LinkArray/fr|Link Array]]
|[[Draft_PathLinkArray/fr|Path LinkArray]]
|[[Draft_Module/fr|Atelier Draft]]
|IconL=Draft_LinkArray.svg
|IconC=Workbench_Draft.svg
|IconR=Draft_PathLinkArray.svg
}}

{{Draft Tools navi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}
{{clear}}

Revision as of 20:36, 21 February 2020

Draft PathArray

Emplacement du menu
Draft → PathArray
Ateliers
Draft, Arch
Raccourci par défaut
Aucun
Introduit dans la version
0.14
Voir aussi
Draft Matrice, Draft LinkArray, Draft Matrice de points

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 PathArray peut être utilisé sur des formes 2D créées avec l'atelier Draft, mais également sur de nombreux types d'objets 3D, tels que ceux créés avec les ateliers Part, PartDesign ou Arch.

Pour positionner des copies dans un tableau orthogonal, utilisez Draft Array; pour positionner des copies à des points spécifiés, utilisez Draft PointArray; pour créer des copies ou des clones et les placer manuellement, utilisez Draft Move, Draft Rotate et Draft Clone.

Objet disposé le long d'un chemin

Utilisation

  1. Sélectionnez l'objet que vous souhaitez distribuer.
  2. Sélectionnez un tracé ou n'importe quel ligne le sur laquelle les formes seront copiées.
  3. Cliquez le bouton Draft PathArray.
  4. L'objet Array 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.

L'objet de base doit être centré autour de l'origine, même si le chemin commence ailleurs.

Options

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

Propriétés

  • DonnéesBase: spécifie l'objet à dupliquer dans le chemin.
  • DonnéesPathObj: spécifie le chemin de l'objet
  • DonnéesPathSubs: spécifie les sous-éléments (bords) du chemin. Cette propriété n'apparaît pas encore dans l'éditeur de propriétés.
  • DonnéesCount: spécifie le nombre de copies de l'objet de base
  • DonnéesAlign: s'il est fixé sur true, les copies sont alignées sur le chemin. sinon, ils restent dans leur orientation par défaut.
Note: dans certains cas, la forme apparaîtra à plat. En réalité, elle peut s'être déplacée dans l'espace 3D. Par conséquent, au lieu d'utiliser une vue à plat, changez la vue en axonométrie.
  • DonnéesXlate: spécifie l'adaptation du vecteur (x, y, z) pour déplacer chaque copie le long du chemin.
Note: lorsque DonnéesAlign est true, le vecteur est relatif aux coordonnées locales tangentes, normales ou binormales; sinon, le vecteur est relatif aux coordonnées globales.

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:

PathArray = makePathArray(baseobject, pathobject, count, xlate=None, align=False, pathobjsubs=[])
  • Crée un objet PathArray à partir de baseobject, en plaçant autant de copies que count le long de pathobject.
    • Si pathobjsubs est indiqué, il s'agit d'une liste de sous-objets de pathobject et les copies sont créées le long de ce chemin plus court.
  • Si xlate est indiqué, il s'agit d'un FreeCAD.Vector qui indique un déplacement supplémentaire pour déplacer le point de base des copies.
  • Si align est True, les copies sont alignées sur la tangente, normale ou binormale de pathobject au point où la copie est placée.

Exemple:

import FreeCAD,Draft

p1 = FreeCAD.Vector(500, -1000, 0)
p2 = FreeCAD.Vector(1500, 1000, 0)
p3 = FreeCAD.Vector(3000, 500, 0)
p4 = FreeCAD.Vector(4500, 100, 0)
spline = Draft.makeBSpline([p1, p2, p3, p4])
object = Draft.makePolygon(3, 500)

PathArray = Draft.makePathArray(object, spline, 6)

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)