Sketcher SketchObject
Introduction[edit | edit source]
A Sketcher SketchObject, or formally a Sketcher::SketchObject, is the base element to create 2D objects with the Sketcher Workbench.
The 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
Usage[edit | edit source]
See Sketcher NewSketch.
Properties[edit | edit source]
See Property for all property types that scripted objects can have.
The Sketcher SketchObject (Sketcher::SketchObject class) is derived from the Part Part2DObject (Part::Part2DObject class) and inherits all its properties.
The Sketcher SketchObject also has the following additional properties in the Property View. Hidden properties can be shown by using the Show hidden command in the context menu of the Property View.
Data[edit | edit source]
Base
- Data (Hidden)Internal Shape (
PartShape): TBD.
Internal Geometry
- DataMake Internals (
Bool): if true intersecting edges are split (does not seem to work).
Sketch
- 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
[]. - Data (ReadOnly)External Geometry (
LinkSubList): a list of Part geometries outside this Sketch that are used for reference. - Data (Hidden)External Types (
IntegerList): sketch external geometry type:0(projection),1(intersection) or2(both). introduced in 1.1 - Data (Hidden, ReadOnly)Fully Constrained (
Bool): if true the sketch is fully constrained. - Data (Hidden)Exports (
LinkListHidden): sketch export geometry. - Data (Hidden)External Geo (
GeometryList): sketch external geometry. - DataArc Fit Tolerance (
Precision): tolerance for fitting arcs of projected external geometry.
View[edit | edit source]
Auto Constraints
- ViewAutoconstraints (
Bool): if true constraints are automatically added when geometry is drawn. - ViewAvoid Redundant (
Bool): if true redundant auto-constraints are avoided.
Grid
- ViewGrid Auto (
Bool): if true the 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 to10 mm. - ViewShow 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.
Layers
- ViewVisual Layer List (
BadType):
Object Style
- ViewAuto Color (
Bool): if true the object will be colored based on user preferences, introduced in 1.1: the ViewLine Color, ViewPoint Color and ViewShape Appearance properties are then hidden in the Property View. Set tofalseto specify colors explicitly.
Visibility automation
- ViewEditing Workbench (
String): name of the workbench to activate when editing the sketch; it defaults toSketcherWorkbench. - ViewForce Ortho (
Bool): if true the camera will be forced to orthographic view mode when the sketch is opened. - ViewHide Dependent (
Bool): if true all objects that depend on the sketch are hidden when the sketch is opened. - ViewRestore Camera (
Bool): if true the camera position is saved before opening the sketch, and is restored after closing it. - ViewSection View (
Bool): if true only (parts of) objects behind the sketch plane are visible while the sketch is being edited. - ViewShow Links (
Bool): if true all objects used in links to external geometry are shown when the sketch is opened. - ViewShow Support (
Bool): if true all 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.
Scripting[edit | edit source]
See also: FreeCAD Scripting Basics and scripted objects.
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 Sketcher::SketchObjectPython object.
import FreeCAD as App
doc = App.newDocument()
obj = App.ActiveDocument.addObject("Sketcher::SketchObjectPython", "CustomSketch")
obj.Label = "Custom label"
- General: New Sketch, Edit Sketch, Attach Sketch, Reorient Sketch, Validate Sketch, Merge Sketches, Mirror Sketch, Leave Sketch, Align View to Sketch, Toggle Section View, Stop Operation, Grid, Snap, Rendering Order
- Geometries: Point, Polyline, Line, Arc From Center, Arc From 3 Points, Elliptical Arc, Hyperbolic Arc, Parabolic Arc, Circle From Center, Circle From 3 Points, Ellipse From Center, Ellipse From 3 Points, Rectangle, Centered Rectangle, Rounded Rectangle, Triangle, Square, Pentagon, Hexagon, Heptagon, Octagon, Polygon, Slot, Arc Slot, B-Spline, Periodic B-Spline, B-Spline From Knots, Periodic B-Spline From Knots, Toggle Construction Geometry
- Constraints:
- Dimensional Constraints: Dimension, Horizontal Dimension, Vertical Dimension, Distance Dimension, Radius/Diameter Dimension, Radius Dimension, Diameter Dimension, Angle Dimension, Lock Position
- Geometric Constraints: Coincident Constraint (Unified), Coincident Constraint, Point-On-Object Constraint, Horizontal/Vertical Constraint, Horizontal Constraint, Vertical Constraint, Parallel Constraint, Perpendicular Constraint, Tangent/Collinear Constraint, Equal Constraint, Symmetric Constraint, Block Constraint, Refraction Constraint
- Constraint Tools: Toggle Driving/Reference Constraints, Toggle Constraints
- Sketcher Tools: Fillet, Chamfer, Trim Edge, Split Edge, Extend Edge, External Projection, External Intersection, Carbon Copy, Select Origin, Select Horizontal Axis, Select Vertical Axis, Move/Array Transform, Rotate/Polar Transform, Scale, Offset, Mirror, Remove Axes Alignment, Delete All Geometry, Delete All Constraints, Copy Elements, Cut Elements, Paste Elements
- B-Spline Tools: Geometry to B-Spline, Increase B-Spline Degree, Decrease B-Spline Degree, Increase Knot Multiplicity, Decrease Knot Multiplicity, Insert Knot, Join Curves
- Visual Helpers: Select Under-Constrained Elements, Select Associated Constraints, Select Associated Geometry, Select Redundant Constraints, Select Conflicting Constraints, Toggle Circular Helper for Arcs, Toggle B-Spline Degree, Toggle B-Spline Control Polygon, Toggle B-Spline Curvature Comb, Toggle B-Spline Knot Multiplicity, Toggle B-Spline Control Point Weight, Toggle Internal Geometry, Switch Virtual Space
- Additional: Sketcher Dialog, Preferences, Sketcher scripting
- Core: App DocumentObject
- Basic: App FeaturePython, App GeoFeature, Part Feature, Mesh Feature, Fem FemMeshObject
- Internal shapes: Part TopoShape, Mesh MeshObject, Fem FemMesh
- Structure: App DocumentObjectGroup (Std Group), App Part (Std Part), App Link (Std LinkMake)
- Derived: Part Part2DObject, Sketcher SketchObject, PartDesign Body, PartDesign Feature
- Getting started
- Installation: Download, Windows, Linux, Mac, Additional components, Docker, AppImage, Ubuntu Snap
- Basics: About FreeCAD, Interface, Mouse navigation, Selection methods, Object name, Preferences, Workbenches, Document structure, Properties, Help FreeCAD, Donate
- Help: Tutorials, Video tutorials
- Workbenches: Std Base, Assembly, BIM, CAM, Draft, FEM, Inspection, Material, Mesh, OpenSCAD, Part, PartDesign, Points, Reverse Engineering, Robot, Sketcher, Spreadsheet, Surface, TechDraw, Test Framework
- Hubs: User hub, Power users hub, Developer hub