Sketcher SketchObject/fr: Difference between revisions

From FreeCAD Documentation
No edit summary
(Updating to match new version of source page)
Line 1: Line 1:
<languages/>
<languages/>
{{TOCright}}


== Introduction ==
== Introduction ==
Line 7: Line 8:
Un [[Sketcher_SketchObject/fr|Sketcher SketchObject]], ou formellement un {{incode|Sketcher::SketchObject}}, est l'élément de base pour créer des objets 2D avec l'[[Sketcher_Workbench/fr|Atelier Sketcher]].
Un [[Sketcher_SketchObject/fr|Sketcher SketchObject]], ou formellement un {{incode|Sketcher::SketchObject}}, est l'élément de base pour créer des objets 2D avec l'[[Sketcher_Workbench/fr|Atelier Sketcher]].


<div class="mw-translate-fuzzy">
{{incode|Sketcher::SketchObject}} est dérivé de [[Part_Part2DObject/fr|Part Part2DObject]]. Cela signifie qu'il s'agit d'un objet [[Part Feature/fr|Part Feature]] spécialisé dans la géométrie 2D. Comme Part2DObject, l'objet SketchObject peut être attaché à des plans et à des faces. En plus de cela, SketchObject peut gérer les contraintes géométriques des lignes et des courbes qui y sont dessinées.
{{incode|Sketcher::SketchObject}} est dérivé de [[Part_Part2DObject/fr|Part Part2DObject]]. Cela signifie qu'il s'agit d'un objet [[Part Feature/fr|Part Feature]] spécialisé dans la géométrie 2D. Comme Part2DObject, l'objet SketchObject peut être attaché à des plans et à des faces. En plus de cela, SketchObject peut gérer les contraintes géométriques des lignes et des courbes qui y sont dessinées.
</div>


[[File:FreeCAD_core_objects.svg|800px]]
[[File:FreeCAD_core_objects.svg|800px]]


<div class="mw-translate-fuzzy">
{{Caption|Schéma simplifié des relations entre les objets principaux dans FreeCAD. La classe {{incode|Sketcher::SketchObject}} est spécialisée pour les formes 2D et comprend en plus une extension pour gérer les contraintes géométriques de ses éléments.}}
{{Caption|Schéma simplifié des relations entre les objets principaux dans FreeCAD. La classe {{incode|Sketcher::SketchObject}} est spécialisée pour les formes 2D et comprend en plus une extension pour gérer les contraintes géométriques de ses éléments.}}
</div>


== Utilisation ==
== Utilisation ==
Line 20: Line 25:
# Appuyez sur {{Button|OK}}.
# Appuyez sur {{Button|OK}}.


<div class="mw-translate-fuzzy">
Bien que SketchObject puisse être utilisé seul pour dessiner sur un plan, il est le plus souvent utilisé conjointement avec [[PartDesign Workbench/fr|Atelier PartDesign]] pour créer des solides extrudés.
Bien que SketchObject puisse être utilisé seul pour dessiner sur un plan, il est le plus souvent utilisé conjointement avec [[PartDesign Workbench/fr|Atelier PartDesign]] pour créer des solides extrudés.
</div>


<div class="mw-translate-fuzzy">
# Basculer vers le [[PartDesign Workbench/fr|Atelier PartDesign]].
# Basculer vers le [[PartDesign Workbench/fr|Atelier PartDesign]].
# Appuyez sur {{Button|[[File:PartDesign_Body.svg|16px]] [[PartDesign_Body/fr|PartDesign Corps]]}}.
# Appuyez sur {{Button|[[File:PartDesign_Body.svg|16px]] [[PartDesign_Body/fr|PartDesign Corps]]}}.
Line 27: Line 35:
# {{MenuCommand/fr|Fonction sélectionnée}}: XY_Plane (Plan de base), XZ_Plane (Plan de base) ou YZ_Plane (Plan de base).
# {{MenuCommand/fr|Fonction sélectionnée}}: XY_Plane (Plan de base), XZ_Plane (Plan de base) ou YZ_Plane (Plan de base).
# Appuyez sur {{Button|OK}}.
# Appuyez sur {{Button|OK}}.
</div>


== Propriétés ==
== Propriétés ==
Line 32: Line 41:
Voir [[Property/fr|Propriétés]] pour tous les types de propriétés que les objets scriptés peuvent avoir.
Voir [[Property/fr|Propriétés]] pour tous les types de propriétés que les objets scriptés peuvent avoir.


<div class="mw-translate-fuzzy">
Un [[Sketcher_SketchObject/fr|Sketcher SketchObject]] (classe {{incode|Sketcher::SketchObject}}) est dérivé de [[Part_Part2DObject/fr|Part Part2DObject]] (classe {{incode|Part::Part2DObject}}) donc partage toutes les propriétés de ce dernier.
Un [[Sketcher_SketchObject/fr|Sketcher SketchObject]] (classe {{incode|Sketcher::SketchObject}}) est dérivé de [[Part_Part2DObject/fr|Part Part2DObject]] (classe {{incode|Part::Part2DObject}}) donc partage toutes les propriétés de ce dernier.
</div>


<div class="mw-translate-fuzzy">
Outre les propriétés décrites dans [[Part_Part2DObject/fr|Part Part2DObject]], l'objet de base Sketcher SketchObject possède les propriétés suivantes dans l'[[property editor/fr|éditeur de propriétés]]. Les propriétés masquées peuvent être affichées en utilisant la commande {{MenuCommand|Show all}} dans le menu contextuel de l'[[property editor/fr|éditeur de propriétés]].
Outre les propriétés décrites dans [[Part_Part2DObject/fr|Part Part2DObject]], l'objet de base Sketcher SketchObject possède les propriétés suivantes dans l'[[property editor/fr|éditeur de propriétés]]. Les propriétés masquées peuvent être affichées en utilisant la commande {{MenuCommand|Show all}} dans le menu contextuel de l'[[property editor/fr|éditeur de propriétés]].
</div>


=== Données ===
=== Données ===

{{TitleProperty|Attachment}}
* {{PropertyData/fr|Map Mode}}, {{PropertyData/fr|Map Reversed}}, {{PropertyData/fr|Attachment Offset}} comme [[Part_Part2DObject/fr|Part Part2DObject]]. Voir [[Part_EditAttachment/fr|Part Ancrage]] pour plus d'informations sur tous les modes d'ancrage.


{{TitleProperty|Sketch}}
{{TitleProperty|Sketch}}
* {{PropertyData|Constraints|}}: les contraintes nommées, si elles existent sinon c'est une liste vide {{incode|[]}}.


* {{PropertyData|Geometry|GeometryList|Hidden}}: a list of Part geometries that exist inside the sketch.
==== Propriétés cachées de Données ====
* {{PropertyData|Constraints|}}: named constraints, if they exist; otherwise it is an empty list {{incode|[]}}.
* {{PropertyData|External Geometry|LinkSubList}}: a list of Part geometries outside this Sketch that are used for reference.
* {{PropertyData|Fully Constrained|Bool|Hidden}}: (read-only) if {{TRUE}} the sketch is fully constrained.


=== Vue ===
Voir [[Part_Part2DObject/fr|Part Part2DObject]] pour le reste des propriétés masquées.


<div class="mw-translate-fuzzy">
{{TitleProperty|Base}}
{{TitleProperty|Auto Constraints}}
* {{PropertyView|Autoconstraints|Bool}}: si {{TRUE}}, il essaiera de définir des contraintes lors du tracé de la géométrie.
</div>


* {{PropertyView|Autoconstraints|Bool}}: if {{TRUE}} constraints are automatically added when geometry is drawn.
* {{PropertyData/fr|Proxy|PythonObject}}: classe personnalisée associée à cet objet. Cela n'existe que pour la version [[Python/fr|Python]]. Voir [[Sketcher_SketchObject/fr#Script|Script]].
* {{PropertyView|Avoid Redundant|Bool}}: if {{TRUE}} redundant auto-constraints are avoided.


{{TitleProperty|Sketch}}
{{TitleProperty|Grid}}


* {{PropertyView|Grid Auto Size|Bool|Hidden}}: if {{TRUE}} the grid is resized based on the boundingbox of the geometry of the sketch.
* {{PropertyData/fr|Geometry|GeometryList}}: liste des géométries de pièce qui existent à l'intérieur de l'esquisse.
* {{PropertyView|Grid Size|Length}}: the size of the spacing of the local grid lines in the [[3D_view|3D view]]; it defaults to {{value|10 mm}}.
* {{PropertyData/fr|Géométrie externe|LinkSubList}}: liste des géométries de pièce en dehors de cette esquisse qui sont utilisées comme référence.
* {{PropertyView|Grid Snap|Bool}}: if {{TRUE}} the grid can be used to snap points.
* {{PropertyView|Grid Style|Enumeration}}: the style of the grid lines; {{value|Dashed}} (default) or {{value|Light}}.
* {{PropertyView|Show Grid|Bool}}: if {{TRUE}} a grid local to the object will be displayed in the [[3D_view|3D view]]. This grid is independent of the [[Draft_ToggleGrid|Draft Grid]].
* {{PropertyView|Show Only In Edit Mode|Bool}}: if {{TRUE}} the grid is only displayed while the sketch is being edited.
* {{PropertyView|Tight Grid|Bool}}: if {{TRUE}} the local grid will be localized around the origin of the shape, otherwise it will extend itself more.
* {{PropertyView|max Number Of Lines|Integer}}: the maximum number of lines in the grid.


{{TitleProperty|Visibility automation}}
=== Vue ===

{{TitleProperty|Auto Constraints}}
* {{PropertyView|Autoconstraints|Bool}}: si {{TRUE}}, il essaiera de définir des contraintes lors du tracé de la géométrie.


<div class="mw-translate-fuzzy">
{{TitleProperty|Visibility automation}}
{{TitleProperty|Visibility automation}}
* {{PropertyView|Editing Workbench|String}}: nom du workbench à activer lors de la modification de l'esquisse. Valeur par défaut {{value|SketcherWorkbench}}.
* {{PropertyView|Editing Workbench|String}}: nom du workbench à activer lors de la modification de l'esquisse. Valeur par défaut {{value|SketcherWorkbench}}.
Line 68: Line 88:
* {{PropertyView|Show Links|Bool}}: si {{TRUE}}, tous les objets utilisés dans les liens vers une géométrie externe sont affichés lors de l'ouverture de l'esquisse.
* {{PropertyView|Show Links|Bool}}: si {{TRUE}}, tous les objets utilisés dans les liens vers une géométrie externe sont affichés lors de l'ouverture de l'esquisse.
* {{PropertyView|Show Support|Bool}}: si {{TRUE}} tous les objets auxquels cette esquisse est attachée sont affichés lors de l'ouverture de l'esquisse.
* {{PropertyView|Show Support|Bool}}: si {{TRUE}} tous les objets auxquels cette esquisse est attachée sont affichés lors de l'ouverture de l'esquisse.
</div>

==== Propriétés cachées de Vue ====

{{TitleProperty|Base}}

* {{PropertyData/fr|Proxy|PythonObject}}: classe personnalisée associée à cet objet. Cela n'existe que pour la version [[Python/fr|Python]]. Voir [[Sketcher_SketchObject/fr#Script|Script]].

{{TitleProperty|Visibility automation}}

* {{PropertyView/fr|Tempo Vis|PythonObject}}: classe personnalisée associée à cet objet qui gère le masquage et l'affichage d'autres objets lors de l'ouverture et de la fermeture de l'esquisse.

Toutes les autres propriétés de vue, y compris les propriétés masquées, sont celles de l'objet de base [[Part_Feature/fr|Part Feature]]


== Création de scripts ==
== Création de scripts ==


<div class="mw-translate-fuzzy">
{{Emphasis|Voir aussi:}} [[FreeCAD Scripting Basics/fr|FreeCAD Script de base]] et [[scripted objects/fr|objet scripté]].
{{Emphasis|Voir aussi:}} [[FreeCAD Scripting Basics/fr|FreeCAD Script de base]] et [[scripted objects/fr|objet scripté]].
</div>


Voir [[Part_Feature/fr|Part Feature]] pour les informations générales sur l'ajout d'objets au document.
Voir [[Part_Feature/fr|Part Feature]] pour les informations générales sur l'ajout d'objets au document.


Un SketchObject est créé avec la méthode {{incode|addObject()}} du document.
Un SketchObject est créé avec la méthode {{incode|addObject()}} du document.

{{Code|code=
{{Code|code=
import FreeCAD as App
import FreeCAD as App
Line 96: Line 108:
}}
}}


<div class="mw-translate-fuzzy">
Ce {{incode|Sketcher::SketchObject}} de base n'a pas d'objet Proxy, il ne peut donc pas être entièrement utilisé pour la sous-classification.

Par conséquent, pour la sous-classe [[Python/fr|Python]], vous devez créer l'objet {{incode|Sketcher::SketchObjectPython}}.
Par conséquent, pour la sous-classe [[Python/fr|Python]], vous devez créer l'objet {{incode|Sketcher::SketchObjectPython}}.
</div>


{{Code|code=
{{Code|code=
Line 109: Line 121:




{{Sketcher Tools navi{{#translation:}}}}
{{Sketcher_Tools_navi{{#translation:}}}}
{{Document_objects_navi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}
{{Document objects navi{{#translation:}}}}
{{clear}}

Revision as of 07:40, 22 February 2022

Other languages:

Introduction

Un Sketcher SketchObject, ou formellement un Sketcher::SketchObject, est l'élément de base pour créer des objets 2D avec l'Atelier Sketcher.

Sketcher::SketchObject est dérivé de Part Part2DObject. Cela signifie qu'il s'agit d'un objet Part Feature spécialisé dans la géométrie 2D. Comme Part2DObject, l'objet SketchObject peut être attaché à des plans et à des faces. En plus de cela, SketchObject peut gérer les contraintes géométriques des lignes et des courbes qui y sont dessinées.

Schéma simplifié des relations entre les objets principaux dans FreeCAD. La classe Sketcher::SketchObject est spécialisée pour les formes 2D et comprend en plus une extension pour gérer les contraintes géométriques de ses éléments.

Utilisation

  1. Basculez vers l'Atelier Sketcher.
  2. Appuyez sur Sketcher Nouvelle esquisse.
  3. Sélectionnez une Template:MenuCommand/fr: plan XY, plan XZ ou plan YZ. Vous pouvez également choisir d'Template:MenuCommand/fr et donner une valeur de Template:MenuCommand/fr.
  4. Appuyez sur OK.

Bien que SketchObject puisse être utilisé seul pour dessiner sur un plan, il est le plus souvent utilisé conjointement avec Atelier PartDesign pour créer des solides extrudés.

  1. Basculer vers le Atelier PartDesign.
  2. Appuyez sur PartDesign Corps.
  3. Appuyez sur PartDesign Nouvelle esquisse.
  4. Template:MenuCommand/fr: XY_Plane (Plan de base), XZ_Plane (Plan de base) ou YZ_Plane (Plan de base).
  5. Appuyez sur OK.

Propriétés

Voir Propriétés pour tous les types de propriétés que les objets scriptés peuvent avoir.

Un Sketcher SketchObject (classe Sketcher::SketchObject) est dérivé de Part Part2DObject (classe Part::Part2DObject) donc partage toutes les propriétés de ce dernier.

Outre les propriétés décrites dans Part Part2DObject, l'objet de base Sketcher SketchObject possède les propriétés suivantes dans l'éditeur de propriétés. Les propriétés masquées peuvent être affichées en utilisant la commande Show all dans le menu contextuel de l'éditeur de propriétés.

Données

Sketch

  • Données (Hidden)Geometry (GeometryList): a list of Part geometries that exist inside the sketch.
  • DonnéesConstraints: named constraints, if they exist; otherwise it is an empty list [].
  • DonnéesExternal Geometry (LinkSubList): a list of Part geometries outside this Sketch that are used for reference.
  • Données (Hidden)Fully Constrained (Bool): (read-only) if true the sketch is fully constrained.

Vue

Auto Constraints

  • VueAutoconstraints (Bool): si true, il essaiera de définir des contraintes lors du tracé de la géométrie.
  • VueAutoconstraints (Bool): if true constraints are automatically added when geometry is drawn.
  • VueAvoid Redundant (Bool): if true redundant auto-constraints are avoided.

Grid

  • Vue (Hidden)Grid Auto Size (Bool): if true the grid is resized based on the boundingbox of the geometry of the sketch.
  • VueGrid Size (Length): the size of the spacing of the local grid lines in the 3D view; it defaults to 10 mm.
  • VueGrid Snap (Bool): if true the grid can be used to snap points.
  • VueGrid Style (Enumeration): the style of the grid lines; Dashed (default) or Light.
  • VueShow Grid (Bool): if true a grid local to the object will be displayed in the 3D view. This grid is independent of the Draft Grid.
  • VueShow Only In Edit Mode (Bool): if true the grid is only displayed while the sketch is being edited.
  • VueTight Grid (Bool): if true the local grid will be localized around the origin of the shape, otherwise it will extend itself more.
  • Vuemax Number Of Lines (Integer): the maximum number of lines in the grid.

Visibility automation

Visibility automation

  • VueEditing Workbench (String): nom du workbench à activer lors de la modification de l'esquisse. Valeur par défaut SketcherWorkbench.
  • VueHide Dependent (Bool): si true, tous les objets qui dépendent de l'esquisse sont masqués lors de l'ouverture de l'esquisse.
  • VueRestore Camera (Bool): si true la position de la caméra est enregistrée avant l'ouverture de l'esquisse et est restaurée après sa fermeture.
  • VueShow Links (Bool): si true, tous les objets utilisés dans les liens vers une géométrie externe sont affichés lors de l'ouverture de l'esquisse.
  • VueShow Support (Bool): si true tous les objets auxquels cette esquisse est attachée sont affichés lors de l'ouverture de l'esquisse.

Création de scripts

Voir Part Feature pour les informations générales sur l'ajout d'objets au document.

Un SketchObject est créé avec la méthode addObject() du document.

import FreeCAD as App

doc = App.newDocument()
obj = App.ActiveDocument.addObject("Sketcher::SketchObject", "Sketch")
obj.Label = "Custom label"

Par conséquent, pour la sous-classe Python, vous devez créer l'objet Sketcher::SketchObjectPython.

import FreeCAD as App

doc = App.newDocument()
obj = App.ActiveDocument.addObject("Sketcher::SketchObjectPython", "CustomSketch")
obj.Label = "Custom label"