Sketcher::SketchObject is derived from the Part Part2DObject, which means it is a Part Feature object specialized for 2D geometry. Like the Part2DObject, the SketchObject can be attached to planes and faces. In addition, the SketchObject can handle geometrical constraints.
Simplified diagram of the relationships between the core objects in FreeCAD
- Switch to the Sketcher Workbench.
- Press .
- Select a Sketch orientation: XY-plane, XZ-plane, or YZ-plane. Optionally also choose Reverse direction, and give an Offset value.
- Press .
Although the SketchObject can be used by itself to draw on a plane, it is most commonly used in conjunction with the PartDesign Workbench to create extruded solids.
- Switch to the PartDesign Workbench.
- Press .
- Press .
- Select feature: XY_Plane (Base plane), XZ_Plane (Base plane), or YZ_Plane (Base plane).
- Press .
See Property for all property types that scripted objects can have.
- Data (Hidden)Geometry (
GeometryList): a list of Part geometries that exist inside the sketch.
- DataConstraints: named constraints, if they exist; otherwise it is an empty list
- DataExternal Geometry (
LinkSubList): a list of Part geometries outside this Sketch that are used for reference.
- Data (Hidden)Fully Constrained (
Bool): (read-only) if
truethe sketch is fully constrained.
- ViewAutoconstraints (
trueconstraints are automatically added when geometry is drawn.
- ViewAvoid Redundant (
trueredundant auto-constraints are avoided.
- View (Hidden)Grid Auto Size (
truethe grid is resized based on the boundingbox of the geometry of the sketch.
- ViewGrid Size (
Length): the size of the spacing of the local grid lines in the 3D view; it defaults to
- ViewGrid Snap (
truethe grid can be used to snap points.
- ViewGrid Style (
Enumeration): the style of the grid lines;
- ViewShow Grid (
truea grid local to the object will be displayed in the 3D view. This grid is independent of the Draft Grid.
- ViewShow Only In Edit Mode (
truethe grid is only displayed while the sketch is being edited.
- ViewTight Grid (
truethe local grid will be localized around the origin of the shape, otherwise it will extend itself more.
- Viewmax Number Of Lines (
Integer): the maximum number of lines in the grid.
- ViewEditing Workbench (
String): name of the workbench to activate when editing the sketch; it defaults to
- ViewForce Ortho (
truethe camera will be forced to orthographic view mode when the sketch is opened.
- ViewHide Dependent (
trueall objects that depend on the sketch are hidden when the sketch is opened.
- ViewRestore Camera (
truethe camera position is saved before opening the sketch, and is restored after closing it.
- ViewSection View (
trueonly (parts of) objects behind the sketch plane are visible while the sketch is being edited.
- ViewShow Links (
trueall objects used in links to external geometry are shown when the sketch is opened.
- ViewShow Support (
trueall objects this sketch is attached to are shown when the sketch is opened.
- View (Hidden)Tempo Vis (
PythonObject): a custom class associated with this object, that handles hiding and showing other objects when opening and closing the sketch.
See Part Feature for the general information on adding objects to the document.
A SketchObject is created with the
addObject() method of the document.
import FreeCAD as App doc = App.newDocument() obj = App.ActiveDocument.addObject("Sketcher::SketchObject", "Sketch") obj.Label = "Custom label"
For Python subclassing you should create the
import FreeCAD as App doc = App.newDocument() obj = App.ActiveDocument.addObject("Sketcher::SketchObjectPython", "CustomSketch") obj.Label = "Custom label"