Draft PointArray/fr: Difference between revisions

From FreeCAD Documentation
No edit summary
No edit summary
(41 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<languages/>
<languages/>
{{Docnav/fr
{{Docnav/fr
|[[Draft_PathArray/fr|Série de copies]]
|[[Draft_PathArray/fr|Réseau selon une courbe]]
|[[Draft_Clone/fr|Clone]]
|[[Draft_Clone/fr|Clone]]
|[[Draft_Module/fr|Atelier Draft]]
|[[Draft_Module/fr|Atelier Draft]]
Line 11: Line 11:
{{GuiCommand/fr
{{GuiCommand/fr
|Name=Draft PointArray
|Name=Draft PointArray
|Name/fr=Draft Matrice de points
|Name/fr=Draft Réseau de points
|Icon=Draft_PointArray.svg
|Icon=Draft_PointArray.svg
|Workbenches=[[Draft Module/fr|Draft]], [[Arch Module/fr|Arch]]
|Workbenches=[[Draft_Module/fr|Draft]], [[Arch_Module/fr|Arch]]
|MenuLocation=DraftMatrice de points
|MenuLocation=ModificationArray tools → Point Array
|Version=0.18
|Version=0.18
|SeeAlso=[[Draft_OrthoArray/fr|Draft Réseau orthogonal]], [[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/fr|Draft Réseau lié selon une courbe]], [[Draft_PointLinkArray/fr|Draft Réseau lié selon des points]], [[Draft_Clone/fr|Draft Clone]]
|SeeAlso=[[Draft Array/fr|Draft Matrice]], [[Draft PathArray/fr|Draft Chemin pour série de copies]]
}}
}}


==Description==
==Description==


L'outil PointArray place des copies d'une forme sélectionnée le long de divers points sélectionnés.
L'outil {{Button|[[Image:Draft_PointArray.svg|16px]] [[Draft PointArray/fr|Draft PointArray]]}} place des copies d'une forme sélectionnée le long de divers points sélectionnés.


L'outil Matrice de points peut être utilisé sur des formes 2D créées avec [[Draft Workbench/fr|Atelier Draft]], mais également sur de nombreux types d'objets 3D, tels que ceux créés avec [[Part Workbench/fr|Atelier Part]], [[PartDesign Workbench/fr|Atelier PartDesign]] ou [[Arch Workbench/fr|Atelier Arch]].
L'outil Réseau de points peut être utilisé sur n'importe quel objet ayant un [[Part_TopoShape/fr|Part TopoShape]], c'est-à-dire des formes 2D créées avec l'[[Draft_Workbench/fr|Atelier Draft]] mais aussi des solides 3D créés avec les [[Part_Workbench/fr|Atelier Part]], [[PartDesign_Workbench/fr|Atelier PartDesign]] ou [[Arch_Workbench/fr|Atelier Arch]].


* Pour créer des tableaux orthogonaux, polaires ou circulaires, utilisez le {{Button|[[File:Draft_OrthoArray.svg|16px]] [[Draft_OrthoArray/fr|Draft Réseau orthogonal]]}}, {{Button|[[File:Draft_PolarArray.svg|16px]] [[Draft_PolarArray/fr|Draft Réseau polaire]]}}, ou {{Button|[[File:Draft_CircularArray.svg|16px]] [[Draft_CircularArray/fr|Draft Réseau circulaire]]}}.
Pour positionner les copies dans un tableau orthogonal, utilisez [[Draft Array/fr|Matrice Draft]]. Pour positionner les copies le long d’un chemin, utilisez [[Draft PathArray/fr|Série de copies Draft]]. Pour créer des copies ou des clones et les placer manuellement, utilisez [[Draft Move/fr|Déplacer Draft]], [[Draft Rotate/fr|Rotation Draft]] et [[Draft Clone/fr|Clone Draft]].
* Pour positionner les copies [[App_Link|App Link]] aux points spécifiés, utilisez {{Button|[[File:Draft_PathLinkArray.svg|16px]] [[Draft_PathLinkArray/fr|Draft Réseau lié selon des points]]}}.
* Pour positionner les copies le long d'un chemin, utilisez {{Button|[[File:Draft_PathArray.svg|16px]] [[Draft_PathArray/fr|Draft Réseau selon une courbe]]}} ou {{Button|[[File:Draft_PathLinkArray.svg|16px]] [[Draft_PathLinkArray/fr|Draft Réseau lié selon une courbe]]}}.
* Pour créer des copies et les placer manuellement, utilisez {{Button|[[File:Draft_Move.svg|16px]] [[Draft_Move/fr|Draft Déplacer]]}} ou {{Button|[[File:Draft_Rotate.svg|16px]] [[Draft_Rotate/fr|Draft Rotation]]}}.
* Pour créer des copies exactes et les placer ou les mettre à l'échelle manuellement, utilisez {{Button|[[File:Draft_Clone.svg|16px]] [[Draft_Clone/fr|Draft Clone]]}} ou {{Button|[[File:Std_LinkMake.svg|16px]] [[Std_LinkMake/fr|Std LinkMake]]}}.


[[Image:Draft_PointArray_Example.png|400px]]
[[Image:Draft_PointArray_Example.png|400px]]
Line 32: Line 36:
==Utilisation==
==Utilisation==


# Sélectionnez un objet que vous souhaitez distribuer.
# Sélectionnez l'objet que vous souhaitez distribuer.
# Sélectionnez un point composé.
# Sélectionnez un point composé.
# Appuyez sur le bouton {{Button|[[Image:Draft_PointArray.svg|16px]] [[Draft PointArray/fr|Matrice des points]]}}.
# Appuyez sur le bouton {{Button|[[Image:Draft_PointArray.svg|16px]] [[Draft_PointArray/fr|Draft Réseau de points]]}}.

Pour créer un point composé, sélectionnez divers [[Draft Point/fr|Point Draft]] puis appuyez sur le bouton {{Button|[[Image:Draft Upgrade.svg|16px]] [[Draft Upgrade/fr|Mettre à niveau Draft]]}}.


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.
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.

=== Composé ponctuel ===

L'objet composé ponctuel peut être créé de différentes manières.
* Créez divers {{Button|[[File:Draft_Point.svg|16px]] [[Draft_Point/fr|Draft Points]]}} ou {{Button|[[File:Part_Point.svg|16px]] [[Part_Point/fr|Part Points]]}} puis appuyez sur {{Button|[[File:Part_Compound.svg|16px]] [[Part_Compound/fr|Part Composé]]}} pour créer le composé.
* Répétez la méthode précédente mais au lieu d'un composé, utilisez {{Button|[[Image:Draft_Upgrade.svg|16px]] [[Draft_Upgrade/fr|Draft Mettre à niveau]]}} pour créer un "Block".
* Créez un {{Button|[[File:Sketcher_NewSketch.svg|16px]] [[Sketch/fr|Esquisse]]}} et à l'intérieur ajoutez divers {{Button|[[File:Sketcher_CreatePoint.svg|16px]] [[Sketcher_CreatePoint/fr|Sketcher Points]]}}.

En substance, l'objet à utiliser en tant que composé doit avoir l'une des trois propriétés suivantes: {{PropertyData|Components}}, {{PropertyData|Links}} ou {{PropertyData|Geometry}}. A l'intérieur de ce composé, il doit y avoir être au moins un point avec les propriétés {{PropertyData|X}}, {{PropertyData|Y}} et {{PropertyData|Z}}.

{{Emphasis|Remarque:}} dans le cas de {{Button|[[File:Draft_Point.svg|16px]] [[Draft_Point/fr|Draft Point]]}} et {{Button|[[File:Part_Point.svg|16px]] [[Part_Point/fr|Part Point]]}} le réseau essaiera de positionner les copies en utilisant le {{PropertyData|Placement}} du point. Dans le cas d'un {{Button|[[File:Sketcher_CreatePoint.svg|16px]] [[Sketcher_CreatePoint/fr|Sketcher Point]]}}, la position sera prise à partir de ses attributs internes {{incode|X}}, {{incode|Y}} et {{incode|Z}}.

{{Emphasis|Remarque 2:}} pour {{Button|[[File:Draft_Point.svg|16px]] [[Draft_Point/fr|Draft Point]]}}, son {{PropertyData|Placement}} suit toujours les valeurs de {{PropertyData|X}}, {{PropertyData|Y}}, {{PropertyData|Z}}. Il suffit donc de modifier ces valeurs pour produire le déplacement souhaité. Cependant, pour {{Button|[[File:Part_Point.svg|16px]] [[Part_Point/fr|Part Point]]}}, le déplacement net est donné par la somme de {{PropertyData|Placement}} avec le vecteur de composantes {{PropertyData|X}}, {{PropertyData|Y}} et {{PropertyData|Z}}.


==Options==
==Options==
Line 46: Line 61:
==Propriétés==
==Propriétés==


Un [[Draft_PointArray/fr|Draft Réseau de points]] est dérivé de [[Part_Feature/fr|Part Feature]] (classe {{incode|Part::Feature}}). Il partage donc toutes les propriétés de ce dernier. Outre les propriétés décrites dans [[Part_Feature/fr|Part Feature]], le Réseau de points possède les propriétés suivantes dans l'[[Property_editor/fr|Éditeur de propriétés]]
* {{PropertyData/fr|Base}}: spécifie l'objet à dupliquer.

* {{PropertyData/fr|Count}}: (en lecture seule) spécifie le nombre de copies de l'objet de base. Ce nombre dépendra du nombre de [[Draft Point/fr|Point Draft]] dans le composé.
{{TitleProperty|Objects}}
* {{PropertyData/fr|PointList}}: spécifie un objet composé avec des objets ponctuels indiquant l'emplacement des copies de l'objet {{PropertyData/fr|Base}}.
{{PropertyData/fr|Base}} objet qui apparaît.
* {{PropertyData/fr|Base|Link}}: l'objet à dupliquer; il doit avoir une [[Part_TopoShape/fr|Part TopoShape]].
* {{PropertyData/fr|Count|Integer}}: (lecture seule) spécifie le nombre de copies dans le tableau. Cette propriété est en lecture seule car le nombre de copies est déterminé par le nombre de points à l'intérieur de {{PropertyData/fr|Point Object}}.
L'objet composé doit avoir un attribut {{PropertyData/fr|Links}}, {{PropertyData/fr|Componets}}, ou {{PropertyData/fr|Geometry}}. Chacun des objets à l'intérieur du composé devrait être un [[Draft Point/fr|Draft Points]] qui a des attributs {{PropertyData/fr|X}}, {{PropertyData/fr|Y}}, et {{PropertyData/fr|Z}} .
* {{PropertyData/fr|Extra Placement|Placement}}: spécifie un [[Placement/fr|placement]] supplémentaire, traduction et rotation, qui sera appliqué à chaque copie du tableau. Chaque copie apparaît normalement avec la même rotation que l'objet {{PropertyData/fr|Base}} ; avec cette propriété, il est possible de fournir une rotation supplémentaire, ou de contrer la rotation d'origine, et de faire de petits ajustements à la position des copies. {{Version/fr|0.19}}
Les composés pourraient être créés avec les attributs [[Part MakeCompound/fr|Part MakeCompound]] ({{PropertyData/fr|Links}}) ou avec les attributs [[Draft Upgrade/fr|Draft Upgrade]] ({{PropertyData/fr|Componets}}).
* {{PropertyData/fr|Point Object|Link}}: spécifie un objet composé avec des points qui indiquent où les copies de l'objet {{PropertyData/fr|Base}} apparaîtront. L'objet composé doit avoir l'une des propriétés {{PropertyData/fr|Links}}, {{PropertyData/fr|Components}} ou {{PropertyData/fr|Geometry}} et contenir au moins un élément avec {{PropertyData/fr|X}}, {{PropertyData/fr|Y}} et {{PropertyData/fr|Z}} attributs.


==Script==
==Script==
Line 57: Line 73:


L'outil PointArray peut être utilisé à l'intérieur d'une [[macros/fr|macro]], et, à partir de la console [[Python/fr|Python]] , en utilisant la fonction suivante :
L'outil PointArray peut être utilisé à l'intérieur d'une [[macros/fr|macro]], et, à partir de la console [[Python/fr|Python]] , en utilisant la fonction suivante :

Appel plus ancien
{{Code|code=
{{Code|code=
PointArray = makePointArray(base, ptlst)
point_array = makePointArray(base_object, point_object)
}}
}}


Nouvel appel
* Crée un objet {{incode|PointArray}} à partir de l'objet {{incode|base}} en plaçant les copies le long de {{incode|ptlst}}.
{{Code|code=
* {{incode|ptlst}} est un objet avec les attributs {{incode|Geometry}}, {{incode|Links}} ou {{incode|Components}} qui définissent la position des copies.
point_array = make_point_array(base_object, point_object, extra=None):
}}

* Crée un objet {{incode|"PointArray"}} à partir de {{incode|base_object}} en plaçant les copies dans les points contenus dans {{incode|point_object}}.
** {{incode|point_object}} doit avoir l'un des attributs {{incode|Geometry}}, {{incode|Links}} ou {{incode|Components}} contenant des points.
** Au lieu d'une référence à un objet, {{incode|base_object}} et {{incode|point_object}} peuvent également être des {{incode|Labels}} (chaînes) d'objets existant dans le document actuel.
** {{incode|extra}} peut être un {{incode|App.Placement}} complet ou simplement un {{incode|App.Vector}} ou {{incode|App.Rotation}}.


Exemple:
Exemple:
{{Code|code=
{{Code|code=
import FreeCAD, Draft
import FreeCAD as App
import Draft


doc = App.newDocument()
Polygon = Draft.makePolygon(3, radius=500.0)


p1 = Draft.makePoint(FreeCAD.Vector(1500, 0, 0))
polygon = Draft.make_polygon(3, radius=500.0)
p2 = Draft.makePoint(FreeCAD.Vector(2500, 0, 0))
p3 = Draft.makePoint(FreeCAD.Vector(2000, 1000, 0))


p1 = Draft.make_point(App.Vector(1500, 0, 0))
# Create a compound of points
addList, deleteList = Draft.upgrade([p1, p2, p3])
p2 = Draft.make_point(App.Vector(2500, 0, 0))
p3 = Draft.make_point(App.Vector(2000, 1000, 0))


compound = doc.addObject("Part::Compound", "Compound")
# Extract the compound from the list
compound = addList[0]
compound.Links = [p1, p2, p3]


PointArray = Draft.makePointArray(Polygon, compound)
point_array = Draft.make_point_array(polygon, compound)
doc.recompute()
}}
}}


{{Docnav/fr
{{Docnav/fr
|[[Draft_PathArray/fr|Série de copies]]
|[[Draft_PathArray/fr|Réseau selon une courbe]]
|[[Draft_Clone/fr|Clone]]
|[[Draft_Clone/fr|Clone]]
|[[Draft_Module/fr|Atelier Draft]]
|[[Draft_Module/fr|Atelier Draft]]
Line 92: Line 118:
}}
}}


{{Draft Tools navi/fr}}
{{Draft Tools navi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}

{{Userdocnavi/fr}}
{{clear}}
{{clear}}

Revision as of 19:06, 25 August 2020

Draft Réseau de points

Emplacement du menu
Modification → Array tools → Point Array
Ateliers
Draft, Arch
Raccourci par défaut
Aucun
Introduit dans la version
0.18
Voir aussi
Draft Réseau orthogonal, Draft Réseau polaire, Draft Réseau circulaire, Draft Réseau selon une courbe, Draft Réseau lié selon une courbe, Draft Réseau lié selon des points, Draft Clone

Description

L'outil Draft PointArray place des copies d'une forme sélectionnée le long de divers points sélectionnés.

L'outil Réseau de points peut être utilisé sur n'importe quel objet ayant un Part TopoShape, c'est-à-dire des formes 2D créées avec l'Atelier Draft mais aussi des solides 3D créés avec les Atelier Part, Atelier PartDesign ou Atelier Arch.

Objet disposé à des points spécifiques

Utilisation

  1. Sélectionnez l'objet que vous souhaitez distribuer.
  2. Sélectionnez un point composé.
  3. Appuyez sur le bouton Draft Réseau de points.

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.

Composé ponctuel

L'objet composé ponctuel peut être créé de différentes manières.

En substance, l'objet à utiliser en tant que composé doit avoir l'une des trois propriétés suivantes: DonnéesComponents, DonnéesLinks ou DonnéesGeometry. A l'intérieur de ce composé, il doit y avoir être au moins un point avec les propriétés DonnéesX, DonnéesY et DonnéesZ.

Remarque: dans le cas de Draft Point et Part Point le réseau essaiera de positionner les copies en utilisant le DonnéesPlacement du point. Dans le cas d'un Sketcher Point, la position sera prise à partir de ses attributs internes X, Y et Z.

Remarque 2: pour Draft Point, son DonnéesPlacement suit toujours les valeurs de DonnéesX, DonnéesY, DonnéesZ. Il suffit donc de modifier ces valeurs pour produire le déplacement souhaité. Cependant, pour Part Point, le déplacement net est donné par la somme de DonnéesPlacement avec le vecteur de composantes DonnéesX, DonnéesY et DonnéesZ.

Options

Il n'y a pas d'options pour cet outil. Cela fonctionne avec les objets sélectionnés ou non.

Propriétés

Un Draft Réseau de points 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 de points possède les propriétés suivantes dans l'Éditeur de propriétés

Objects

  • DonnéesBase (Link): l'objet à dupliquer; il doit avoir une Part TopoShape.
  • DonnéesCount (Integer): (lecture seule) spécifie le nombre de copies dans le tableau. Cette propriété est en lecture seule car le nombre de copies est déterminé par le nombre de points à l'intérieur de DonnéesPoint Object.
  • DonnéesExtra Placement (Placement): spécifie un placement supplémentaire, traduction et rotation, qui sera appliqué à chaque copie du tableau. Chaque copie apparaît normalement avec la même rotation que l'objet DonnéesBase ; avec cette propriété, il est possible de fournir une rotation supplémentaire, ou de contrer la rotation d'origine, et de faire de petits ajustements à la position des copies. introduit dans la version 0.19
  • DonnéesPoint Object (Link): spécifie un objet composé avec des points qui indiquent où les copies de l'objet DonnéesBase apparaîtront. L'objet composé doit avoir l'une des propriétés DonnéesLinks, DonnéesComponents ou DonnéesGeometry et contenir au moins un élément avec DonnéesX, DonnéesY et DonnéesZ attributs.

Script

Voir aussi: Draft API et FreeCAD scripts de base.

L'outil PointArray peut être utilisé à l'intérieur d'une macro, et, à partir de la console Python , en utilisant la fonction suivante :

Appel plus ancien

point_array = makePointArray(base_object, point_object)

Nouvel appel

point_array = make_point_array(base_object, point_object, extra=None):
  • Crée un objet "PointArray" à partir de base_object en plaçant les copies dans les points contenus dans point_object.
    • point_object doit avoir l'un des attributs Geometry, Links ou Components contenant des points.
    • Au lieu d'une référence à un objet, base_object et point_object peuvent également être des Labels (chaînes) d'objets existant dans le document actuel.
    • extra peut être un App.Placement complet ou simplement un App.Vector ou App.Rotation.

Exemple:

import FreeCAD as App
import Draft

doc = App.newDocument()

polygon = Draft.make_polygon(3, radius=500.0)

p1 = Draft.make_point(App.Vector(1500, 0, 0))
p2 = Draft.make_point(App.Vector(2500, 0, 0))
p3 = Draft.make_point(App.Vector(2000, 1000, 0))

compound = doc.addObject("Part::Compound", "Compound")
compound.Links = [p1, p2, p3]

point_array = Draft.make_point_array(polygon, compound)
doc.recompute()