Draft OrthoArray/fr: Difference between revisions

From FreeCAD Documentation
(Updating to match new version of source page)
No edit summary
Line 9: Line 9:
}}
}}


<div class="mw-translate-fuzzy">
{{GuiCommand/fr
{{GuiCommand/fr
|Name=Draft OrthoArray
|Name=Draft OrthoArray
Line 18: Line 17:
|SeeAlso=[[Draft_PolarArray/fr|Draft Réseau polaire]], [[Draft_CircularArray/fr|Draft Réseau circulaire]], [[Draft_PathArray/fr|Draft Réseau selon une courbe]], [[Draft_PathLinkArray|Draft Réseau lié selon une courbe]], [[Draft_PointArray/fr|Draft Réseau de points]], [[Draft_Clone/fr|Draft Clone]]
|SeeAlso=[[Draft_PolarArray/fr|Draft Réseau polaire]], [[Draft_CircularArray/fr|Draft Réseau circulaire]], [[Draft_PathArray/fr|Draft Réseau selon une courbe]], [[Draft_PathLinkArray|Draft Réseau lié selon une courbe]], [[Draft_PointArray/fr|Draft Réseau de points]], [[Draft_Clone/fr|Draft Clone]]
}}
}}
</div>


==Description==
==Description==

Revision as of 16:26, 5 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 DonnéesBase 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.

Réseau circulaire

  • DonnéesNumber Circles (Integer): nombre de couches circulaires à créer. L'objet DonnéesBase compte comme une couche. Il doit être d'au moins 1.
  • DonnéesRadial distance (Distance): distance entre les couches circulaires.
  • 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 les plus centrales.
  • DonnéesTangential Distance (Distance): distance entre les copies dans le même calque circulaire.

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.

Objets

  • DonnéesCount (Integer): (lecture seule) nombre total d'objets dans le réseau y compris l'objet d'origine. Cette propriété est en lecture seule car la valeur dépend des autres propriétés "Number", qu'elles soient orthogonales, polaires ou circulaires.
  • DonnéesExpand Array (Bool): si mis à true, les différents objets App Link seront disponibles à sélectionner dans la vue en arborescence.

Lien

  • DonnéesScale (Float): facteur d'échelle de l'ensemble du réseau.
  • DonnéesScale List (VectorList): liste de N-vecteurs déterminant le facteur d'échelle individuel de chacun des N-éléments du réseau, où N est DonnéesCount.
  • DonnéesLink Transform (Bool): si mis à false, il peut remplacer le placement de l'objet lié.

Remarques

Les propriétés "Number", que ce soit pour les réseaux orthogonaux, polaires ou circulaires, incluent l'objet d'origine, donc cette valeur doit être au moins une.

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, car chaque copie sera déplacée d'une distance de z.

Script

Voir aussi: Draft API et FreeCAD Scripts de base.

L'outil Réseau orthogonal peut être utilisé dans une macro et dans la console Python avec la fonction suivante:

Appel plus ancien:

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

Nouvel appel;

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 de base_object.
    • Les vecteurs v_x, v_y et v_z déterminent la distance entre les points de base de chaque copie, dans les directions X, Y et Z. n_x, n_y et n_z sont le nombre de copies dans la direction respective.
    • Si use_link est True, le type de réseau créé sera un réseau Link dont les éléments sont des instances de App Link au lieu de simples copies.
    • make_ortho_array2d ignore le composant Z, donc le résultat sera un tableau 2D dans le plan XY.
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)
  • Les variantes _rect_ ignorent les composants hors diagonale des vecteurs v_x, v_y et v_z de sorte que les réseaux seront complètement rectangulaire. La distance entre les éléments est déterminée par d_x, d_y et 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()

Script, réseau non paramétrique

Lorsque vous utilisez l'outil Draft OrthoArray, un objet paramétrique "Array" est créé. Cela peut être scripté comme décrit dans la section précédente.

Cependant, pour obtenir des copies autonomes de l'objet de base, la simple fonction Draft.array peut être utilisée. Cela créera des copies simples, pas un nouvel objet paramétrique.

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.
    • array_list est retourné avec les nouvelles copies. C'est soit un objet unique soit une liste d'objets, selon l'entrée objectslist.

Cette fonction utilise en interne Draft.move() 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()