Why FreeCAD Sketcher Reports Redundant Constraints

In FreeCAD, the Sketcher solver reports redundant constraints when an applied constraint attempts to define a geometric condition that is already mathematically locked by existing constraints. This article explains the underlying mechanics of degrees of freedom in the Sketcher workbench, details the common modeling actions that trigger redundancy warnings, and provides direct solutions for troubleshooting and maintaining fully constrained sketches.

How the Sketcher Solver Works

The FreeCAD Sketcher uses a geometric constraint solver to calculate the positions, orientations, and dimensions of 2D geometry. Every geometric entity introduced into a sketch possesses a specific number of degrees of freedom (DoF). For instance, a free point on a 2D plane has two degrees of freedom (\(X\) and \(Y\) coordinates), while a free line segment has four degrees of freedom (start point \(X, Y\) and end point \(X, Y\)).

Each constraint you apply—such as horizontal, vertical, distance, coincidence, or tangency—removes one or more degrees of freedom. A sketch reaches a "fully constrained" state when zero degrees of freedom remain, fixing the geometry into an unambiguous configuration.

What Causes a Redundant Constraint?

A redundant constraint occurs when a newly applied constraint targets a parameter that has zero remaining degrees of freedom to satisfy that specific rule, yet the rule does not mathematically contradict the existing geometry.

Because the solver's algorithm constructs a system of equations, adding a redundant constraint introduces a linearly dependent equation. The solver detects that the new constraint provides no new geometric information:

  • Mathematically Satisfied: The condition enforced by the constraint is already true based on the cumulative network of previous constraints.
  • Non-Conflicting: Unlike an over-constrained conflict (which turns the solver red because two constraints physically contradict each other), a redundant constraint is geometrically compatible but mathematically superfluous.

Common Scenarios Triggering Redundancy

  1. Auto-Constraints on Parallel or Perpendicular Elements: When drawing shapes like rectangles or polylines, FreeCAD often applies automatic horizontal and vertical constraints. Adding an explicit perpendicularity constraint or a parallel constraint between these segments introduces redundancy because their orientation is already locked relative to the coordinate axes.

  2. Symmetry Combined with Explicit Dimensions: If a line or pair of points is defined as symmetrical across an axis, its opposing distances are tied together. Specifying the length of both individual segments, or dimensioning from the axis to both endpoints independently, triggers a redundancy warning on the second dimension.

  3. Tangency on Arcs with Fixed Centers and Radii: If the center point and radius of an arc are fully defined, and an adjacent line is also fully positioned, applying a tangency constraint will be redundant if the line already lies tangent to the perimeter of the defined arc.

  4. Coincident Points on Constrained Lines: Placing a point coincident with an intersection that is already established by two fixed, intersecting paths can cause the solver to mark the coincidence or an alignment constraint as redundant.

Resolving Redundant Constraints

To clear redundant constraints and return the solver to a healthy state:

  • Use Solver Notifications: In the Tasks tab under the Solver messages section, FreeCAD displays a message stating "Redundant constraints" followed by clickable indices. Clicking the highlighted number automatically selects the redundant constraint in the 3D view and tree.
  • Delete the Constraint: Once the highlighted constraint is selected, press the Delete key. Removing it restores the system of equations to linear independence without altering the shape of the geometry.
  • Switch to Reference Dimensions: If a dimension is needed for informational purposes or technical drawings, toggle the constraint into a reference (driven) dimension instead of a driving dimension. Reference dimensions display measurements without passing constraints into the solver.
  • Enable Auto-Remove Redundants: In the Sketcher workbench preferences or toolbar, enable the "Auto remove redundants" toggle. When active, FreeCAD automatically discards new constraints that do not remove any degrees of freedom.