Sketcher Dialog

From FreeCAD Documentation
Revision as of 21:52, 1 December 2020 by David69 (talk | contribs)

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.