Draft Array/fr: Difference between revisions

From FreeCAD Documentation
mNo edit summary
No edit summary
(32 intermediate revisions by 3 users not shown)
Line 1: Line 1:
<languages/>
<languages/>
{{Docnav/fr
{{Docnav/fr|[[Draft_Draft2Sketch/fr|Draft to Sketch]]|[[Draft_PathArray/fr|Path Array]]|[[Draft_Module/fr|Draft]]|IconL=Draft_Draft2Sketch.svg|IconC=Workbench_Draft.svg|IconR=Draft_PathArray.svg}}
|[[Draft_Draft2Sketch/fr|Draft vers Sketch]]
|[[Draft_LinkArray/fr|Link Array]]
|[[Draft_Module/fr|Draft]]
|IconL=Draft_Draft2Sketch.svg
|IconC=Workbench_Draft.svg
|IconR=Draft_LinkArray.svg
}}


{{GuiCommand/fr
{{GuiCommand/fr|Name=Draft Array|Name/fr=Réseau Draft|MenuLocation=Draft → Réseau|Workbenches=[[Draft Module/fr|Draft]], [[Arch Module/fr|Arch]]|SeeAlso=[[Draft PathArray/fr|Chemin pour série de formes]], [[Draft PointArray/fr|Draft PointArray]], [[Draft Clone/fr|Draft Clone]]}}
|Name=Draft Array
|Name/fr=Réseau Draft
|MenuLocation=Draft → Réseau
|Workbenches=[[Draft Module/fr|Draft]], [[Arch Module/fr|Arch]]
|SeeAlso=[[Draft PathArray/fr|Chemin pour série de formes]], [[Draft PointArray/fr|Draft PointArray]], [[Draft Clone/fr|Draft Clone]]
}}


==Description==
==Description==
Line 9: Line 22:
Cet outil peut être utilisé sur des formes 2D créées avec l'[[Draft Workbench/fr|atelier Draft]], mais également sur de nombreux types d'objets 3D, tels que ceux créés avec l'[[Part Workbench/fr|atelier Part]] ou l'[[PartDesign Workbench/fr|atelier PartDesign]].
Cet outil peut être utilisé sur des formes 2D créées avec l'[[Draft Workbench/fr|atelier Draft]], mais également sur de nombreux types d'objets 3D, tels que ceux créés avec l'[[Part Workbench/fr|atelier Part]] ou l'[[PartDesign Workbench/fr|atelier PartDesign]].


Pour positionner les copies le long d'un chemin, utilisez l'[[Draft PathArray/fr|outil PathArray]]; 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 les outils [[Draft Move/fr|Draft déplacer]], [[Draft Rotate/fr|Draft rotation]], et [[Draft Clone/fr|Draft Clone]].
Pour positionner les copies le long d'un chemin, utilisez l'[[Draft PathArray/fr|outil PathArray]] ; 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 les outils [[Draft Move/fr|Draft déplacer]], [[Draft Rotate/fr|Draft rotation]], et [[Draft Clone/fr|Draft Clone]].


[[Image:Draft_Array_example.jpg|400px]]
[[Image:Draft_Array_example.jpg|400px]]
{{Caption|Un tableau orthogonal et un tableau polaire d'un objet solide}}
{{Caption|Un tableau orthogonal et un tableau polaire d'un objet solide}}

Circular Array a été ajouté à FreeCAD 0.19

[[Image:Draft_CircularArray_example.png|200px]]

{{Caption|Un réseau circulaire à partir d'un objet solide, l'objet au centre}}


==Utilisation==
==Utilisation==
Line 26: Line 45:


== Propriétés ==
== Propriétés ==
* {{PropertyData/fr|Base}}: spécifie l'objet à dupliquer dans le tableau.
* {{PropertyData/fr|Base}} : spécifie l'objet à dupliquer dans le tableau.
* {{PropertyData/fr|Array Type}}: spécifie le type de tableau à créer, soit "orthogonal" or "polaire".
* {{PropertyData/fr|Array Type}} : spécifie le type de tableau à créer, soit "orthogonal" or "polaire".
* {{PropertyData/fr|Fuse}}: si elle est réglée sur {{TRUE}} et que les copies se croisent, elles seront fusionnées en une seule forme.
* {{PropertyData/fr|Fuse}} : si elle est réglée sur {{TRUE}} et que les copies se croisent, elles seront fusionnées en une seule forme.


Pour une matrice orthogonale:
Pour une matrice orthogonale:
*{{PropertyData/fr|Interval X}}: L’intervalle entre chaque copie sur le premier axe
*{{PropertyData/fr|Interval X}} : L’intervalle entre chaque copie sur le premier axe
*{{PropertyData/fr|Interval Y}}: L’intervalle entre chaque copie sur le deuxième axe
*{{PropertyData/fr|Interval Y}} : L’intervalle entre chaque copie sur le deuxième axe
*{{PropertyData/fr|Interval Z}}: L’intervalle entre chaque copie sur le troisième axe
*{{PropertyData/fr|Interval Z}} : L’intervalle entre chaque copie sur le troisième axe
*{{PropertyData/fr|Number X}}: Le nombre de copies sur le premier axe
*{{PropertyData/fr|Number X}} : Le nombre de copies sur le premier axe
*{{PropertyData/fr|Number Y}}: Le nombre de copies sur le deuxième axe
*{{PropertyData/fr|Number Y}} : Le nombre de copies sur le deuxième axe
*{{PropertyData/fr|Number Z}}: Le nombre de copies sur le troisième axe
*{{PropertyData/fr|Number Z}} : Le nombre de copies sur le troisième axe


Pour une matrice polaire:
Pour une matrice polaire :
*{{PropertyData/fr|Axis}}: La direction normale de la matrice circulaire
*{{PropertyData/fr|Axis}} : La direction normale de la matrice circulaire
*{{PropertyData/fr|Center}}: Le point central de la matrice
*{{PropertyData/fr|Center}} : Le point central de la matrice
*{{PropertyData/fr|Angle}}: L'angle couvert par les copies
*{{PropertyData/fr|Angle}} : L'angle couvert par les copies
*{{PropertyData/fr|Number Polar}}: Le nombre de copies
*{{PropertyData/fr|Number Polar}} : Le nombre de copies
*{{PropertyData/fr|Interval Axis}}: spécifie l'intervalle entre chaque copie dans la direction {{PropertyData/fr|Axis}}.
*{{PropertyData/fr|Interval Axis}} : spécifie l'intervalle entre chaque copie dans la direction {{PropertyData/fr|Axis}}.

Pour une matrice circulaire:
* {{PropertyData/fr|Number Circles}}:
* {{PropertyData/fr|Radial distance}}:
* {{PropertyData/fr|Symmetry}}:
* {{PropertyData/fr|Tangential Distance}}:


Le nombre de propriétés, X, Y, Z ou Polar, inclut également l'objet d'origine. Ce nombre est donc au moins égal à un.
Le nombre de propriétés, X, Y, Z ou Polar, inclut également l'objet d'origine. Ce nombre est donc au moins égal à un.
Line 49: Line 74:
Un intervalle n'est pas une simple distance, mais un vecteur (x, y, z). Si plusieurs valeurs sont non nulles, la copie sera créée dans la direction principale, mais sera également déplacée dans les autres directions non nulles.
Un intervalle n'est pas une simple distance, mais un vecteur (x, y, z). Si plusieurs valeurs sont non nulles, la copie sera créée dans la direction principale, mais sera également déplacée dans les autres directions non nulles.


Par exemple, si l'{{PropertyData/fr|Intervalle X}} est égal à (2 m, 1 m, 1 m) et si {{PropertyData/fr|Nombre X}} est égal à 3, il créera 3 copies dans la direction X; la première copie sera à la position d'origine, la seconde sera déplacée de 2 m sur l'axe X, 1 m sur l'axe Y et 1 m sur l'axe Z; la troisième copie sera déplacée de 4 m sur l'axe X, de 2 m sur l'axe Y et de 2 m sur l'axe Z. Chaque élément de la matrice sera déplacé légèrement d'un côté (direction Y) et vers le haut (direction Z) à côté de la direction X principale.
Par exemple, si l'{{PropertyData/fr|Intervalle X}} est égal à (2 m, 1 m, 1 m) et si {{PropertyData/fr|Nombre X}} est égal à 3, il créera 3 copies dans la direction X ; la première copie sera à la position d'origine ; la seconde sera déplacée de 2 m sur l'axe X, 1 m sur l'axe Y et 1 m sur l'axe Z ; la troisième copie sera déplacée de 4 m sur l'axe X, de 2 m sur l'axe Y et de 2 m sur l'axe Z. Chaque élément de la matrice sera déplacé légèrement d'un côté (direction Y) et vers le haut (direction Z) à côté de la direction X principale.


La propriété {{PropertyData/fr|Axe d'intervalle}} fonctionne de la même manière. Si la forme d'origine repose sur le plan XY, la création d'un tableau polaire avec {{PropertyData/fr|Axe d'intervalle}} (0, 0, z) vous permet de réaliser des arrangements en spirale.
La propriété {{PropertyData/fr|Axe d'intervalle}} fonctionne de la même manière. Si la forme d'origine repose sur le plan XY, la création d'un tableau polaire avec {{PropertyData/fr|Axe d'intervalle}} (0, 0, z) vous permet de réaliser des arrangements en spirale.
Line 59: Line 84:


=== Simple réseau ===
=== Simple réseau ===
La signature de base est la suivante:
La signature de base est la suivante :

{{Code|code=
{{Code|code=
array_list = array(objectslist, arg1, arg2, arg3, arg4=None, arg5=None, arg6=None)
array_list = array(objectslist, arg1, arg2, arg3, arg4=None, arg5=None, arg6=None)
}}
}}


Pour créer un réseau rectangulaire, procédure à suivre:
Pour créer un réseau rectangulaire, procédure à suivre :

{{Code|code=
{{Code|code=
array_list = array(objectslist, xvector, yvector, xnum, ynum)
array_list = array(objectslist, xvector, yvector, xnum, ynum)
Line 70: Line 97:
}}
}}


Pour réseau polaire, utilisez-le comme ceci::
Pour réseau polaire, utilisez-le comme ceci :

{{Code|code=
{{Code|code=
array_list = array(objectslist, center, totalangle, totalnum)
array_list = array(objectslist, center, totalangle, totalnum)
}}
}}


* Crée un tableau à partir des objets contenus dans {{incode|objectlist}}, qui peut être un objet unique ou une liste d'objets.
<div class="mw-translate-fuzzy">
* Dans le cas d'un tableau rectangulaire, {{incode|xvector}}, {{incode|yvector}} et {{incode|zvector}} déterminent la distance entre les points de base de chaque copie, dans les directions X, Y et Z; et {{incode|xnum}}, {{incode|ynum}} et {{incode|znum}} sont le nombre de copies dans la direction respective.
* Crée un tableau avec les objets contenus dans la liste (qui peut être un objet ou une liste d'objets) avec, en cas de tableau rectangulaire, xnum d'itérations dans la direction x à la distance xvector entre les itérations, et même pour la direction y avec yvector et ynum, et même pour la direction z avec zvector et znum si cette version est utilisée. Dans le cas d'un réseau polaire, le centre est un vecteur, l'angle total est l'angle (en degrés) et le total est le nombre d'objets, y compris l'original.
* Dans le cas d'un réseau polaire, {{incode|center}} définit le centre du cercle du tableau, {{incode|totalangle}} est l'angle de l'arc en degrés pour couvrir les copies, et {{incode|totalnum} } est le nombre de copies à organiser autour du cercle, y compris l'objet d'origine.
* Cette fonction produit des copies autonomes de ou des objet(s) de base
* {{incode|array_list}} est renvoyé avec les nouvelles copies.
</div>
** {{incode|array_list}} est soit un objet unique, soit une liste d'objets, en fonction de l'entrée {{incode|objectlist}}.

Cette fonction utilise en interne {{incode|Draft.move()}} et {{incode|Draft.rotate()}} avec <code>copy = True</code>.


Exemple :
This function internally uses {{incode|Draft.move()}} and {{incode|Draft.rotate()}} with <code>copy=True</code>.


Example:
{{Code|code=
{{Code|code=
import FreeCAD, Draft
import FreeCAD, Draft
Line 93: Line 123:
=== Réseau paramétrique ===
=== Réseau paramétrique ===


The basic signature is as follows:
La signature de base est la suivante :

{{Code|code=
{{Code|code=
Array = makeArray(baseobject, arg1, arg2, arg3, arg4=None, arg5=None, arg6=None, name="Array")
Array = makeArray(baseobject, arg1, arg2, arg3, arg4=None, arg5=None, arg6=None, name="Array")
}}
}}


Pour un réseau rectangulaire, utilisez-le comme ceci :
<div class="mw-translate-fuzzy">

Pour un réseau rectangulaire:
</div>
{{Code|code=
{{Code|code=
Array = makeArray(baseobject, xvector, yvector, xnum, ynum, name="Array")
Array = makeArray(baseobject, xvector, yvector, xnum, ynum, name="Array")
Line 106: Line 136:
}}
}}


Pour un réseau polaire, utilisez-le comme ceci :
<div class="mw-translate-fuzzy">

Pour un réseau polaire:
</div>
{{Code|code=
{{Code|code=
Array = makeArray(baseobject, center, totalangle, totalnum, name="Array")
Array = makeArray(baseobject, center, totalangle, totalnum, name="Array")
}}
}}


* Crée un objet {{incode|Array}} à partir de {{incode|baseobject}} donné.
<div class="mw-translate-fuzzy">
* Dans le cas d'un tableau rectangulaire, {{incode|xvector}}, {{incode|yvector}} et {{incode|zvector}} déterminent la distance entre les points de base de chaque copie, dans les zones X, Y et Z directions; et {{incode|xnum}}, {{incode|ynum}} et {{incode|znum}} sont le nombre de copies dans la direction respective.
* Crée un réseau de l'objet sélectionné avec, dans le cas d'un réseau rectangulaire, xnum d'itérations dans la direction x à xvector distance entre les itérations, et même chose pour la direction y avec yvector et ynum, et pour zvector et znum si cette version est utilisée. Dans le cas d'un réseau polaire, le centre est un vecteur, totalangle est l'angle à couvrir (en degrés) et totalnum est le nombre d'objets, y compris l'original.
* Dans le cas d'un réseau polaire, {{incode|center}} définit le centre du cercle du tableau, {{incode|totalangle}} est l'angle de l'arc en degrés pour couvrir les copies, et {{incode|totalnum}} est le nombre de copies à organiser autour du cercle, y compris l'objet d'origine.
* Le résultat de cette fonction est un objet paramétrique Draft Array.
</div>


Exemple :
Exemple :
Line 132: Line 160:
}}
}}


{{Docnav/fr
{{Docnav/fr|[[Draft_Draft2Sketch/fr|Draft to Sketch]]|[[Draft_PathArray/fr|Path Array]]|[[Draft_Module/fr|Draft]]|IconL=Draft_Draft2Sketch.svg|IconC=Workbench_Draft.svg|IconR=Draft_PathArray.svg}}
|[[Draft_Draft2Sketch/fr|Draft vers Sketch]]
|[[Draft_LinkArray/fr|Link Array]]
|[[Draft_Module/fr|Draft]]
|IconL=Draft_Draft2Sketch.svg
|IconC=Workbench_Draft.svg
|IconR=Draft_LinkArray.svg
}}


{{Draft Tools navi/fr}}
{{Draft Tools navi/fr}}


{{Userdocnavi/fr}}
{{Userdocnavi/fr}}

{{clear}}
{{clear}}

Revision as of 14:09, 7 December 2019

Réseau Draft

Emplacement du menu
Draft → Réseau
Ateliers
Draft, Arch
Raccourci par défaut
Aucun
Introduit dans la version
-
Voir aussi
Chemin pour série de formes, Draft PointArray, Draft Clone

Description

L'outil Réseau (tableau ou copies multiples) crée une copie orthogonale (3 axes) ou un tableau polaire de l'objet sélectionné.

Cet outil 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 l'atelier Part ou l'atelier PartDesign.

Pour positionner les copies le long d'un chemin, utilisez l'outil PathArray ; 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 les outils Draft déplacer, Draft rotation, et Draft Clone.

Un tableau orthogonal et un tableau polaire d'un objet solide

Circular Array a été ajouté à FreeCAD 0.19

Un réseau circulaire à partir d'un objet solide, l'objet au centre

Utilisation

  1. Sélectionnez l'objet pour créer un réseau.
  2. Pressez le bouton Réseau Draft. Si aucun objet n'est sélectionné vous serez invité à en sélectionner un.
  3. 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 unité unique en termes de propriétés et d'apparence.

Options

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

Propriétés

  • DonnéesBase : spécifie l'objet à dupliquer dans le tableau.
  • DonnéesArray Type : spécifie le type de tableau à créer, soit "orthogonal" or "polaire".
  • DonnéesFuse : si elle est réglée sur true et que les copies se croisent, elles seront fusionnées en une seule forme.

Pour une matrice orthogonale:

  • DonnéesInterval X : L’intervalle entre chaque copie sur le premier axe
  • DonnéesInterval Y : L’intervalle entre chaque copie sur le deuxième axe
  • DonnéesInterval Z : L’intervalle entre chaque copie sur le troisième axe
  • DonnéesNumber X : Le nombre de copies sur le premier axe
  • DonnéesNumber Y : Le nombre de copies sur le deuxième axe
  • DonnéesNumber Z : Le nombre de copies sur le troisième axe

Pour une matrice polaire :

  • DonnéesAxis : La direction normale de la matrice circulaire
  • DonnéesCenter : Le point central de la matrice
  • DonnéesAngle : L'angle couvert par les copies
  • DonnéesNumber Polar : Le nombre de copies
  • DonnéesInterval Axis : spécifie l'intervalle entre chaque copie dans la direction DonnéesAxis.

Pour une matrice circulaire:

  • DonnéesNumber Circles:
  • DonnéesRadial distance:
  • DonnéesSymmetry:
  • DonnéesTangential Distance:

Le nombre de propriétés, X, Y, Z ou Polar, inclut également l'objet d'origine. Ce nombre est donc au moins égal à un.

Un intervalle n'est pas une simple distance, mais un vecteur (x, y, z). Si plusieurs valeurs sont non nulles, la copie sera créée dans la direction principale, mais sera également déplacée dans les autres directions non nulles.

Par exemple, si l'DonnéesIntervalle X est égal à (2 m, 1 m, 1 m) et si DonnéesNombre X est égal à 3, il créera 3 copies dans la direction X ; la première copie sera à la position d'origine ; la seconde sera déplacée de 2 m sur l'axe X, 1 m sur l'axe Y et 1 m sur l'axe Z ; la troisième copie sera déplacée de 4 m sur l'axe X, de 2 m sur l'axe Y et de 2 m sur l'axe Z. Chaque élément de la matrice sera déplacé légèrement d'un côté (direction Y) et vers le haut (direction Z) à côté de la direction X principale.

La propriété DonnéesAxe d'intervalle fonctionne de la même manière. Si la forme d'origine repose sur le plan XY, la création d'un tableau polaire avec DonnéesAxe d'intervalle (0, 0, z) vous permet de réaliser des arrangements en spirale.

Script

Voir aussi: Draft API et FreeCAD Scripts de base.

L'outil matrice peut être utilisé dans une macro et dans la console Python en utilisant une des fonctions suivantes, et dépend du résultat recherché, simple copie de l'objet ou une copie paramétrique qui sera dépendante de l'objet original.

Simple réseau

La signature de base est la suivante :

array_list = array(objectslist, arg1, arg2, arg3, arg4=None, arg5=None, arg6=None)

Pour créer un réseau rectangulaire, procédure à suivre :

array_list = array(objectslist, xvector, yvector, xnum, ynum)
array_list = array(objectslist, xvector, yvector, zvector, xnum, ynum, znum)

Pour réseau polaire, utilisez-le comme ceci :

array_list = array(objectslist, center, totalangle, totalnum)
  • Crée un tableau à partir des objets contenus dans objectlist, qui peut être un objet unique ou une liste d'objets.
  • Dans le cas d'un tableau rectangulaire, xvector, yvector et zvector déterminent la distance entre les points de base de chaque copie, dans les directions X, Y et Z; et xnum, ynum et znum sont le nombre de copies dans la direction respective.
  • Dans le cas d'un réseau polaire, center définit le centre du cercle du tableau, totalangle est l'angle de l'arc en degrés pour couvrir les copies, et {{incode|totalnum} } est le nombre de copies à organiser autour du cercle, y compris l'objet d'origine.
  • array_list est renvoyé avec les nouvelles copies.
    • array_list est soit un objet unique, soit une liste d'objets, en fonction de l'entrée objectlist.

Cette fonction utilise en interne Draft.move() et Draft.rotate() avec copy = True.

Exemple :

import FreeCAD, Draft

Rect = Draft.makeRectangle(1500, 500)

array_list = Draft.array(Rect, FreeCAD.Vector(1600, 0, 0), FreeCAD.Vector(0, 600, 0), 3, 4)

Réseau paramétrique

La signature de base est la suivante :

Array = makeArray(baseobject, arg1, arg2, arg3, arg4=None, arg5=None, arg6=None, name="Array")

Pour un réseau rectangulaire, utilisez-le comme ceci :

Array = makeArray(baseobject, xvector, yvector, xnum, ynum, name="Array")
Array = makeArray(baseobject, xvector, yvector, zvector, xnum, ynum, znum, name="Array")

Pour un réseau polaire, utilisez-le comme ceci :

Array = makeArray(baseobject, center, totalangle, totalnum, name="Array")
  • Crée un objet Array à partir de baseobject donné.
  • Dans le cas d'un tableau rectangulaire, xvector, yvector et zvector déterminent la distance entre les points de base de chaque copie, dans les zones X, Y et Z directions; et xnum, ynum et znum sont le nombre de copies dans la direction respective.
  • Dans le cas d'un réseau polaire, center définit le centre du cercle du tableau, totalangle est l'angle de l'arc en degrés pour couvrir les copies, et totalnum est le nombre de copies à organiser autour du cercle, y compris l'objet d'origine.

Exemple :

import FreeCAD, Draft

Rect = Draft.makeRectangle(1500, 500)
xvector = FreeCAD.Vector(1600, 0, 0)
yvector = FreeCAD.Vector(0, 600, 0)
Array = Draft.makeArray(Rect, xvector, yvector, 3, 4)

Tri = Draft.makePolygon(3, 600)
center = FreeCAD.Vector(-1600, 0, 0)
Array2 = Draft.makeArray(Tri, center, 360, 6)