Draft OrthoArray/fr: Difference between revisions

From FreeCAD Documentation
(Created page with "{{TitleProperty|Réseau polaire/circulaire}} * {{PropertyData/fr|Axis|Vector}}: direction de l'axe autour de laquelle les éléments d'un réseau polaire ou circulaire sont cr...")
No edit summary
Line 84: Line 84:
* {{PropertyData/fr|Center|VectorDistance}}: spécifie le point central du réseau polaire ou circulaire. {{PropertyData/fr|Axis}} passe par ce point. Pour les réseaux circulaires, le {{PropertyData/fr|Center}} spécifie un décalage par rapport au {{PropertyData/fr|Placement}} de l'objet {{PropertyData|Base}}.
* {{PropertyData/fr|Center|VectorDistance}}: spécifie le point central du réseau polaire ou circulaire. {{PropertyData/fr|Axis}} passe par ce point. Pour les réseaux circulaires, le {{PropertyData/fr|Center}} spécifie un décalage par rapport au {{PropertyData/fr|Placement}} de l'objet {{PropertyData|Base}}.


{{TitleProperty|Réseau polaire}}
<div class="mw-translate-fuzzy">
Pour un réseau polaire:
* {{PropertyData/fr|Angle|Angle}}: spécifie l'ouverture de l'arc circulaire à couvrir de copies; utilisez 360 pour couvrir un cercle entier.
* {{PropertyData/fr|Angle|Angle}}: spécifie l'ouverture de l'arc circulaire à couvrir de copies; utilisez 360 pour couvrir un cercle entier.
* {{PropertyData/fr|AxisReference|Link}}: spécifie le lien vers une arête (par exemple DatumLine) qui remplace à la fois l'axe et la propriété du centre.
* {{PropertyData/fr|Interval Axis|VectorDistance}}: distance et orientation de chaque copie dans la direction {{PropertyData/fr|Axis}}.
* {{PropertyData/fr|Axis|Vector}}: spécifie la direction normale du réseau circulaire
* {{PropertyData/fr|Number Polar|Integer}}: nombre de copies dans la direction polaire.
* {{PropertyData/fr|Center|VectorDistance}}: spécifie le point central du
* {{PropertyData/fr|Interval Axis|VectorDistance}}: spécifie l'intervalle entre chaque copie dans la direction {{PropertyData|Axis}}.
* {{PropertyData/fr|Number Polar|Integer}}: spécifie le nombre de copies à placer dans l'arrangement circulaire.
</div>


<div class="mw-translate-fuzzy">
<div class="mw-translate-fuzzy">

Revision as of 15:31, 4 July 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 lié 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 n'importe quel objet possédant une Part TopoShape, c'est-à-dire des formes 2D créées avec l'atelier Draft mais également des solides 3D créés avec d'autres ateliers, par exemple, Part, PartDesign ou Arch. Il peut également créer des App Links au lieu de simples copies.

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

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

Utilisation

  1. Sélectionnez l'objet que vous souhaitez dupliquer.
  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. Vous pouvez cliquer sur la vue 3D pour configurer tous les nombres et intervalles et terminer la commande. Sinon, appuyez simplement sur Entrée ou sur le bouton OK pour terminer l'opération.

Remarques

  • Chaque élément du réseau est un clone exact de l'objet d'origine mais l'ensemble du réseau est considéré comme une seule unité en termes de propriétés et d'apparence.
  • Cette commande crée le même objet "Réseau" paramétrique que celui créé avec le Draft Réseau polaire et Draft Réseau circulaire. Par conséquent, le réseau peut être converti en orthogonal, polaire ou circulaire en modifiant sa propriété DonnéesArray Type.

Options

Ce sont les options affichées dans Panneau des tâches

  • Number of elements: éléments dans les directions X, Y et Z. Une copie de l'objet d'origine est toujours produite, donc ce nombre doit être au moins 1 dans toutes les directions.
  • X intervals: 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).
  • Y intervals: 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).
  • Z intervals: 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).
  • Reset X, Y, Z: il réinitialise les vecteurs d'intervalle à un déplacement rectangulaire, c'est-à-dire (x, 0, 0), (0, y, 0) et (0, 0, z).
  • 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.
  • Appuyez sur Echap ou sur le bouton Annuler pour annuler la commande en cours.

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

Un Draft Réseau orthogonal est dérivé de Part Feature (classe Part::Feature). Il partage donc toutes les propriétés de ce dernier. Outre les propriétés décrites dans Part Feature, le Réseau orthogonal possède les propriétés suivantes dans l'Éditeur de propriétés

Objects

  • DonnéesArray Type (Enumeration): spécifie le type de réseau à créer "ortho", "polar" ou "circular".
  • DonnéesAxis Reference (LinkGlobal): spécifie l'objet et l'arête qui peuvent être utilisés comme référence pour les réseaux polaires et circulaires. Par exemple, il peut s'agir du bord d'un Draft Fil ou d'un PartDesign Ligne de référence. Si cette propriété existe, elle remplace à la fois DonnéesAxis et DonnéesCenter, pour les réseaux polaires et circulaires.
  • DonnéesBase (Link): spécifie l'objet à dupliquer dans le réseau.
  • DonnéesFuse (Bool): par défaut réglé à false; 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" (réseau lié).

Réseau orthogonal:

  • DonnéesInterval X (VectorDistance): vecteur spécifiant l'intervalle entre chaque copie sur l'axe X.
  • DonnéesInterval Y (VectorDistance): vecteur spécifiant l'intervalle entre chaque copie sur l'axe Y.
  • DonnéesInterval Z (VectorDistance): vecteur spécifiant l'intervalle entre chaque copie sur l'axe Z.
  • DonnéesNumber X (Integer): nombre de copies sur la direction X. L'objet Template:PropertyData/ compte comme une copie. Il doit être d'au moins 1.
  • DonnéesNumber Y (Integer): nombre de copies selon la direction Y.
  • DonnéesNumber Z (Integer): nombre de copies selon la direction Z.

Réseau polaire/circulaire

  • DonnéesAxis (Vector): direction de l'axe autour de laquelle les éléments d'un réseau polaire ou circulaire sont créés.
  • DonnéesCenter (VectorDistance): spécifie le point central du réseau polaire ou circulaire. DonnéesAxis passe par ce point. Pour les réseaux circulaires, le DonnéesCenter spécifie un décalage par rapport au DonnéesPlacement de l'objet DonnéesBase.

Réseau polaire

  • DonnéesAngle (Angle): spécifie l'ouverture de l'arc circulaire à couvrir de copies; utilisez 360 pour couvrir un cercle entier.
  • DonnéesInterval Axis (VectorDistance): distance et orientation de chaque copie dans la direction DonnéesAxis.
  • DonnéesNumber Polar (Integer): nombre de copies dans la direction polaire.

Pour un réseau circulaire:

  • DonnéesNumber Circles (Integer): le nombre de couches circulaires à créer. Ce doit être au moins un.
  • DonnéesRadial distance (Distance): la distance d'un élément dans une couche circulaire à l'élément suivant dans une autre couche.
  • DonnéesSymmetry (Integer): un nombre qui indique les lignes de symétrie dans les couches circulaires. Ce nombre modifie la distribution des objets et le rendre très grand peut éliminer les couches centrales de copies.
  • DonnéesTangential Distance (Distance): la distance d'un élément dans une couche circulaire à l'élément suivant dans la même couche.

Réseau selon un chemin

En plus des propriétés précédentes, ces propriétés n'apparaissent que lorsque le tableau est créé en tant que Réseau selon un chemin.

  • DonnéesCount (Integer): c'est le nombre total d'objets dans le réseau y compris l'objet d'origine.
  • DonnéesExpand Array (Bool): par défaut false; s'il s'agit de true, il affichera tous les éléments du tableau dans la vue en arborescence
  • DonnéesScale (Float): spécifie l'échelle du réseau résultant, comme s'il s'agissait d'un Draft Clone.
  • DonnéesLink Transform (Bool): il est par défaut false. S'il est true, il pourra être transformé.

Remarques

La propriété number, soit en X, Y, Z, polaire ou en cercles, inclut également l'objet d'origine, donc ce nombre doit être au moins 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.

L'outil Réseau 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.

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

array = makeArray(baseobject, xvector, yvector, zvector, xnum, ynum, znum, use_link=False)

New call:

array = make_ortho_array(base_object,
                         v_x=App.Vector(10, 0, 0), v_y=App.Vector(0, 10, 0), v_z=App.Vector(0, 0, 10),
                         n_x=2, n_y=2, n_z=1,
                         use_link=True)
array = make_ortho_array2d(base_object,
                           v_x=App.Vector(10, 0, 0), v_y=App.Vector(0, 10, 0),
                           n_x=2, n_y=2,
                           use_link=True)
  • Crée un Array objet à partir du baseobject donné.
  • Dans le cas d'un réseau rectangulaire, xvector, yvector et zvector déterminent la distance entre les points de base de chaque copie dans les directions X, Y et Z. 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 réseau, totalangle est l'angle de l'arc en degrés à recouvrir de copies et totalnum est le nombre de copies à disposer autour du cercle y compris l'objet d'origine.
  • Si use_link est True, le réseau résultant sera un réseau Link (chemin) et aura des propriétés supplémentaires.
array = make_rect_array(base_object,
                        d_x=10, d_y=10, d_z=10,
                        n_x=2, n_y=2, n_z=1,
                        use_link=True)
array = make_rect_array2d(base_object,
                          d_x=10, d_y=10,
                          n_x=2, n_y=2,
                          use_link=True)
  • The _rect_ variants ignore the off-diagonal components of the v_x, v_y, and v_z vectors, so the arrays will be completely rectangular; the distance between the elements is determined by d_x, d_y, and d_z.

Exemple:

import FreeCAD as App
import Draft

doc = App.newDocument()

rect = Draft.make_rectangle(1500, 500)
v_x = App.Vector(1600, 0, 0)
v_y = App.Vector(0, 600, 0)

array = Draft.make_ortho_array2d(rect, v_x, v_y, 3, 4)
doc.recompute()

Réseau simple

When using the OrthoArray tool, a parametric "Array" object is created. This can be scripted as described in the previous section.

La signature de base est la suivante :

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

array_list = array(objectslist, xvector, yvector, xnum, ynum)
array_list = array(objectslist, xvector, yvector, zvector, xnum, ynum, znum)
  • Crée un réseau à partir des objets contenus dans objectslist qui peut être un seul objet ou une liste d'objets.
  • Dans le cas d'un réseau rectangulaire, xvector, yvector et zvector déterminent la distance entre les points de base de chaque copie, dans les directions X, Y et Z. 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 réseau, totalangle est l'angle de l'arc en degrés à recouvrir de copies et totalnum est le nombre de copies à disposer autour du cercle y compris l'objet d'origine.
  • array_list est retourné avec les nouvelles copies.
    • array_list est soit un objet unique soit une liste d'objets, selon l'entrée objectslist.

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

Exemple:

import FreeCAD as App
import Draft

doc = App.newDocument()

rect = Draft.make_rectangle(1500, 500)
v_x = App.Vector(1600, 0, 0)
v_y = App.Vector(0, 600, 0)

array = Draft.array(rect, v_x, v_y, 3, 4)
doc.recompute()