Draft Réseau polaire

From FreeCAD Documentation
Revision as of 15:30, 5 July 2020 by David69 (talk | contribs)

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 des formes 2D créées avec l'atelier Draft mais également sur de nombreux types d'objets 3D tels que ceux créés avec l'atelier Part ou l'atelier PartDesign.

Pour positionner les copies sur une grille rectangulaire, utilisez Draft Réseau; pour vous positionner dans un motif circulaire, utilisez Draft réseau Circulaire; pour positionner des copies le long d'un chemin, utilisez Draft réseau sur un chemin; pour positionner les copies aux points spécifiés, utilisez Draft Matrice de points; pour créer des copies ou des clones et les placer manuellement, utilisez Draft Déplacer, Draft Rotation et Draft Clone.

Un réseau polaire d'un objet.

Utilisation

  1. Sélectionnez un objet à partir duquel vous souhaitez créer le réseau polaire.
  2. Appuyez sur le bouton Polar array. Si aucun objet n'est sélectionné, le Panneau des tâches s'ouvre mais vous devez toujours sélectionner un objet pour continuer.
  3. Choisissez l'angle polaire qui détermine où sera le dernier élément du réseau.
  4. Choisissez le nombre d'éléments dans le tableau. Minimum de 2, maximum de 99.
  5. Choisissez le centre de l'axe de rotation. Vous pouvez cliquer sur la vue 3D pour définir simultanément la position du centre de rotation et terminer la commande.
  6. Facultativement, vérifiez les options de fusible ou de lien.
  7. Appuyez sur OK pour terminer la commande.

Notes

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.
  • L'angle polaire est positif dans le sens anti-horaire et négatif dans le sens horaire.
  • 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.
  • Cette commande crée le même objet que celui créé avec les outils Draft Réseau et Draft Réseau polaire. Par conséquent, le réseau peut être converti en orthogonal, polaire ou circulaire en changeant simplement ses propriétés.

Options

These are the options displayed in the task panel.

  • Appuyez sur Reset point pour définir le centre de rotation sur l'origine (0, 0, 0).
  • Si la case Fuse est cochée, les objets résultants dans le tableau seront fusionnés en une seule forme, s'ils se touchent ou se croisent.
  • Si la case Use Links est cochée, les objets résultants dans le tableau seront référencées entre eux App Links au lieu de simples copies. Cela améliore l'utilisation de la mémoire du tableau, car le lien d'application réutilise la forme shape de l'objet d'origine et ne crée pas de nouvelles formes. Si cette option est utilisée, la case à cocher Fuse n'a aucun effet.
  • Appuyez sur Esc ou sur le bouton Cancel pour abandonner la commande en cours.

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.

Propriétés

Un objet Draft Réseau est basé sur Part Feature (classe Part::Feature) et partage ainsi toutes les propriétés de ce dernier. Outre les propriétés répertoriées dans Part Feature, l'objet Array possède des propriétés supplémentaires.

Voir l'outil Draft Réseau orthogonal pour les informations complètes.

Script

Voir aussi: Draft API et FreeCAD Scripts de Base.

L'outil Réseau (Array) peut être utilisé dans une macro et dans la console Python avec la commande:

Older call:

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

New call:

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()