Sketcher Workbench

From FreeCAD Documentation
This page contains changes which are not marked for translation.
Sketcher workbench icon

Introduction

With the FreeCAD Sketcher Workbench 2D sketches intended for use in other workbenches can be created. 2D sketches are the starting point for many CAD models. They typically define the profiles and paths for operations to create 3D shapes. A model may depend on several sketches for its final shape.

Together with boolean operations defined in the Part Workbench, the Sketcher Workbench, or "The Sketcher" for short, forms the basis of the constructive solid geometry (CSG) method of building solids. Together with PartDesign Workbench operations, it also forms the basis of the feature editing methodology of creating solids. But many other workbenches use sketches as well.

The Sketcher workbench features constraints, allowing 2D shapes to follow precise geometrical definitions in terms of length, angles, and relationships (horizontality, verticality, perpendicularity, etc.). A constraint solver calculates the constrained-extent of 2D geometry and allows interactive exploration of the degrees-of-freedom of the sketch.

The Sketcher is not intended for producing 2D blueprints. Once sketches are used to generate a solid feature, they are automatically hidden and Constraints are only visible in Sketch edit mode. If you only need to produce 2D views for print, and don't want to create 3D models, check out the Draft workbench.

A fully constrained sketch

What are constraints?

Constraints are used to limit the degrees of freedom of an object. For example, a line without constraints has 4 Degrees Of Freedom (abbreviated as "DoF"): it can be moved horizontally or vertically, it can be stretched, and it can be rotated.

Applying a horizontal or vertical constraint, or an angle constraint (relative to another line or to one of the axes), will limit its capacity to rotate, thus leaving it with 3 degrees of freedom. Locking one of its points in relation to the origin will remove another 2 degrees of freedom. And applying a dimension constraint will remove the last degree of freedom. The line is then considered fully-constrained.

Objects can be constrained in relation to one another. Two lines can be joined through one of their points with the coincident point constraint. An angle can be set between them, or they can be set perpendicular. A line can be tangent to an arc or a circle, and so on. A complex Sketch with multiple objects may have a number of different solutions, and making it fully-constrained can mean that just one of these possible solutions has been reached based on the applied constraints.

There are two kinds of constraints: geometric and dimensional. They are detailed in the Tools section below.

Profile sketches

To create a sketch that can be used as a profile for generating solids certain rules must be followed:

  • The sketch must contain only closed contours. Gaps between endpoints, however small, are not allowed.
  • Contours can be nested, to create voids, but should not self-intersect or intersect other contours.
  • Contours cannot share edges with other contours. Duplicate edges should be avoided.
  • T-connections, that is more than two edges sharing a common point, or a point touching an edge, are not allowed.

These rules do not apply to construction geometry (default color blue), which is not shown outside edit mode, or if the sketch is used for a different purpose. Depending on the workbench and the tool that will use the profile sketch, additional restrictions may apply.

Drawing aids

The Sketcher Workbench has several drawing aids and other features that can help when creating geometry and applying constraints.

Continue modes

There are two continue modes: Geometry creation "Continue Mode" and Constraint creation "Continue Mode". If these are checked (default) in the preferences, related tools will restart after finishing. To exit an continuous tool press Esc or the right mouse button. This must be repeated if a continuous geometry tool has already received input. You can also exit a continuous tool by starting another geometry or constraint tool. Note that pressing Esc if no tool is active will exit sketch edit mode. Uncheck the Esc can leave sketch edit mode preference if you often inadvertently press Esc too many times.

Auto constraints

In sketches that have Auto constraints checked (default) several constraints are applied automatically. This is a per-sketch setting that can be changed in the Sketcher Dialog or by changing the ViewAutoconstraints property of the sketch.

Snapping

introduced in version 0.21

It is possible to snap to grid lines and grid intersection, to edges of geometry and midpoints of lines and arcs, and to certain angles. Please note that snapping does not produce constraints in and of itself. For example, only if Auto constraints is switched on will snapping to the midpoint of an edge produce a point onto object constraint. But just picking a point on the edge would then have the same result (there is currently no midpoint constraint, the symmetrical contraint has to be applied instead).

On-View-Parameters

introduced in version 0.22

Depending on the selected option in the preferences only the dimensional On-View-Parameters or both the dimensional and the positional On-View-Parameters can be enabled. Positional parameters allow the input of exact coordinates, for example the center of a circle, or the start point of a line. Dimensional parameters allow the input of exact dimensions, for example the radius of a circle, or the length and angle of a line. On-View-Parameters are not available for all tools.

Determining the center point of a circle with the positional parameters enabled

Determining the radius of a circle with the dimensional parameters enabled

If values are entered and confirmed by pressing Enter or Tab, related constraints are added automatically. If two parameters are displayed at the same time, for example the X and Y coordinate of a point, it is possible to enter one value and pick a point to define the other. Depending on the object additional constraints may be required to fully constrain it. Constraints resulting from On-View-Parameters take precedence over those that may result from Auto constraints.

Arc created by entering all On-View-Parameters with resulting automatically created constraints

Coordinate display

If the Show coordinates beside cursor while editing preference is checked (default), the parameters the current geometry tool (coordinates, radius, or length and angle) are displayed next to the cursor. This is deactivated while On-View-Parameters are shown.

Copy, cut and paste

introduced in version 0.22

Standard keyboard shortcuts can be used to copy (Ctrl+C), cut (Ctrl+X) and paste (Ctrl+V) the currently selected sketcher geometries with constraints. Those operation can be used not only within a single sketch but also between different sketches or separate instances of FreeCAD. Since the geometry is copied to the clipboard in the form of a Python code, it can be used in other ways too (e.g. shared on the forum).

Tools

The Sketcher Workbench tools are located in the Sketch menu and/or several toolbars. introduced in version 0.21: Almost all Sketcher toolbars are only displayed while a sketch is in edit mode. The only exception is the Sketcher toolbar which is only displayed if no sketch is in edit mode.

introduced in version 0.21: If a sketch is in edit mode the Structure toolbar is hidden as none of its tools can then be used.

General

Sketcher toolbar

  • Create sketch: Creates‎ a new sketch on a selected face or plane. If no face is selected while this tool is executed the user is prompted to select a plane from a pop-up window.
  • Reorient sketch: Allows you to attach the sketch to one of the main planes.
  • Validate sketch: Analyze and repair a sketch that is no longer editable, has invalid constraints, or is missing coincident constraints.
  • Mirror sketch: Mirror a sketch along the x-axis, the y-axis or the origin.

Sketcher Edit Mode toolbar

  • View sketch: Sets the model view perpendicular to the sketch plane.
  • View section: Creates a section plane that temporarily hides any matter in front of the sketch plane.

Sketcher edit tools toolbar

Other

  • Stop operation: When in edit mode, stop the current operation, whether that is drawing, setting constraints, etc.

Sketcher geometries

These are tools for creating objects.

  • Line: Draws a line segment between 2 points. Lines are infinite regarding certain constraints.
  • Create arc:
  • Arc: Draws an arc segment from center, radius, start angle and end angle.
  • Arc by 3 points: Draws an arc segment from two endpoints and another point on the circumference.
  • Create circle:
  • Circle: Draws a circle from center and radius.
  • Create conic:
  • Ellipse by center: Draws an ellipse by center point, major radius point and minor radius point.
  • Arc of ellipse: Draws an arc of ellipse by center point, major radius point, starting point and ending point.
  • B-spline:
  • Polyline (multiple-point line): Draws a line made of multiple line segments. Pressing the M key while drawing a Polyline toggles between the different polyline modes.
  • Create rectangle:
  • Rectangle: Draws a rectangle from 2 opposite points.
  • Create regular polygon:
  • Triangle: Draws a regular triangle inscribed in a construction geometry circle.
  • Square: Draws a regular square inscribed in a construction geometry circle.
  • Pentagon: Draws a regular pentagon inscribed in a construction geometry circle.
  • Hexagon: Draws a regular hexagon inscribed in a construction geometry circle.
  • Heptagon: Draws a regular heptagon inscribed in a construction geometry circle.
  • Octagon: Draws a regular octagon inscribed in a construction geometry circle.
  • Regular polygon : Draws a regular polygon by selecting the number of sides and picking two points: the center and one corner.
  • Create slot:
  • Slot: Draws an oval by selecting the center of one semicircle and an endpoint of the other semicircle.
  • Create fillet:
  • Fillet: Creates a fillet between two non-parallel lines.
  • Corner-preserving fillet: Creates a fillet between two non-parallel lines while preserving their (virtual) intersection.
  • Edit edge:
  • Trim: Trims a line, circle or arc with respect to the clicked point.
  • Extend: Extends a line or an arc to a boundary line, arc, ellipse, arc of ellipse or a point in space.
  • Toggle construction geometry: Toggles sketch geometry from/to construction mode. Construction geometry is shown in blue and is discarded outside of Sketch editing mode.

Sketcher constraints

Constraints are used to define lengths, set rules between sketch elements, and to lock the sketch along the vertical and horizontal axes. Some constraints require use of Helper constraints.

  • Coincident: Affixes a point onto (coincident with) one or more other points. It acts as a concentric constraint if two or more circles, arcs, ellipses or arcs of ellipses are selected.
  • Point on object: Affixes a point onto another object such as a line, arc, or axis.
  • Horizontal/Vertical constraints:
  • Horizontal: Constrains the selected lines or polyline elements to a true horizontal orientation. More than one object can be selected before applying this constraint.
  • Vertical: Constrains the selected lines or polyline elements to a true vertical orientation. More than one object can be selected before applying this constraint.
  • Parallel: Constrains two or more lines parallel to one another.
  • Perpendicular: Constrains two lines perpendicular to one another, or constrains a line perpendicular to an arc endpoint.
  • Tangent: Creates a tangent constraint between two selected entities, or a co-linear constraint between two line segments. A line segment does not have to lie directly on an arc or circle to be constrained tangent to that arc or circle.
  • Equal: Constrains two selected entities equal to one another. If used on circles or arcs their radii will be set equal.
  • Symmetric: Constrains two points symmetrically about a line, or constrains the first two selected points symmetrically about a third selected point.
  • Block: it blocks an edge from moving, that is, it prevents its vertices from changing their current positions. It should be particularly useful to fix the position of B-Splines. See the Block Constraint forum topic.
  • Dimensional constraints:
  • Lock: Constrains the selected item by setting vertical and horizontal distances relative to the origin, thereby locking the location of that item. These constraint distances can be edited later.
  • Horizontal distance: Fixes the horizontal distance between two points or line endpoints. If only one item is selected, the distance is set to the origin.
  • Vertical distance: Fixes the vertical distance between 2 points or line endpoints. If only one item is selected, the distance is set to the origin.
  • Distance: Defines the length of a line, the perpendicular distance between a point and a line, the distance between two points, or, introduced in version 0.21, the distance between the edges of two circles.
  • Radius: Defines the radius of an arc or circle or the weight of a B-spline pole.
  • Diameter: Defines the diameter of an arc or circle.
  • Angle: Defines the internal angle between two selected lines.

Special constraints

  • Refraction (Snell's law): Constrains two lines to obey a refraction law to simulate the light going through an interface.

Constraint tools

The following tools can be used the change the effect of constraints:

Sketcher tools

  • Show/hide internal geometry: Recreates missing/deletes unneeded internal geometry of a selected ellipse, arc of ellipse/hyperbola/parabola or B-spline.
  • Symmetry: Copies a sketcher element symmetrically to a chosen line.

Sketcher B-spline tools

Sketcher visual

Obsolete tools

  • Clone: Clones a sketcher element. Not available in version 0.22 and above.
  • Close shape: Creates a closed shape by applying coincident constraints to endpoints. Not available in version 0.21 and above.
  • Connect edges: Connect sketcher elements by applying coincident constraints to endpoints. Not available in version 0.21 and above.
  • Copy: Copies a sketcher element. Not available in version 0.22 and above.
  • Move: Moves the selected geometry taking as reference the last selected point. Not available in version 0.22 and above.
  • Rectangular array: Creates an array of selected sketcher elements. Not available in version 0.22 and above.

Preferences

Best Practices

Every CAD user develops their own way of working over time, but there are some useful general principles to follow.

  • A series of simple sketches is easier to manage than a single complex one. For example, a first sketch can be created for the base 3D feature (either a pad or a revolve), while a second one can contain holes or cutouts (pockets). Some details can be left out, to be realized later on as 3D features. You can choose to avoid fillets in your sketch if there are too many, and add them as a 3D feature.
  • Always create a closed profile, or your sketch won't produce a solid, but rather a set of open faces. If you don't want some of the objects to be included in the solid creation, turn them to construction elements with the Construction Mode tool.
  • Use the auto constraints feature to limit the number of constraints you'll have to add manually.
  • As a general rule, apply geometric constraints first, then dimensional constraints, and lock your sketch last. But remember: rules are made to be broken. If you're having trouble manipulating your sketch, it may be useful to constrain a few objects first before completing your profile.
  • If possible, center your sketch to the origin (0,0) with the lock constraint. If your sketch is not symmetric, locate one of its points to the origin, or choose nice round numbers for the lock distances.
  • If you have the possibility to choose between the Length constraint and the Horizontal or Vertical Distance constraints, prefer the latter. Horizontal and Vertical Distance constraints are computationally cheaper.
  • In general, the best constraints to use are: Horizontal and Vertical Constraints; Horizontal and Vertical Length Constraints; Point-to-Point Tangency. If possible, limit the use of these: the general Length Constraint; Edge-to-Edge Tangency; Fix Point Onto a Line Constraint; Symmetry Constraint.
  • If in doubt about the validity of a sketch once it is complete (features turn green), close the Sketcher dialog and use Validate sketch.

Tutorials

Scripting

The Sketcher scripting page contains examples on how to create constraints from Python scripts.

Examples

For some ideas of what can be achieved with Sketcher tools, have a look at: Sketcher examples.