Draft PathArray/fr: Difference between revisions
No edit summary |
(Updating to match new version of source page) |
||
(144 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
<languages/> |
<languages/> |
||
{{Docnav/fr |
{{Docnav/fr |
||
|[[ |
|[[Draft_CircularArray/fr|Réseau circulaire]] |
||
|[[Draft_PathLinkArray/fr|Réseau lié selon une courbe]] |
|[[Draft_PathLinkArray/fr|Réseau lié selon une courbe]] |
||
|[[ |
|[[Draft_Workbench/fr|Atelier Draft]] |
||
|IconL= |
|IconL=Draft_CircularArray.svg |
||
|IconR=Draft_PathLinkArray.svg |
|||
|IconC=Workbench_Draft.svg |
|IconC=Workbench_Draft.svg |
||
|IconR=Draft_PathLinkArray.svg |
|||
}} |
}} |
||
<div class="mw-translate-fuzzy"> |
|||
{{GuiCommand/fr |
{{GuiCommand/fr |
||
|Name=Draft PathArray |
|Name=Draft PathArray |
||
|Name/fr=Draft Réseau selon une courbe |
|Name/fr=Draft Réseau selon une courbe |
||
|MenuLocation=Modification → Outils pour les réseaux → Réseau selon une courbe |
|||
|Workbenches=[[Draft_Module/fr|Draft]], [[Arch_Module/fr|Arch]] |
|||
|Workbenches=[[Draft_Workbench/fr|Draft]], [[Arch_Workbench/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 |
|Version=0.14 |
||
|SeeAlso=[[Draft_OrthoArray/fr|Draft Réseau orthogonal]], [[Draft_PolarArray/fr|Draft Réseau polaire]], [[Draft_CircularArray/fr|Draft Réseau circulaire]], [[Draft_PathLinkArray/fr|Draft Réseau lié selon une courbe]], [[Draft_PointArray/fr|Draft Réseau de points]], [[Draft_PointLinkArray/fr|Draft Réseau lié selon des points]] |
|||
}} |
}} |
||
</div> |
|||
==Description== |
==Description== |
||
La commande [[Image:Draft_PathArray.svg|24px]] '''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_PathLinkArray/fr|Draft Réseau lié selon une courbe]] pour créer un réseau [[App_Link/fr|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_PathLinkArray/fr|Draft Réseau lié selon une courbe]] est identique à cette commande. |
|||
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. |
|||
Ces deux commandes peuvent être utilisées sur des objets 2D créés avec l'[[Draft_Workbench/fr|atelier Draft]] ou l'[[Sketcher_Workbench/fr|atelier Sketcher]], mais aussi sur de nombreux objets 3D tels que ceux créés avec l'[[Part_Workbench/fr|atelier Part]], l'[[PartDesign_Workbench/fr|atelier PartDesign]] ou l'[[Arch_Workbench/fr|atelier Arch]]. |
|||
<div class="mw-translate-fuzzy"> |
|||
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]]. |
|||
</div> |
|||
<div class="mw-translate-fuzzy"> |
|||
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]]. |
|||
</div> |
|||
[[Image:Draft_PathArray_Example.png|400px]] |
[[Image:Draft_PathArray_Example.png|400px]] |
||
{{Caption| |
{{Caption|Un Draft réseau selon une courbe}} |
||
<span id="Usage"></span> |
|||
==Utilisation== |
==Utilisation== |
||
# Sélectionner l'objet que vous souhaitez mettre en réseau. |
|||
<div class="mw-translate-fuzzy"> |
|||
# Ajouter l'objet trajectoire à la sélection. Il est également possible de sélectionner des arêtes à la place. Les arêtes doivent appartenir au même objet et doivent être connectées. |
|||
# Sélectionnez l'objet que vous souhaitez distribuer. |
|||
# Il existe plusieurs façons de lancer la commande : |
|||
# Sélectionnez un tracé ou n'importe quel ligne le sur laquelle les formes seront copiées. |
|||
# |
#* Appuyer sur le {{Button|[[Image:Draft_PathArray.svg|16px]] [[Draft_PathArray/fr|Réseau selon une courbe]]}}. |
||
#* Sélectionner l'option {{MenuCommand|Modification → Outils pour les réseaux → [[Image:Draft_PathArray.svg|16px]] Réseau selon une courbe}} du menu. |
|||
# 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. |
|||
# Le réseau est créé. |
|||
</div> |
|||
# Vous pouvez éventuellement modifier les [[#Propri.C3.A9t.C3.A9s|propriétés]] du réseau dans l'[[Property_editor/fr|éditeur de propriétés]]. |
|||
<span id="Alignment"></span> |
|||
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. |
|||
==Alignement== |
|||
L'alignement des éléments d'un Draft Réseau selon une courbe dépend des propriétés du réseau et de l'orientation de l'objet source. La position de l'objet source est ignorée : pour les besoins du réseau, les valeurs {{Value|x}}, {{Value|y}} et {{Value|z}} sont fixées à {{Value|0}}. Si la propriété {{PropertyData|Align}} du réseau est définie à {{FALSE}}, l'orientation des éléments du réseau est identique à celle de l'objet source. 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é {{PropertyData|Align Mode}} du réseau. Les autres propriétés du réseau impliquées dans l'alignement comprennent {{PropertyData|Tangent Vector}}, {{PropertyData|Force Vertical}} et {{PropertyData|Vertical Vector}}. |
|||
<div class="mw-translate-fuzzy"> |
|||
L'objet de base doit être centré autour de l'origine, même si le chemin commence ailleurs. |
|||
[[Image:Draft_PathArray_example2.png|600px]] |
|||
</div> |
|||
{{Caption|3 réseaux basés sur la même courbe non planaire.<br>De gauche à droite : Align est false, Align à true pour Align Mode Original et Align à true pour Align Mode Frenet.}}. |
|||
<span id="Align_Mode"></span> |
|||
===Mode d'alignement=== |
|||
Trois modes sont disponibles : |
|||
====Original==== |
|||
Ce mode se rapproche le plus du mode unique {{PropertyData|Align 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 [https://fr.wikipedia.org/wiki/Produit_vectoriel 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 à {{PropertyData|Align Mode}}. {{Value|Original}} mais offre la possibilité de pré-rotation de l'objet source en spécifiant un {{PropertyData|Tangent Vector}}. |
|||
<span id="Force_Vertical_and_Vertical_Vector"></span> |
|||
===Force Vertical et Vertical Vector=== |
|||
Ces propriétés ne sont disponibles que si {{PropertyData|Align Mode}} est {{Value|Original}} ou {{Value|Tangent}}. Si {{PropertyData|Force Vertical}} est défini sur {{TRUE}}, le système de coordonnées local est calculé d'une manière différente. {{PropertyData|Vertical 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. |
|||
==Options== |
|||
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. |
|||
Il n'y a pas d'options pour cet outil. Cela fonctionne avec les objets sélectionnés ou non. |
|||
<span id="Properties"></span> |
|||
==Propriétés== |
==Propriétés== |
||
Voir aussi: [[Property_editor/fr|Éditeur de propriétés]] |
|||
A [[Draft_PathArray|PathArray]] is derived from a [[Part_Feature|Part Feature]] ({{incode|Part::Feature}} class), therefore it shares all the latter's properties. In addition to the properties described in [[Part_Feature|Part Feature]], the PathArray has the following properties in the [[property_editor|property editor]]. |
|||
Un objet Draft Réseau selon une courbe est dérivé d'un objet [[Part_Feature/fr|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 : |
|||
<span id="Data"></span> |
|||
===Données=== |
|||
{{TitleProperty|Link}} |
|||
Les propriétés de ce groupe ne sont disponibles que pour les réseaux de liens. Voir [[Std_LinkMake/fr#Propri.C3.A9t.C3.A9s|Std Créer un lien]] pour plus d'informations. |
|||
* {{PropertyData|Scale|Float}} |
|||
* {{PropertyData|Scale Vector|Vector|Caché}} |
|||
* {{PropertyData|Scale List|VectorList}} |
|||
* {{PropertyData|Visibility List|BoolList|Caché}} |
|||
* {{PropertyData|Placement List|PlacementList|Caché}} |
|||
* {{PropertyData|Element List|LinkList|Caché}} |
|||
* {{PropertyData|_ Link Touched|Bool|Caché}} |
|||
* {{PropertyData|_ Child Cache|LinkList|Caché}} |
|||
* {{PropertyData|Colored Elements|LinkSubCaché|Caché}} |
|||
* {{PropertyData|Link Transform|Bool}} |
|||
{{TitleProperty|Alignment}} |
|||
* {{PropertyData|Align|Bool}} : spécifie si les éléments du réseau sont alignés ou non le long du chemin. Si elle vaut {{FALSE}}, toutes les autres propriétés de ce groupe, à l'exception de {{PropertyData|Extra Translation}} ne s'appliquent pas et sont masquées. |
|||
* {{PropertyData|Align Mode|Enumeration}} : spécifie le mode d'alignement, qui peut être {{Value|Original}}, {{Value|Frenet}} ou {{Value|Tangent}}. |
|||
* {{PropertyData|End Offset|Length}} : spécifie la longueur entre la fin du chemin et la dernière copie. Elle doit être inférieure à la longueur du chemin moins {{PropertyData|Start Offset}}. {{Version/fr|0.21}} |
|||
* {{PropertyData|Extra Translation|VectorDistance}} : spécifie un déplacement supplémentaire pour chaque élément le long du chemin. |
|||
* {{PropertyData|Force Vertical|Bool}} : spécifie s'il faut remplacer la direction normale par défaut par la valeur de {{PropertyData|Vecteur Vertical}}. Utilisé uniquement si {{PropertyData|Align Mode}} est {{Value|Original}} ou {{Value|Tangent}}. |
|||
* {{PropertyData|Start Offset|Length}} : spécifie la longueur entre le début du chemin et la première copie. Elle doit être inférieure à la longueur du chemin. {{Version/fr|0.21}} |
|||
* {{PropertyData|Tangent Vector|Vector}} : spécifie le vecteur d'alignement. Utilisé uniquement si {{PropertyData|Align Mode}} est {{Value|Tangent}}. |
|||
* {{PropertyData|Vertical Vector|Vector}} : spécifie le remplacement de la direction normale par défaut. Utilisé uniquement si {{PropertyData|Vertical Vector}} est {{TRUE}}. |
|||
{{TitleProperty|Objects}} |
|||
<div class="mw-translate-fuzzy"> |
<div class="mw-translate-fuzzy"> |
||
* {{PropertyData |
* {{PropertyData|Base|LinkGlobal}} : spécifie l'objet à dupliquer dans le réseau. |
||
* {{PropertyData |
* {{PropertyData|Count|Integer}} : spécifie le nombre d'éléments dans le réseau. |
||
* {{PropertyData|Expand Array|Bool}} : indique s'il faut développer le réseau dans la [[Tree_view/fr|vue en arborescence]] pour permettre la sélection de ses éléments individuels. Disponible uniquement pour les réseaux de type lien (Link). |
|||
* {{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 |
* {{PropertyData|Fuse|Bool}} : spécifie si les éléments qui se chevauchent dans le réseau sont fusionnés ou non. Non utilisé pour les réseaux de liens. {{Version/fr|0.22}} |
||
* {{PropertyData |
* {{PropertyData|Path Object|LinkGlobal}} : spécifie l'objet à utiliser pour le chemin. Il doit contenir {{Value|Edges}} dans sa [[Part_TopoShape/fr|Part TopoShape]]. |
||
* {{PropertyData|Path Subelements|LinkSubListGlobal}} : spécifie une liste d'arêtes de {{PropertyData|Path Object}}. Si elle est renseignée, seules ces arêtes sont utilisées pour le chemin. |
|||
: {{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|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. |
|||
</div> |
</div> |
||
<span id="View"></span> |
|||
{{TitleProperty|Objects}} |
|||
=== Vue === |
|||
* {{PropertyData|Base|LinkGlobal}}: specifies the object to duplicate in the path. |
|||
* {{PropertyData|Count|Integer}}: specifies the number of copies to create in the path. |
|||
* {{PropertyData|Path Object|LinkGlobal}}: specifies the object along which the copies will be distributed. It must contain {{Value|'Edges'}} in its [[Part_TopoShape|Part TopoShape]]; for example, it could be a {{Button|[[File:Draft_Wire.svg|16px]] [[Draft_Wire|Wire]]}} or {{Button|[[File:Draft_BSpline.svg|16px]] [[Draft_BSpline|BSpline]]}}. |
|||
* {{PropertyData|Path Subelements|LinkSubListGlobal}}: specifies the sub-elements (edges) of the {{PropertyData|Path Object}} on which the copies will be created. The copies will be created only on these edges. If this property is empty, the copies will be distributed on the entire {{PropertyData|Path Object}}. |
|||
{{TitleProperty|Link}} |
|||
Les propriétés de ce groupe, à l'exception de la propriété héritée, ne sont disponibles que pour les réseaux liens (Link). Voir [[Std_LinkMake/fr#Propri.C3.A9t.C3.A9s|Std Créer un lien]] pour plus d'informations. |
|||
* {{PropertyView|Draw Style|Enumeration}} |
|||
* {{PropertyView|Line Width|FloatConstraint}} |
|||
* {{PropertyView|Override Material|Bool}} |
|||
* {{PropertyView|Point Size|FloatConstraint}} |
|||
* {{PropertyView|Selectable|Bool}} : il s'agit d'une propriété héritée qui apparaît dans le groupe Sélection pour d'autres réseaux. |
|||
* {{PropertyView|Shape Material|Material}} |
|||
{{TitleProperty|Base}} |
|||
Les propriétés de ce groupe, à l'exception de la propriété héritée, ne sont disponibles que pour les réseaux liens (Link). Voir [[Std_LinkMake/fr#Propri.C3.A9t.C3.A9s|Std Créer un lien]] pour plus d'informations. |
|||
* {{PropertyView|Child View Provider|PersistentObject|Caché}} |
|||
* {{PropertyView|Material List|MaterialList|Caché}} |
|||
* {{PropertyView|Override Color List|ColorList|Caché}} |
|||
* {{PropertyView|Override Material List|BoolList|Caché}} |
|||
* {{PropertyView|Proxy|PythonObject|Caché}}: il s'agit d'une propriété héritée. |
|||
{{TitleProperty|Display Options}} |
|||
Les propriétés de ce groupe sont des propriétés héritées. Voir [[Part_Feature/fr#Propri.C3.A9t.C3.A9s|Part Feature]] pour plus d'informations. |
|||
* {{PropertyView|Bounding Box|Bool}}: cette propriété n'est pas héritée par les réseaux de liens (Link). |
|||
* {{PropertyView|Display Mode|Enumeration}}: pour les réseaux de liens, il peut s'agir de {{value|Link}} ou {{value|ChildView}}. Pour les autres réseaux, il peut s'agir de : {{value|Flat Lines}}, {{value|Shaded}}, {{value|Wireframe}} ou {{value|Points}} |
|||
* {{PropertyView|Show In Tree|Bool}} |
|||
* {{PropertyView|Visibility|Bool}} |
|||
{{TitleProperty|Draft}} |
|||
* {{PropertyView|Pattern|Enumeration}} : non utilisé. |
|||
* {{PropertyView|Pattern Size|Float}} : non utilisé. |
|||
{{TitleProperty|Object style}} |
|||
Les propriétés de ce groupe ne sont pas héritées par les réseaux de liens. |
|||
<span id="Scripting"></span> |
|||
==Script== |
==Script== |
||
{{Emphasis|See also:}} [[Draft API/fr|Draft API]] et [[FreeCAD Scripting Basics/fr|FreeCAD Scripts de base]]. |
|||
Voir aussi : [https://freecad.github.io/SourceDoc/ Autogenerated API documentation] et [[FreeCAD_Scripting_Basics/fr|FreeCAD Débuter avec les scripts]]. |
|||
L'outil PathArray peut être utilisé dans une [[macros/fr|macro]] et dans la console [[Python/fr|Python]] avec la commande: |
|||
Pour créer un réseau selon une courbe, utilisez la méthode {{incode|make_path_array}} ({{Version/fr|0.19}}) de l'atelier Draft. Cette méthode remplace la méthode dépréciée {{incode|makePathArray}}. |
|||
Older call |
|||
{{Code|code= |
|||
path_array = makePathArray(base_object, path_object, count, xlate=None, align=False, pathobjsubs=[]) |
|||
}} |
|||
New call |
|||
{{Code|code= |
{{Code|code= |
||
path_array = make_path_array(base_object, path_object, |
path_array = make_path_array(base_object, path_object, |
||
Line 91: | Line 172: | ||
align=False, align_mode="Original", tan_vector=App.Vector(1, 0, 0), |
align=False, align_mode="Original", tan_vector=App.Vector(1, 0, 0), |
||
force_vertical=False, vertical_vector=App.Vector(0, 0, 1), |
force_vertical=False, vertical_vector=App.Vector(0, 0, 1), |
||
use_link=True) |
use_link=True) |
||
}} |
}} |
||
* {{incode|base_object}} est l'objet à mettre en réseau. Il peut également s'agir du {{incode|Label}} (chaîne de caractères) d'un objet du document courant. |
|||
<div class="mw-translate-fuzzy"> |
|||
* {{incode|path_object}} est l'objet courbe. Il peut également s'agir du {{incode|Label}} (chaîne de caractères) d'un objet du document courant. |
|||
* Crée un objet {{incode|PathArray}} à partir de {{incode|baseobject}}, en plaçant autant de copies que {{incode|count}} le long de {{incode|pathobject}}. |
|||
* {{incode|count}} est le nombre d'éléments dans le réseau. |
|||
** 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. |
|||
* {{incode|extra}} est un vecteur qui déplace chaque élément. |
|||
* 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. |
|||
* |
* {{incode|subelements}} est une liste d'arêtes de {{incode|path_object}}, par exemple {{incode|["Bord1", "Bord2"]}}. Si elle est renseignée, seules ces arêtes sont utilisées pour le chemin. |
||
* Si {{incode|align}} est {{incode|True}} les éléments sont alignés le long de la courbe en fonction de la valeur de {{incode|align_mode}}, qui peut être {{incode|"Original"}}, {{incode|"Frenet"}} ou {{incode|"Tangent"}}. |
|||
</div> |
|||
* {{incode|tan_vector}} est un vecteur unitaire qui définit la direction tangente locale des éléments le long de la courbe. Il est utilisé lorsque {{incode|align_mode}} est {{incode|"Tangent"}}. |
|||
* Si {{incode|force_vertical}} est {{incode|True}} {{incode|vertical_vector}} est utilisé pour la direction Z locale des éléments le long de la courbe. Il est utilisé lorsque {{incode|align_mode}} est {{incode|"Original"}} ou {{incode|"Tangent"}}. |
|||
* Si {{incode|use_link}} est {{incode|True}}, les éléments créés sont des [[App_Link/fr|App Links]] au lieu de copies ordinaires. |
|||
* {{incode|path_array}} est restitué avec l'objet réseau créé. |
|||
Exemple : |
|||
Exemple: |
|||
{{Code|code= |
{{Code|code= |
||
import FreeCAD as App |
import FreeCAD as App |
||
Line 122: | Line 208: | ||
doc.recompute() |
doc.recompute() |
||
}} |
}} |
||
==Explication technique== |
|||
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]] |
|||
{{clear}} |
|||
{{Caption|Objet disposé le long d'un chemin fermé dans l'orientation d'origine}} |
|||
Lorsque {{PropertyData/fr|Align}} est {{TRUE}}, le positionnement des formes devient un peu plus complexe: |
|||
# Premièrement, le système de coordonnées Frenet est construit sur le chemin: X est tangente, Z est normale, Y est binormale. |
|||
# 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]] |
|||
{{clear}} |
|||
{{Caption|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 |
|||
[[Image:patharray_alignment.png|600px|left]] |
|||
{{clear}} |
|||
{{Caption|Objet disposé le long d’un chemin fermé qui est aligné sur le plan XY plane}} |
|||
Chemin sur le Plan XZ |
|||
[[Image:patharray_alignment-XZ.png|600px|left]] |
|||
{{clear}} |
|||
{{Caption|Objet disposé le long d'un trajet fermé aligné sur le plan XZ}} |
|||
Chemin sur le Plan YZ |
|||
[[Image:patharray_alignment-YZ.png|600px|left]] |
|||
{{clear}} |
|||
{{Caption|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. |
|||
{{Emphasis|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 |
|||
[[Image:patharray_cycleChain.png|600px|left|Align false]] |
|||
{{clear}} |
|||
Traverses de chemin de fer - Mode Tangent + ForceVertical |
|||
[[Image:patharray_railwayTies.png|600px|left|Align false]] |
|||
{{clear}} |
|||
Mode Frenet |
|||
[[Image:patharray_FrenetMode.png|600px|left|Align false]] |
|||
{{clear}} |
|||
{{Docnav/fr |
{{Docnav/fr |
||
|[[ |
|[[Draft_CircularArray/fr|Réseau circulaire]] |
||
|[[Draft_PathLinkArray/fr|Réseau lié selon une courbe]] |
|[[Draft_PathLinkArray/fr|Réseau lié selon une courbe]] |
||
|[[ |
|[[Draft_Workbench/fr|Atelier Draft]] |
||
|IconL= |
|IconL=Draft_CircularArray.svg |
||
|IconR=Draft_PathLinkArray.svg |
|||
|IconC=Workbench_Draft.svg |
|IconC=Workbench_Draft.svg |
||
|IconR=Draft_PathLinkArray.svg |
|||
}} |
}} |
||
{{Draft Tools navi{{#translation:}}}} |
{{Draft Tools navi{{#translation:}}}} |
||
{{Userdocnavi{{#translation:}}}} |
{{Userdocnavi{{#translation:}}}} |
||
{{clear}} |
Latest revision as of 09:50, 21 April 2024
Draft Réseau selon une courbe |
Emplacement du menu |
---|
Modification → Outils pour les réseaux → 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 Draft réseau selon une courbe
Utilisation
- Sélectionner l'objet que vous souhaitez mettre en réseau.
- Ajouter l'objet trajectoire à la sélection. Il est également possible de sélectionner des arêtes à la place. Les arêtes doivent appartenir au même objet et doivent être connectées.
- Il existe plusieurs façons de lancer la commande :
- Appuyer sur le Réseau selon une courbe.
- Sélectionner l'option Modification → Outils pour les réseaux → Réseau selon une courbe du menu.
- Le réseau est créé.
- 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 et de l'orientation de l'objet source. La position de l'objet source est ignorée : pour les besoins du réseau, les valeurs x
, y
et z
sont fixées à 0
. Si la propriété DonnéesAlign du réseau est définie à false
, l'orientation des éléments du réseau est identique à celle de l'objet source. 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 (
LinkSubCaché
) - DonnéesLink Transform (
Bool
)
Alignment
- DonnéesAlign (
Bool
) : spécifie si les éléments du réseau sont alignés ou non le long du chemin. Si elle vautfalse
, toutes les autres propriétés de ce groupe, à l'exception de DonnéesExtra Translation ne s'appliquent pas et sont masquées. - DonnéesAlign Mode (
Enumeration
) : spécifie le mode d'alignement, qui peut êtreOriginal
,Frenet
ouTangent
. - DonnéesEnd Offset (
Length
) : spécifie la longueur entre la fin du chemin et la dernière copie. Elle doit être inférieure à la longueur du chemin moins DonnéesStart Offset. introduit dans la version 0.21 - DonnéesExtra Translation (
VectorDistance
) : spécifie un déplacement supplémentaire pour chaque élément le long du chemin. - DonnéesForce Vertical (
Bool
) : spécifie s'il faut remplacer la direction normale par défaut par la valeur de DonnéesVecteur Vertical. Utilisé uniquement si DonnéesAlign Mode estOriginal
ouTangent
. - DonnéesStart Offset (
Length
) : spécifie la longueur entre le début du chemin et la première copie. Elle doit être inférieure à la longueur du chemin. introduit dans la version 0.21 - DonnéesTangent Vector (
Vector
) : spécifie le vecteur d'alignement. Utilisé uniquement si DonnéesAlign Mode estTangent
. - DonnéesVertical Vector (
Vector
) : spécifie le remplacement de la direction normale par défaut. Utilisé uniquement si DonnéesVertical Vector esttrue
.
Objects
- DonnéesBase (
LinkGlobal
) : spécifie l'objet à dupliquer dans le réseau. - DonnéesCount (
Integer
) : spécifie le nombre d'éléments dans le réseau. - DonnéesExpand Array (
Bool
) : indique s'il faut développer le réseau dans la vue en arborescence pour permettre la sélection de ses éléments individuels. Disponible uniquement pour les réseaux de type lien (Link). - DonnéesFuse (
Bool
) : spécifie si les éléments qui se chevauchent dans le réseau sont fusionnés ou non. Non utilisé pour les réseaux de liens. introduit dans la version 0.22 - DonnéesPath Object (
LinkGlobal
) : spécifie l'objet à utiliser pour le chemin. Il doit contenirEdges
dans sa Part TopoShape. - DonnéesPath Subelements (
LinkSubListGlobal
) : spécifie une liste d'arêtes de DonnéesPath Object. Si elle est renseignée, seules ces arêtes sont utilisées pour le chemin.
Vue
Link
Les propriétés de ce groupe, à l'exception de la propriété héritée, ne sont disponibles que pour les réseaux liens (Link). Voir Std Créer un lien pour plus d'informations.
- VueDraw Style (
Enumeration
) - VueLine Width (
FloatConstraint
) - VueOverride Material (
Bool
) - VuePoint Size (
FloatConstraint
) - VueSelectable (
Bool
) : il s'agit d'une propriété héritée qui apparaît dans le groupe Sélection pour d'autres réseaux. - VueShape Material (
Material
)
Base
Les propriétés de ce groupe, à l'exception de la propriété héritée, ne sont disponibles que pour les réseaux liens (Link). Voir Std Créer un lien pour plus d'informations.
- Vue (Caché)Child View Provider (
PersistentObject
) - Vue (Caché)Material List (
MaterialList
) - Vue (Caché)Override Color List (
ColorList
) - Vue (Caché)Override Material List (
BoolList
) - Vue (Caché)Proxy (
PythonObject
): il s'agit d'une propriété héritée.
Display Options
Les propriétés de ce groupe sont des propriétés héritées. Voir Part Feature pour plus d'informations.
- VueBounding Box (
Bool
): cette propriété n'est pas héritée par les réseaux de liens (Link). - VueDisplay Mode (
Enumeration
): pour les réseaux de liens, il peut s'agir deLink
ouChildView
. Pour les autres réseaux, il peut s'agir de :Flat Lines
,Shaded
,Wireframe
ouPoints
- VueShow In Tree (
Bool
) - VueVisibility (
Bool
)
Draft
- VuePattern (
Enumeration
) : non utilisé. - VuePattern Size (
Float
) : non utilisé.
Object style
Les propriétés de ce groupe ne sont pas héritées par les réseaux de liens.
Script
Voir aussi : Autogenerated API documentation et FreeCAD Débuter avec les scripts.
Pour créer un réseau selon une courbe, utilisez la méthode make_path_array
(introduit dans la version 0.19) de l'atelier Draft. Cette méthode remplace la méthode dépréciée makePathArray
.
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)
base_object
est l'objet à mettre en réseau. Il peut également s'agir duLabel
(chaîne de caractères) d'un objet du document courant.path_object
est l'objet courbe. Il peut également s'agir duLabel
(chaîne de caractères) d'un objet du document courant.count
est le nombre d'éléments dans le réseau.extra
est un vecteur qui déplace chaque élément.subelements
est une liste d'arêtes depath_object
, par exemple["Bord1", "Bord2"]
. Si elle est renseignée, seules ces arêtes sont utilisées pour le chemin.- Si
align
estTrue
les éléments sont alignés le long de la courbe en fonction de la valeur dealign_mode
, qui peut être"Original"
,"Frenet"
ou"Tangent"
. tan_vector
est un vecteur unitaire qui définit la direction tangente locale des éléments le long de la courbe. Il est utilisé lorsquealign_mode
est"Tangent"
.- Si
force_vertical
estTrue
vertical_vector
est utilisé pour la direction Z locale des éléments le long de la courbe. Il est utilisé lorsquealign_mode
est"Original"
ou"Tangent"
. - Si
use_link
estTrue
, les éléments créés sont des App Links au lieu de copies ordinaires. path_array
est restitué avec l'objet réseau créé.
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()
- Drafting : Ligne, Polyligne, Congé, Arc, Arc par 3 points, Cercle, Ellipse, Rectangle, Polygone, B-spline, Courbe de Bézier cubique, Courbe de Bézier, Point, Surfaces liées, Formes à partir de texte, Hachure
- Annotation : Texte, Dimension, Étiquette, Éditeur de styles d'annotations, Widget d'échelle d'annotation.
- Modification : Déplacer,Pivoter,Échelle,Miroir, Décalage, Ajuster ou prolonger, Étirer, Cloner, Réseau orthogonal, Réseau polaire, Réseau circulaire, Réseau selon une courbe, Réseau lié selon une courbe, Réseau de points, Réseau lié selon des points, Éditer, Surligner les sous éléments, Joindre, Scinder, Agréger, Désagréger, Polyligne vers B-spline, Draft vers esquisse, Pente, Inverser le texte de la dimension, Vue 2D d'une forme
- Barre Draft : Plan de travail, Définir le style, Basculer en mode construction, Groupement automatique
- Aimantation : Verrouillage de l'aimantation, Aimantation terminaison, Aimantation milieu, Aimantation centre, Aimantation angle, Aimantation intersection, Aimantation perpendiculaire, Aimantation extension, Aimantation parallèle, Aimantation spéciale, Aimantation au plus proche, Aimantation orthogonal, Aimantation grille, Aimantation plan de travail, Aimantation dimensions, Basculer la grille
- Utilitaires : Appliquer le style, Calque, Gestionnaire de calques, Nommer un groupe, Déplacer vers un groupe, Sélection groupée, Ajouter au groupe de construction, Mode d'affichage, Proxy de plan de travail, Réparer, Barre d'aimantation
- Additionnels : Contrainte, Motif, Préférences, Préférences d'Import Export, DXF/DWG, SVG, OCA, DAT
- Menu contextuel :
- Conteneur du calque : Fusionner les calques en double, Ajouter un nouveau calque
- Calque : Groupement automatique, Sélection groupée
- Texte : Ouvir les hyperliens
- Filaire : Aplatir
- Proxy de plan de travail : Enregistrer la position de la caméra, Enregistrer l'état des objets
- Démarrer avec FreeCAD
- Installation : Téléchargements, Windows, Linux, Mac, Logiciels supplémentaires, Docker, AppImage, Ubuntu Snap
- Bases : À propos de FreeCAD, Interface, Navigation par la souris, Méthodes de sélection, Objet name, Préférences, Ateliers, Structure du document, Propriétés, Contribuer à FreeCAD, Faire un don
- Aide : Tutoriels, Tutoriels vidéo
- Ateliers : Std Base, Arch, Assembly, CAM, Draft, FEM, Inspection, Mesh, OpenSCAD, Part, PartDesign, Points, Reverse Engineering, Robot, Sketcher, Spreadsheet, Start, Surface, TechDraw, Test, Web