• Home
  • Blog
  • FreeCAD Variant Parts: Create Multiple Configurations of One Mechanical Design

FreeCAD Variant Parts: Create Multiple Configurations of One Mechanical Design

FreeCAD Variant Parts: Create Multiple Configurations of One Mechanical Design

In mechanical design, a single component often needs to be available in multiple sizes. A spacer may come in several lengths, a bracket may have different mounting dimensions, and a housing may need different widths for different applications.

Creating a separate CAD model for every variation can quickly become difficult to manage. When a design change is required, you may need to update multiple files, increasing the risk of inconsistencies.

FreeCAD provides a more efficient approach using parametric modeling, spreadsheet-driven configuration tables, and variant links. These tools allow you to define a base design, specify which parameters can change, and create multiple configurations without rebuilding the entire component from scratch.

In this guide, you will learn how to create configurable mechanical parts in FreeCAD, set up different design variations, and understand when this workflow is useful.

What Are Variant Parts in FreeCAD?

Variant parts are different configurations of the same underlying design. Each configuration changes selected dimensions or properties while retaining the main design intent.

For example, imagine designing an aluminum spacer with a fixed outer diameter but several possible lengths.

Configuration Outer diameter Inner diameter Length
Short 10 mm 5.1 mm 6 mm
Medium 10 mm 5.1 mm 12 mm
Long 10 mm 5.1 mm 20 mm

Note: These are illustrative dimensions for a tutorial, not manufacturing specifications.

A configuration table stores the predefined parameter values, while a variant link or supported binder workflow can create an instance that uses a selected configuration.

Why Use Configurable Parts Instead of Separate Models?

Managing multiple versions of a component manually can introduce unnecessary work.

  • Reduce duplication: Start with one master design instead of independently modeling every size.
  • Improve consistency: Keep shared design logic and geometry together.
  • Speed up revisions: Update the master model when a common feature needs to change.
  • Support product families: Organize standard and custom sizes in a repeatable workflow.
  • Improve reuse: Use configured parts in larger assemblies where appropriate.

The key is to distinguish between parameters that should vary between configurations and parameters that should remain common to all versions.

Step-by-Step: Create Multiple Configurations in FreeCAD

For this tutorial, we will create a configurable mechanical spacer with three length options. The same principle can be applied to brackets, mounting blocks, housings, and other parametric components.

Step 1: Create the Base Mechanical Part

  1. Open FreeCAD and create a new document.
  2. Switch to the Part Design workbench.
  3. Create a Body and start a sketch on the XY plane.
  4. Draw two concentric circles for the outer and inner diameters.
  5. Apply dimensional constraints to define the diameters.
  6. Use Pad to extrude the sketch and create the spacer.

For this example, use an outer diameter of 10 mm, an inner diameter of 5.1 mm, and an initial length of 6 mm. The goal is to build a fully constrained, editable parametric model rather than a static solid.

Step 2: Create a Spreadsheet for the Configurations

Switch to the Spreadsheet workbench and create a new spreadsheet. Rename its label to SpacerConfigs.

Enter the following example data:

Cell A: Variant B: OuterDiameter C: InnerDiameter D: Length
Row 3 Short 10 mm 5.1 mm 6 mm
Row 4 Medium 10 mm 5.1 mm 12 mm
Row 5 Long 10 mm 5.1 mm 20 mm

Keep the first row for column headings and leave row 2 available for the configuration table's active values. Configuration tables require a specific layout, so follow the setup dialog rather than simply creating a normal spreadsheet of values.

Step 3: Connect the Spreadsheet to the Model

The spreadsheet becomes useful when its values control actual model properties. For example, connect the Pad length to a spreadsheet parameter using an expression such as: SpacerConfigs.Length

  1. Assign the Length alias to the appropriate active-value cell in row 2.
  2. Select the Pad feature in the model tree.
  3. Locate its Length property.
  4. Click the expression control beside the property.
  5. Enter the spreadsheet expression using the actual spreadsheet label and alias.
  6. Confirm the expression and recompute the model.

Repeat this process for the sketch dimensions if you want the outer and inner diameters to vary between configurations.

Step 4: Set Up the Configuration Table

Once your model is connected to the spreadsheet:

  1. Right-click the designated configuration cell in row 2.
  2. Select Configuration table... from the context menu.
  3. In the setup dialog, identify the configuration-name column and the parameter columns that should change.
  4. Map the available configuration values to the appropriate properties.
  5. Confirm the setup.

FreeCAD will create a configuration selector for the configurable object. You can then choose Short, Medium, or Long to update the model's dimensions.

Step 5: Create Separate Variant Instances

Now you can create instances of the configured part. A typical workflow is:

  1. Create a Std Link to the configurable object.
  2. Set its Link Copy On Change property to Enabled.
  3. Change the link's placement so that it is visually separated from the original.
  4. Select a different configuration for the linked instance.
  5. Repeat for the remaining variants.

For example, one instance can use the Short configuration, another Medium, and a third Long. The official documentation also describes a PartDesign SubShapeBinder approach, using its Bind Copy On Change property instead.

Step 6: Test and Validate Each Configuration

Before using the variants in a production design, verify that each configuration behaves as expected:

  • Switch between the available configurations.
  • Check the dimensions in the property panel.
  • Recompute the document and confirm the geometry updates correctly.
  • Confirm that common design changes behave as intended.
  • Check for broken expressions, invalid geometry, or unexpected dependencies.
  • Save a backup before changing the configuration table's structure.

A configuration that produces valid geometry is not automatically suitable for manufacturing. Check clearances, strength, tolerances, and material requirements separately.

Configuration Tables vs. Manual Copies

Feature Configuration table workflow Separate manual copies
Define predefined sizes Yes Yes
Switch between predefined parameter sets Yes Usually manual
Reuse the underlying design logic Yes Depends on how copies are made
Manage multiple sizes consistently Easier when configured correctly More repetitive
Initial setup effort Higher Lower

Configuration tables are especially useful when the same design must be reused in many sizes. Manual copies can still be appropriate when the designs need to evolve independently.

Common Mistakes to Avoid

  1. Spreadsheet values do not update the model: Check that the property expressions reference the correct spreadsheet label and cell alias, then recompute the document.
  2. A configuration changes more dimensions than intended: Review which properties are included in the configuration table. Only designate dimensions that should vary.
  3. Linked variants behave unexpectedly after editing the original: Review the link's copy-on-change settings and understand which changes are shared and which are local to the variant.
  4. The model fails at certain sizes: Check sketch constraints, minimum wall thickness, feature dependencies, and whether the geometry remains valid across all parameter combinations.

Where Can You Use FreeCAD Variant Parts?

This approach is useful across several engineering workflows:

  • Mechanical design: spacers, shafts, brackets, and mounting plates.
  • Product development: housings, enclosures, and product families.
  • Manufacturing: standard component sizes and configurable fixtures.
  • Assembly design: reusable parts with different dimensions or configurations.
  • Engineering education: demonstrating parametric design and design intent.

It is particularly useful when the geometry is largely shared but a few parameters need to change for different applications.

Conclusion

FreeCAD's configuration tables and variant links provide a practical way to create multiple versions of one parametric design. Instead of managing a collection of unrelated files, you can define parameter sets, connect them to your model, and create configured instances for reuse.

Start with a simple spacer or mounting bracket, test a few configurations, and then apply the same workflow to more complex mechanical components. The key is to build a stable parametric model first and clearly define which dimensions should change between configurations.

Learn More with CADArtifex

Want to improve your FreeCAD modeling skills and work on practical CAD projects? Explore the Complete FreeCAD for Beginners – No Experience Needed course from CADArtifex.

Explore the FreeCAD Course