Draft Réseau orthogonal

From FreeCAD Documentation
Revision as of 13:12, 22 March 2020 by David69 (talk | contribs) (Created page with "{{Emphasis|Voir aussi:}} Draft API et FreeCAD Scripts de base.")

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.

Propriétés

  • DonnéesBase: spécifie l'objet à dupliquer dans le réseau.
  • DonnéesArray Type (Enumeration): spécifie le type de réseau à créer "ortho", "polar" ou "circular".
  • DonnéesFuse: si elle est réglée sur true et que les copies se croisent, elles seront fusionnées en une seule forme. Cela ne fonctionne que si le réseau initial n'était pas un "Link array".

Pour réseau orthogonal:

  • DonnéesInterval X: spécifie l'intervalle entre chaque copie sur l'axe X.
  • DonnéesInterval Y: spécifie l'intervalle entre chaque copie sur l'axe Y.
  • DonnéesInterval Z: spécifie l'intervalle entre chaque copie sur l'axe Z.
  • DonnéesNumber X: spécifie le nombre de copies sur l'axe X.
  • DonnéesNumber Y: spécifie le nombre de copies sur l'axe Y.
  • DonnéesNumber Z: spécifie le nombre de copies sur l'axe Z.

Pour un réseau polaire:

  • DonnéesAxis: spécifie la direction normale du réseau circulaire
  • DonnéesCenter: spécifie le point central du
  • DonnéesAngle: spécifie l'ouverture de l'arc circulaire à recevoir des copies; utilisez 360 pour couvrir un cercle entier.
  • DonnéesNumber Polar: spécifie le nombre de copies à placer dans l'arrangement circulaire.
  • DonnéesInterval Axis: spécifie l'intervalle entre chaque copie dans la direction DonnéesAxis.

Pour un réseau 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éesInterval X est égal à (2 m, 1 m, 1 m) et si DonnéesNumber 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éesInterval Axis fonctionne de la même manière. Si la forme d'origine se trouve sur le plan XY, la création d'un réseau polaire avec DonnéesInterval Axis (0, 0, z) vous permet de faire des arrangements en spirale.

Script

Voir aussi: Draft API et FreeCAD Scripts de base.

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)