Draft PolarArray/fr: Difference between revisions

From FreeCAD Documentation
(Created page with "Appel plus ancien:")
(Created page with "Nouvel appel:")
Line 78: Line 78:
}}
}}


Nouvel appel:
New call:
{{Code|code=
{{Code|code=
array = make_polar_array(base_object,
array = make_polar_array(base_object,

Revision as of 15:44, 5 July 2020

Draft Réseau polaire

Emplacement du menu
Modification → Array tools → Polar array
Ateliers
Draft
Raccourci par défaut
Aucun
Introduit dans la version
0.19
Voir aussi
Draft Réseau orthogonal, Draft Réseau circulaire, Draft Chemin pour série de copies, Draft Réseau lié selon une courbe, Draft Matrice de points, Draft Clone

Description

L'outil Draft PolarArray crée un réseau à partir d'un objet sélectionné en plaçant les copies le long d'une circonférence.

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.

Un réseau polaire d'un objet.

Utilisation

  1. Sélectionnez l'objet à partir duquel vous souhaitez créer un réseau.
  2. Appuyez sur le bouton Draft Polar array. Si aucun objet n'est sélectionné, vous serez invité à en sélectionner un avant de continuer.
  3. Le Panneau des tâches est lancé où vous pouvez sélectionner la distance radiale, la distance tangentielle, le nombre de couches circulaires, le paramètre de symétrie et le centre de l'axe de rotation.
  4. Vous pouvez cliquer sur la vue 3D pour définir simultanément la position du centre de rotation et terminer la commande. Sinon, appuyez simplement sur Entrée ou sur le bouton OK pour terminer l'opération.

Remarques

  • Par défaut, l'axe de rotation est l'axe Z positif (0, 0, 1). Ceci peut être modifié dans l'Éditeur de propriétés après la création de l'objet.
  • Chaque élément du tableau 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 orthogonal et Draft Réseau circulaire. Par conséquent, le tableau 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

  • Polar angle: l'angle qui détermine où le dernier élément du réseau sera placé dans l'arrangement polaire. L'angle est positif dans le sens anti-horaire et négatif dans le sens horaire.
  • Number of elements: le nombre d'éléments dans le tableau. Minimum de 2, maximum de 99.
  • Center of rotation: les coordonnées par lesquelles passe l'axe de rotation.
  • Reset point: il réinitialise le centre de rotation à l'origine (0, 0, 0).
  • 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 "Link array". Ce tableau utilise en interne des objets App Link, il est donc plus efficace lors du traitement 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 objet Draft Réseau polaire en interne est le même objet produit avec l'outil Draft Réseau orthogonal. Il est basé sur Part Feature (classe Part::Feature) et partage ainsi toutes les propriétés de ce dernier.

Voir l'outil Draft Réseau orthogonal pour la description complète des propriétés. Toutes les propriétés s'appliquent, à l'exception de celles des groupes Orthogonal array et Polar array.

Script

Voir aussi: Draft API et FreeCAD Scripts de Base.

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

Appel plus ancien:

array = makeArray(baseobject, center, totalangle, totalnum, use_link=False)

Nouvel appel:

array = make_polar_array(base_object,
                         number=5, angle=360, center=App.Vector(0, 0, 0),
                         use_link=True)
  • Crée un tableau à partir des objets contenus dans obj qui peut être un seul objet ou une liste d'objets.
  • La valeur de center est un vecteur qui définit le centre du cercle du tableau; angle est l'angle de l'arc en degrés et number est le nombre de copies dans le motif polaire y compris l'objet d'origine.
  • Si use_link est true, les copies créées seront App Links et non des copies régulières.
  • array_list est retourné avec les nouvelles copies.
    • array_list est soit un objet unique soit une liste d'objets selon l'entrée obj.

Exemple:

import FreeCAD as App
import Draft

doc = App.newDocument()

tri = Draft.make_polygon(3, 600)
center = App.Vector(-1600, 0, 0)

array = Draft.make_polar_array(tri, 8, 270, center)
doc.recompute()

Scripting, non-parametric array

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

However, to obtain standalone copies of the base object, the simple Draft.array function can be used. This will create simple copies, not a new parametric object.

To create a polar array, use it like this:

array_list = array(objectslist, center, angle, number)
  • Creates an array from the objects contained in objectslist, which can be a single object or a list of objects.
    • In case of a polar array, center defines the center of the array circle, angle is the angle of the arc in degrees to cover with copies, and number is the number of copies to arrange on the circular arc, not including the original object.
    • array_list is returned with the new copies. It is either a single object or a list of objects, depending on the input objectslist.

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

Example:

import FreeCAD as App
import Draft

doc = App.newDocument()

tri = Draft.make_polygon(3, 600)
center = App.Vector(-3200, 0, 0)

array_list = Draft.array(tri, center, 180, 5)
doc.recompute()