Draft OrthoArray/fr: Difference between revisions

From FreeCAD Documentation
(Created page with "* Interval X: les valeurs de déplacement pour les copies dans la direction X. Pour créer des tableaux strictement rectangulaires, les valeurs Y et Z doivent être nulles {{V...")
(Created page with "{{Emphasis|Remarque:}} si un Link array est créé, cet objet ne peut pas être converti en réseau standard. De même, un réseau standard ne peut pas être converti en Link...")
Line 54: Line 54:
* Link array: s'il est coché, le tableau résultant sera un "tableau de liens". Ce tableau utilise en interne des objets [[App_Link/fr|App Link]], il est donc plus efficace lors de la gestion de nombreuses copies de formes complexes. Cependant, dans ce cas, les objets ne peuvent pas être fusionnés ensemble.
* Link array: s'il est coché, le tableau résultant sera un "tableau de liens". Ce tableau utilise en interne des objets [[App_Link/fr|App Link]], il est donc plus efficace lors de la gestion de nombreuses copies de formes complexes. Cependant, dans ce cas, les objets ne peuvent pas être fusionnés ensemble.


{{Emphasis|Note:}} if a Link array is created, this object cannot be converted to a regular array. And similarly, a regular array cannot be converted to a Link array. Therefore, you must choose the type of array that you want at creation time.
{{Emphasis|Remarque:}} si un Link array est créé, cet objet ne peut pas être converti en réseau standard. De même, un réseau standard ne peut pas être converti en Link array. Par conséquent, vous devez choisir le type de réseau que vous souhaitez au moment de la création.


== Properties ==
== Properties ==

Revision as of 11:34, 22 March 2020

Draft Réseau orthogonal

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

Description

L'outil Draft Réseau orthogonal crée un Réseau orthogonal (3 axes) à partir d'un objet sélectionné.

Cet outil peut être utilisé sur des formes 2D créées avec l'atelier Draft mais peut également être utilisé sur de nombreux types d'objets 3D tels que ceux créés avec l'atelier Part ou l'atelier PartDesign. Il fonctionne sur tous les objets qui ont une Part TopoShape. Il peut également créer App Links au lieu de simples copies.

Cette commande déprécie le Draft Réseau ainsi que les outils LinkArray.

Un réseau orthogonal à partir d'un objet solide

Utilisation

  1. Sélectionnez un objet avec lequel vous souhaitez créer un tableau.
  2. Appuyez sur le bouton Draft Réseau orthogonal. Si aucun objet n'est sélectionné, vous serez invité à en sélectionner un.
  3. Le Panneau des tâches est lancé où vous pouvez sélectionner le nombre d'éléments dans chaque direction X, Y, Z et l'intervalle entre chaque élément créé.
  4. Appuyez sur OK pour terminer l'opération.

Une fois le réseau créé, vous pouvez le sélectionner dans la vue en arborescence, vous pouvez donc modifier ses propriétés dans l'Éditeur de propriétés y compris en changeant le nombre des éléments ou même en changeant son type en "polaire" ou "circulaire".

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.

Options

  • Interval X: les valeurs de déplacement pour les copies dans la direction X. Pour créer des tableaux strictement rectangulaires, les valeurs Y et Z doivent être nulles (x, 0, 0).
  • Interval Y: les valeurs de déplacement pour les copies dans la direction Y. Pour créer des tableaux strictement rectangulaires, les valeurs X et Z doivent être nulles (0, y, 0).
  • Interval Z: les valeurs de déplacement pour les copies dans la direction Z. Pour créer des tableaux strictement rectangulaires, les valeurs X et Y doivent être nulles (0, 0, z).
  • Nombre d'éléments: les éléments dans les directions X, Y et Z. Une copie de l'objet d'origine est produite, donc ce nombre doit être au moins 1 dans toutes les directions.
  • Fuse: si elle est cochée, les objets résultants dans le tableau fusionneront s'ils se touchent. Cela ne fonctionne que si "Link array" n'est pas coché.
  • Link array: s'il est coché, le tableau résultant sera un "tableau de liens". Ce tableau utilise en interne des objets App Link, il est donc plus efficace lors de la gestion de nombreuses copies de formes complexes. Cependant, dans ce cas, les objets ne peuvent pas être fusionnés ensemble.

Remarque: si un Link array est créé, cet objet ne peut pas être converti en réseau standard. De même, un réseau standard ne peut pas être converti en Link array. Par conséquent, vous devez choisir le type de réseau que vous souhaitez au moment de la création.

Properties

  • DonnéesBase: specifies the object to duplicate in the array.
  • DonnéesArray Type (Enumeration): specifies the type of array to create, "ortho", "polar", or "circular".
  • DonnéesFuse: if it is true, and the copies intersect with each other, they will be fused together into a single shape. This only works if the initial array was not a "Link array".

For orthogonal arrays:

  • DonnéesInterval X: specifies the interval between each copy on the X axis.
  • DonnéesInterval Y: specifies the interval between each copy on the Y axis.
  • DonnéesInterval Z: specifies the interval between each copy on the Z axis.
  • DonnéesNumber X: specifies the number of copies on the X axis.
  • DonnéesNumber Y: specifies the number of copies on the Y axis.
  • DonnéesNumber Z: specifies the number of copies on the Z axis.

For polar arrays:

  • DonnéesAxis: specifies the normal direction of the array circle.
  • DonnéesCenter: specifies the center point of the array circle.
  • DonnéesAngle: specifies the aperture of the circular arc to cover with copies; use 360 to cover an entire circle.
  • DonnéesNumber Polar: specifies the number of copies to place in the circular arrangement.
  • DonnéesInterval Axis: specifies the interval between each copy on the DonnéesAxis direction.

For circular arrays:

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

The number property, either X, Y, Z, or Polar, also includes the original object, so this number will be at least one.

An interval is not a simple distance, but a vector (x, y, z). If more than one value is non-zero, the copy will be created in the main direction, but will also be displaced in the other non-zero directions.

For example, if DonnéesInterval X is (2 m, 1 m, 1 m), and DonnéesNumber X is 3, it will create 3 copies in the X direction; the first copy will be at the original position, the second will be displaced 2 m on X, 1 m on Y, and 1 m on Z; the third copy will be displaced 4 m on X, 2 m on Y, and 2 m on Z. Each array element will be moved slightly to one side (Y direction) and up (Z direction) beside the main X direction.

The DonnéesInterval Axis property works in the same way. If the original shape lies on the XY plane, creating a polar array with DonnéesInterval Axis (0, 0, z) allows you to make spiral arrangements.

Scripting

See also: Draft API and FreeCAD Scripting Basics.

The Array tool can be used in macros and from the Python console by using two different functions, depending on if you wish to obtain standalone copies of your base object, or a parametric array object that stays linked to the original object.

Simple array

The basic signature is as follows:

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

To create a rectangular array, use it like this:

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

To create a polar array, use it like this:

array_list = array(objectslist, center, totalangle, totalnum)
  • Creates an array from the objects contained in objectslist, which can be a single object or a list of objects.
  • In case of a rectangular array, xvector, yvector, and zvector determine the distance between the base points of each copy, in the X, Y, and Z directions; and xnum, ynum, and znum are the number of copies in the respective direction.
  • In case of a polar array, center defines the center of the array circle, totalangle is the angle of the arc in degrees to cover with copies, and totalnum is the number of copies to arrange around the circle, including the original object.
  • array_list is returned with the new copies.
    • array_list is either a single object or a list of objects, depending on the input objectslist.

This function internally uses Draft.move() and Draft.rotate() with copy=True.

Example:

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)

Parametric array

The basic signature is as follows:

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

To create a rectangular array, use it like this:

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

To create a polar array, use it like this:

Array = makeArray(baseobject, center, totalangle, totalnum, name="Array")
  • Creates an Array object from the given baseobject.
  • In case of a rectangular array, xvector, yvector, and zvector determine the distance between the base points of each copy, in the X, Y, and Z directions; and xnum, ynum, and znum are the number of copies in the respective direction.
  • In case of a polar array, center defines the center of the array circle, totalangle is the angle of the arc in degrees to cover with copies, and totalnum is the number of copies to arrange around the circle, including the original object.

Example:

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)