Sketcher SketchObject/fr: Difference between revisions

From FreeCAD Documentation
No edit summary
No edit summary
(16 intermediate revisions by 2 users not shown)
Line 12: Line 12:
[[File:FreeCAD_core_objects.svg|800px]]
[[File:FreeCAD_core_objects.svg|800px]]


{{Caption|Diagramme simplifié des relations entre les objets centraux dans Freecad}}
<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.}}
</div>


<span id="Usage"></span>
== Utilisation ==
== Utilisation ==


# Basculez vers l'[[Sketcher Workbench/fr|Atelier Sketcher]].
# Basculez vers l'[[Sketcher Workbench/fr|Atelier Sketcher]].
# Appuyez sur {{Button|[[File:Sketcher_NewSketch.svg|16px]] [[Sketcher_NewSketch/fr|Sketcher Nouvelle esquisse]]}}.
# Appuyez sur {{Button|[[File:Sketcher_NewSketch.svg|16px]] [[Sketcher_NewSketch/fr|Sketcher Nouvelle esquisse]]}}.
# Sélectionnez une {{MenuCommand/fr|Orientation de l'esquisse}}: plan XY, plan XZ ou plan YZ. Vous pouvez également choisir d'{{MenuCommand/fr|Inverser la direction}} et donner une valeur de {{MenuCommand/fr|Décalage}}.
# Sélectionnez une {{MenuCommand|Orientation de l'esquisse}}: plan XY, plan XZ ou plan YZ. Vous pouvez également choisir d'{{MenuCommand|Inverser la direction}} et donner une valeur de {{MenuCommand|Décalage}}.
# Appuyez sur {{Button|OK}}.
# Appuyez sur {{Button|OK}}.


Bien que SketchObject puisse être utilisé seul pour dessiner sur un plan, il est le plus souvent utilisé conjointement avec l'[[PartDesign_Workbench/fr|Atelier PartDesign]] pour créer des solides extrudés.
<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.
</div>


# Basculer vers l'[[PartDesign_Workbench/fr|Atelier PartDesign]].
<div class="mw-translate-fuzzy">
# 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]]}}.
# Appuyez sur {{Button|[[File:PartDesign_NewSketch.svg|16px]] [[PartDesign_NewSketch/fr|PartDesign Nouvelle esquisse]]}}.
# Appuyez sur {{Button|[[File:PartDesign_NewSketch.svg|16px]] [[PartDesign_NewSketch/fr|PartDesign Nouvelle esquisse]]}}.
# {{MenuCommand/fr|Fonction sélectionnée}}: XY_Plane (Plan de base), XZ_Plane (Plan de base) ou YZ_Plane (Plan de base).
# {{MenuCommand|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>


<span id="Properties"></span>
== Propriétés ==
== Propriétés ==


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.


[[Sketcher_SketchObject/fr|Sketcher SketchObject]] (classe {{incode|Sketcher::SketchObject}}) est dérivé de [[Part_Part2DObject/fr|Part Part2DObject]] (classe {{incode|Part::Part2DObject}}) et hérite de toutes ses propriétés.
<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.
</div>


Le SketchObject possède également les propriétés supplémentaires suivantes dans l'[[Property_editor/fr|éditeur de propriétés]]. Les propriétés cachées peuvent être affichées à l'aide de la commande {{MenuCommand|Show all}} du menu contextuel de l'[[Property_editor/fr|éditeur de propriétés]].
<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]].
</div>


<span id="Data"></span>
=== Données ===
=== Données ===


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


* {{PropertyData|Geometry|GeometryList|Hidden}}: a list of Part geometries that exist inside the sketch.
* {{PropertyData|Geometry|GeometryList|Hidden}} : une liste des géométries de Part qui existent dans l'esquisse.
* {{PropertyData|Constraints|}}: named constraints, if they exist; otherwise it is an empty list {{incode|[]}}.
* {{PropertyData|Constraints|}} : contraintes nommées, si elles existent ; sinon, il s'agit d'une liste vide {{incode|[]}}.
* {{PropertyData|External Geometry|LinkSubList}}: a list of Part geometries outside this Sketch that are used for reference.
* {{PropertyData|External Geometry|LinkSubList}} : une liste de géométries de pièces extérieures à cette esquisse qui sont utilisées comme référence.
* {{PropertyData|Fully Constrained|Bool|Hidden}}: (read-only) if {{TRUE}} the sketch is fully constrained.
* {{PropertyData|Fully Constrained|Bool|Hidden}} : (en lecture seule) si {{TRUE}} l'esquisse est entièrement contrainte.


<span id="View"></span>
=== Vue ===
=== Vue ===


<div class="mw-translate-fuzzy">
{{TitleProperty|Auto Constraints}}
{{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.
* {{PropertyView|Autoconstraints|Bool}} : si {{TRUE}} les contraintes sont automatiquement ajoutées lorsque la géométrie est dessinée.
* {{PropertyView|Avoid Redundant|Bool}}: if {{TRUE}} redundant auto-constraints are avoided.
* {{PropertyView|Avoid Redundant|Bool}} : si {{TRUE}} les contraintes automatiques redondantes sont évitées.


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


* {{PropertyView|Grid Auto Size|Bool|Hidden}}: if {{TRUE}} the grid is resized based on the boundingbox of the geometry of the sketch.
* {{PropertyView|Grid Auto Size|Bool|Hidden}} : si {{TRUE}}, la grille est redimensionnée en fonction de la boîte de délimitation de la géométrie 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}}.
* {{PropertyView|Grid Size|Length}} : la taille de l'espacement des lignes de la grille locale dans la [[3D_view/fr|Vue 3D]] ; la valeur par défaut est {{value|10 mm}}.
* {{PropertyView|Grid Snap|Bool}}: if {{TRUE}} the grid can be used to snap points.
* {{PropertyView|Grid Snap|Bool}} : si {{TRUE}}, la grille peut être utilisée pour fixer des points.
* {{PropertyView|Grid Style|Enumeration}}: the style of the grid lines; {{value|Dashed}} (default) or {{value|Light}}.
* {{PropertyView|Grid Style|Enumeration}} : le style des lignes de la grille ; {{value|Dashed}} (par défaut) ou {{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 Grid|Bool}} : si {{TRUE}}, une grille locale à l'objet sera affichée dans la [[3D_view/fr|Vue 3D]]. Cette grille est indépendante de la [[Draft_ToggleGrid/fr|Draft Grille]].
* {{PropertyView|Show Only In Edit Mode|Bool}}: if {{TRUE}} the grid is only displayed while the sketch is being edited.
* {{PropertyView|Show Only In Edit Mode|Bool}} : si {{TRUE}}, la grille n'est affichée que lorsque l'esquisse est en cours d'édition.
* {{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|Tight Grid|Bool}} : si {{TRUE}} la grille locale sera localisée autour de l'origine de la forme, sinon elle s'étendra davantage.
* {{PropertyView|max Number Of Lines|Integer}}: the maximum number of lines in the grid.
* {{PropertyView|max Number Of Lines|Integer}} : le nombre maximum de lignes dans la grille.


{{TitleProperty|Visibility automation}}
{{TitleProperty|Visibility automation}}


* {{PropertyView|Editing Workbench|String}} : nom de l'atelier à activer lors de l'édition de l'esquisse ; la valeur par défaut est {{value|SketcherWorkbench}}.
<div class="mw-translate-fuzzy">
* {{PropertyView|Force Ortho|Bool}} : si {{TRUE}}, la prise de vue sera forcée à [[Std_OrthographicCamera/fr|mode de vue orthographique]] lorsque l'esquisse est ouverte.
{{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|Hide Dependent|Bool}} : si {{TRUE}}, tous les objets qui dépendent de l'esquisse sont masqués lorsque l'esquisse est ouverte.
* {{PropertyView|Hide Dependent|Bool}}: si {{TRUE}}, tous les objets qui dépendent de l'esquisse sont masqués lors de l'ouverture de l'esquisse.
* {{PropertyView|Restore Camera|Bool}} : si {{TRUE}}, la position de la prise de vue est enregistrée avant l'ouverture de l'esquisse et est restaurée après sa fermeture.
* {{PropertyView|Restore 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.
* {{PropertyView|Section View|Bool}} : si {{TRUE}}, seuls les (parties des) objets situés derrière le plan de l'esquisse sont visibles pendant l'édition 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 Links|Bool}} : si {{TRUE}}, tous les objets utilisés dans les liens vers la géométrie externe sont affichés à 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 lorsque l'esquisse est ouverte.
* {{PropertyView|Tempo Vis|PythonObject|Hidden}} : une 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.
</div>


<span id="Scripting"></span>
== Création de scripts ==
== Création de scripts ==


{{Emphasis|Voir aussi :}} [[FreeCAD_Scripting_Basics/fr|Débuter avec les scripts]] et [[Scripted_objects/fr|Objets créés par script]].
<div class="mw-translate-fuzzy">
{{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.
Line 106: Line 96:
}}
}}


Pour la sous-classification de [[Python/fr|Python]], vous devez créer l'objet {{incode|Sketcher::SketchObjectPython}}.
<div class="mw-translate-fuzzy">
Par conséquent, pour la sous-classe [[Python/fr|Python]], vous devez créer l'objet {{incode|Sketcher::SketchObjectPython}}.
</div>


{{Code|code=
{{Code|code=

Revision as of 13:04, 13 April 2024

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.

Diagramme simplifié des relations entre les objets centraux dans Freecad

Utilisation

  1. Basculez vers l'Atelier Sketcher.
  2. Appuyez sur Sketcher Nouvelle esquisse.
  3. Sélectionnez une Orientation de l'esquisse: plan XY, plan XZ ou plan YZ. Vous pouvez également choisir d'Inverser la direction et donner une valeur de Décalage.
  4. Appuyez sur OK.

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

  1. Basculer vers l'Atelier PartDesign.
  2. Appuyez sur PartDesign Corps.
  3. Appuyez sur PartDesign Nouvelle esquisse.
  4. Fonction sélectionnée: 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.

Sketcher SketchObject (classe Sketcher::SketchObject) est dérivé de Part Part2DObject (classe Part::Part2DObject) et hérite de toutes ses propriétés.

Le SketchObject possède également les propriétés supplémentaires suivantes dans l'éditeur de propriétés. Les propriétés cachées peuvent être affichées à l'aide de la commande Show all du menu contextuel de l'éditeur de propriétés.

Données

Sketch

  • Données (Hidden)Geometry (GeometryList) : une liste des géométries de Part qui existent dans l'esquisse.
  • DonnéesConstraints : contraintes nommées, si elles existent ; sinon, il s'agit d'une liste vide [].
  • DonnéesExternal Geometry (LinkSubList) : une liste de géométries de pièces extérieures à cette esquisse qui sont utilisées comme référence.
  • Données (Hidden)Fully Constrained (Bool) : (en lecture seule) si true l'esquisse est entièrement contrainte.

Vue

Auto Constraints

  • VueAutoconstraints (Bool) : si true les contraintes sont automatiquement ajoutées lorsque la géométrie est dessinée.
  • VueAvoid Redundant (Bool) : si true les contraintes automatiques redondantes sont évitées.

Grid

  • Vue (Hidden)Grid Auto Size (Bool) : si true, la grille est redimensionnée en fonction de la boîte de délimitation de la géométrie de l'esquisse.
  • VueGrid Size (Length) : la taille de l'espacement des lignes de la grille locale dans la Vue 3D ; la valeur par défaut est 10 mm.
  • VueGrid Snap (Bool) : si true, la grille peut être utilisée pour fixer des points.
  • VueGrid Style (Enumeration) : le style des lignes de la grille ; Dashed (par défaut) ou Light.
  • VueShow Grid (Bool) : si true, une grille locale à l'objet sera affichée dans la Vue 3D. Cette grille est indépendante de la Draft Grille.
  • VueShow Only In Edit Mode (Bool) : si true, la grille n'est affichée que lorsque l'esquisse est en cours d'édition.
  • VueTight Grid (Bool) : si true la grille locale sera localisée autour de l'origine de la forme, sinon elle s'étendra davantage.
  • Vuemax Number Of Lines (Integer) : le nombre maximum de lignes dans la grille.

Visibility automation

  • VueEditing Workbench (String) : nom de l'atelier à activer lors de l'édition de l'esquisse ; la valeur par défaut est SketcherWorkbench.
  • VueForce Ortho (Bool) : si true, la prise de vue sera forcée à mode de vue orthographique lorsque l'esquisse est ouverte.
  • VueHide Dependent (Bool) : si true, tous les objets qui dépendent de l'esquisse sont masqués lorsque l'esquisse est ouverte.
  • VueRestore Camera (Bool) : si true, la position de la prise de vue est enregistrée avant l'ouverture de l'esquisse et est restaurée après sa fermeture.
  • VueSection View (Bool) : si true, seuls les (parties des) objets situés derrière le plan de l'esquisse sont visibles pendant l'édition de l'esquisse.
  • VueShow Links (Bool) : si true, tous les objets utilisés dans les liens vers la géométrie externe sont affichés à l'ouverture de l'esquisse.
  • VueShow Support (Bool) : si true, tous les objets auxquels cette esquisse est attachée sont affichés lorsque l'esquisse est ouverte.
  • Vue (Hidden)Tempo Vis (PythonObject) : une 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.

Création de scripts

Voir aussi : Débuter avec les scripts et Objets créés par script.

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"

Pour la sous-classification de 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"