FreeCAD A2plus Fixed and Floating Constraints Guide

This guide explains how to define and manage fixed and floating components within the FreeCAD A2plus workbench to create fully defined, error-free mechanical assemblies. You will learn the conceptual difference between fixed and floating parts, how to lock a base part's position in 3D space, how to assign geometric constraints to movable components, and how to resolve common solver conflicts.

Understanding Fixed vs. Floating in A2plus

In the A2plus assembly environment, rigid bodies are treated as either fixed or floating:

  • Fixed Parts: These act as the ground reference for the entire assembly. A fixed part has all six degrees of freedom (translation along and rotation around the X, Y, and Z axes) locked relative to the global coordinate system. Every assembly requires at least one fixed component to prevent the solver from shifting the entire model arbitrarily in 3D space.
  • Floating Parts: These components enter the assembly with six degrees of freedom. They move dynamically when you apply geometric constraints (such as point-to-point, plane-to-plane, or axis-to-axis) connecting them to fixed parts or other constrained components.

How to Define a Fixed Part

When creating an assembly, establish your root or chassis component as fixed before adding other parts.

  1. Import your part into the A2plus assembly container using the Add a part from external file tool.
  2. Select the part either in the Tree View or by clicking directly on it in the 3D View.
  3. Open the Data tab in the Property View panel (usually located at the bottom left).
  4. Locate the property named fixedPosition.
  5. Change the value from false to true.
  6. Alternatively, select the part and click the Toggle freeze/fix status of selected part button (represented by a padlock icon) in the A2plus toolbar.

A small lock icon will appear next to the part in the Tree View, confirming that its position is static.

How to Define and Constrain Floating Parts

All newly imported components are floating by default (fixedPosition set to false). To position floating parts correctly relative to fixed parts:

  1. Pre-position the part: Click the floating part and use the A2plus Move/Rotate part tool to roughly orient it near its intended location. This helps the solver find the correct mathematical solution when multiple geometric orientations are possible.
  2. Select geometry: Hold Ctrl and select the reference geometries on both parts (e.g., two circular edges for a concentric alignment, or two planar faces for a flush mate). One selection must belong to a fixed/already constrained part, and the other must belong to the floating part.
  3. Apply the constraint: Click the appropriate constraint button on the A2plus toolbar (such as PointIdentity, PlaneCoincident, or CircleCenterIdentity).
  4. Configure properties: In the constraint dialog that appears, adjust options like offset distance, constraint flip/direction, or angle, then click Accept.
  5. Solve the assembly: Click the Solve assembly button (the orange calculator icon) to calculate and update the floating part’s position.

Best Practices to Prevent Solver Failures

  • Only fix one base part: Avoid setting multiple parts to fixedPosition = true unless they have zero constraints between them. Constraining two fixed parts to each other will cause an over-constraint error.
  • Apply constraints progressively: Add one constraint at a time and run the solver. This makes it immediately obvious which constraint caused a failure if the solver throws an inconsistency warning.
  • Check remaining degrees of freedom: If a floating part moves unexpectedly or fails to update, check the Tree View for missing constraints. A part must be fully constrained by restricting all six degrees of freedom, or left partially floating if it represents a movable kinematic mechanism.