Sketcher Dialog
Introduction
If you are in a sketch, the sketcher dialog is shown in the Combo view panel in the tab Tasks (task bar). To jump into a sketch, select it in the model tree an either double-click on it or right-click on it and then select Edit sketch in the context menu. Another possibility is to click on the toolbar icon (Edit sketch).
The dialog consists of the following sections:
Solver messages
This section informs you about the state of the sketch, if it is under- or over-constrained and how many degrees of freedom the sketch has. By clicking on the the degrees of freedom the under-constrained sketch elements will be highlighted with green color.
There are two solver messages options:
Name | Description |
---|---|
Auto Remove Redundants | If checked, new created constraints that would be redundant to the existing constraints will automatically be removed. The removal will be silent for constrains that are not dimensional. Note: For dimensional redundant constraints you will be informed that the new constraint is invalid, no matter if you use Auto Remove Redundants or not. |
Auto Update | If checked, the whole document will be recomputed after every sketch action. The advantage is that if you e.g. edit the sketch of a pocket, you will see the effect immediately. The disadvantage is that it takes a long time for complex documents. Thus disable the option if editing sketches gets slow. |
Advanced solver control
This dialog section will only appear if you set the option Show Advanced Solver Control in the Task bar in the sketcher preferences.
You can specify the following:
Name | Description |
---|---|
Default solver | The solver that is used for solving the geometry. LevenbergMarquardt and DogLeg are trust region optimization algorithms. The BFGS solver uses the Broyden–Fletcher–Goldfarb–Shanno algorithm. |
DogLeg Gauss step | This setting is only available for the solver DogLeg. It is the step type used in the DogLeg algorithm. |
Maximum iterations | If the solver needs more iterations to find a convergence to a solution, it will stop and output that it failed. |
Sketch size multiplier | If checked, the maximum iterations will be multiplied by the number of parameters. The idea is that bigger sketches would need more iterations to converge. |
Convergence | The threshold for the squared error. This error is used to determine whether a solution converges or not. |
Eps/Eps1/Tau | These settings are only available for the solver LevenbergMarquardt. You should only change there something if you fully understand how the LevenbergMarquardt solver works. |
Tolg/Tolx/Tolf | These settings are only available for the solver DogLeg. You should only change there something if you fully understand how the DogLeg solver works. |
QR Algorithm | During diagnosing the rank of the matrix is calculated which enables to further analyze the constraint system to determine if there are redundant/conflicting constraints. The rank revealing decomposition used in FreeCAD is QR. There are two algorithms: Eigen Dense QR is a dense matrix QR with full pivoting, which is the legacy proven algorithm that works very well but it is rather slow as the system grows. The Eigen Sparse QR algorithm is an optimization for sparse matrices (having lots of zeros), which is usually much faster, since FreeCAD's systems do have a lot of zeros. |
Pivot threshold | When doing a QR, values under the pivot threshold are treated as zero. |
Redundant Solver | The solver that is used during diagnosing to determine whether a group is redundant or conflicting. |
Red. Max Iterations | The same as Maximum iterations, but for the redundant solving. |
Red. Sketch size multiplier | The same as Sketch size multiplier, but for the redundant solving. |
Red. Convergence | The same as Convergence, but for the redundant solving. |
R.Eps/R.Eps1/R.Tau | The same as Eps/Eps1/Tau, but for the redundant solving. |
R.Tolg/R.Tolx/R.Tolf | The same as Tolg/Tolx/Tolf, but for the redundant solving. |
Console Debug mode | Setting to specify the verbosity of the console output. |
Solve | With this button the solver will explicitly started. |
Restore Defaults | With this button the default solver settings will be restored. |
Note: Most of the solver parameters are of no practical use. They can however help testing and understanding the solvers.
Edit controls
The edit controls are intended to improve the workflow. They can also globally set for all sketches via the sketcher preferences.
You can set the following controls:
Name | Description |
---|---|
Show Grid | If checked, a grid will be shown. |
Grid size | The distance between two subsequent grid lines. Note that the default value of 0 mm will result in a 10 mm grid. |
Grid snap | If checked, new points will snap to the nearest grid line. Note that the points have already to be close to a grid line that the snap takes effect. The distance is a fifth of the value set for Grid size, so for a 10 mm grid, the snapping only occurs if the point is not more than 2 mm away from a grid line. Note: A snapped point has no coincident constraint with the grid point it snapped to. |
Auto constraints | If checked, the sketcher proposes automatically sensible constraints. If you draw for example a polyline and point towards the bottom, you will see that the sketcher proposes a vertical constraint:. If you set now a point the drawn line segment will get the vertical constraint. |
Avoid redundant auto constraints | If checked, the sketcher tries not to propose redundant auto constraints. This option only has an effect if also the option Auto constraints is used. |
Rendering order | The order how sketches are rendered. To change it, drag and drop a geometry type to the top or bottom. |
Constraints
This sections lists the constraints of the sketch. By unchecking a constraint in the list you can hide it.
You can set the following options:
Name | Description |
---|---|
Filter | You can select what constraint types will be listed. The types are All: allnn constraints Normal: constraints to normal sketch elements Datums: dimensional constraints to construction elements Named: constraints with a name Reference: constraints in reference mode |
Hide Internal Alignment | If checked, internal alignments will be hidden. Currently the sketcher uses internal alignments to construct Ellipses/Arcs and B-splines. Note: You can only hide these alignments in the constraint list. To hide them in the sketch you must use the toolbar button (Show/Hide internal geometry). |
Extended Information | If checked, extended information will be added to the list in this form [(GeoID1,PosID1);(GeoID2,PosID2);(GeoID3,PosID3)] PosID can have the following values: 0: Edge, 1 = starting point, 2 = endpoint, 3 = midpoint The GeoID is the number of the sketch element minus 1. The coordinate system origin has the GeoID -1. For example a dimension from the origin to the center of a circle with the element number '2' will get this information: [(1,3);(-1,1)] |
Elements
In sections the sketch elements are listed and can be highlighted. If you click in the list on an element it will be highlighted with green color. Every element in the list begins with a number. The number is the order of creation in the sketch.
If you keep the Ctrl key pressed you can select several elements at once. If you press the Z key you can switch to the next valid type. For example if you select a line in the list and press Z you can switch to its defining points.
You can set the following options:
Name | Description |
---|---|
Type | You can select the list selection type. If you set for example End point, all elements in the list that don't have an end point (circles etc.) will get the icon to indicate that you can click on them but they will not be highlighted. If you click e.g. on a line, its end point will be highlighted. You can choose between the types Edge, Starting Point, End Point and Center Point. |
Mode | You can select what sketch elements will be shown in the list, either All, Normal (regular sketch elements), Construction (construction elements) and External (elements from external geometries). |
Extended Naming | If checked, the naming in the list changes from <number>-type to type(Edge<number>[-Construction] So the name gets longer but contains the information about the element mode. |
Auto-switch to Edge | If checked, only the Type Edge will be available for the list. |
- The tools: New sketch, Edit sketch, Leave sketch, View sketch, View section, Map sketch to face, Reorient sketch, Validate sketch, Merge sketches, Mirror sketch
- Sketcher geometries: Point, Line by 2 point, Create an arc, Arc, Arc by 3 Point, Create a circle, Circle, Circle by 3 Point, Create a conic, Ellipse by center, Ellipse by 3 points, Arc of ellipse, Arc of hyperbola, Arc of parabola, Create a B-spline, Create B-spline, Create periodic B-pline, Polyline (multiple-point line), Rectangle, Create regular polygon, Triangle, Square, Pentagon, Hexagon, Heptagon, Octagon, Create Regular Polygon, Slot, Fillet, Trimming, Extend, External Geometry, CarbonCopy, Construction Mode
- Sketcher constraints
- Geometric constraints Coincident, Point On Object, Vertical, Horizontal, Parallel, Perpendicular, Tangent, Equal Length, Symmetric, Constrain Block
- Dimensional constraints Lock, Horizontal Distance, Vertical Distance, Distance, Radius, Internal Angle, Snell's Law, Internal Alignment, Toggle reference/driving constraint,
- Sketcher tools Select solver DOFs, Close Shape, Connect Edges, Select Constraints, Select Origin, Select Vertical Axis, Select Horizontal Axis, Select Redundant Constraints, Select Conflicting Constraints, Select Elements Associated with constraints, Show/Hide internal geometry, Symmetry, Clone, Copy, Move, Rectangular Array, Delete All Geometry, Delete All Constraints
- Sketcher B-spline tools Show/Hide B-spline degree, Show/Hide B-spline control polygon, Show/Hide B-spline curvature comb, Show/Hide B-spline knot multiplicity, Convert Geometry to B-spline, Increase degree, Increase knot multiplicity, Decrease knot multiplicity
- Sketcher virtual space Switch Virtual Space
- Installation: Unix, Windows, Mac; Getting started
- Basics: About FreeCAD, Workbenches, Preferences, Document structure, Interface Customization, Properties, Mouse Model; Tutorials
- Workbenches: Arch, Draft, FEM, Image, Inspection, Mesh, OpenSCAD, Part, PartDesign, Path, Plot, Points, Raytracing, Reverse Engineering, Robot, Ship, Sketcher, Spreadsheet, Start, Surface workbench, TechDraw, Test Framework, Web
- Scripting: Introduction to Python, FreeCAD scripting tutorial, FreeCAD Scripting Basics, How to install macros, Gui Command, Units Modules: Builtin modules, Workbench creation, Installing more workbenches Meshes: Mesh Scripting, Mesh Module Parts: The Part Module, Topological data scripting, PythonOCC, Mesh to Part Coin scenegraph: The Coin/Inventor scenegraph, Pivy Qt interface: PySide, Using the FreeCAD GUI, Dialog creation Parametric objects: Scripted objects Other: Code snippets, Line drawing function, Embedding FreeCAD, FreeCAD vector math library, Power users hub, Python, Macros, FreeCAD Scripting Basics, Topological data scripting