Welcome to a practical, beginner-friendly course designed to teach you core skills in creating dynamic, data-driven 3D models using FreeCAD’s powerful built-in tools, spreadsheets, expression editor, and VarSets. Whether you’re an engineer, designer, maker, or hobbyist, this course will help you embed data directly into your designs to control dimensions, automate behavior, and build flexible models without any coding or scripting.
Welcome to a practical, beginner-friendly course designed to teach you core skills in creating dynamic, data-driven 3D models using FreeCAD’s powerful built-in tools, spreadsheets, expression editor, and VarSets. Whether you’re an engineer, designer, maker, or hobbyist, this course will help you embed data directly into your designs to control dimensions, automate behavior, and build flexible models without any coding or scripting.
You’ll start by mastering the fundamentals of parametric design in FreeCAD, including navigating the interface, understanding variable sets (VarSets) for centralized control, and using spreadsheets to manage model parameters. Using the expression editor, you’ll connect data across your model to drive intelligent, adaptable designs.
Throughout the course, you’ll work on real-world projects created from a beginner’s perspective: build a parametric toy brick, a hinged box that adapts to its length, and dynamic custom signs that automatically resize based on the text’s height and length pulled from spreadsheets. These hands-on examples will show you how to create smart, reusable components using configuration tables and variant links, making it easy to manage complex assemblies with different variants and visual properties.
By the end, you’ll confidently create fully parametric FreeCAD models that are easy to update, scalable, and ready for any design challenge. Enroll now and start building smarter, data-driven 3D designs with FreeCAD.
Master Parametric Design with Data-Driven Tools in FreeCAD a Beginner Friendly but extensive tutorial giving you core skills in creating data driven dynamic models from datasources.
Welcome to "Parametric Design with Data-Driven Tools in FreeCAD" a practical, beginner-friendly course that will teach you how to create intelligent, flexible 3D models using spreadsheets, expression editor, and variable sets (VarSets) in FreeCAD, one of the most powerful open-source parametric 3D CAD modelers.
Whether you're an engineer, designer, maker, or hobbyist, this course will help you embed data directly into your designs to drive model dimensions, control key parameters, and automate design behavior — all without the need for advanced coding or scripting.
What You'll Learn
The fundamentals of parametric design in FreeCAD
How to use spreadsheets to control dimensions and parameters
Setting up variable sets (VarSets) for centralized control
Using the expression editor to connect data across your model
Creating smart, reusable, and adaptable 3D models using configuration tables
Real-world project examples built from a beginner's perspective like the parametric toy brick, a box with hinges that adapt to the length of the box, and dynamic configurable sign written signs that adapt the the height and length of the text driven from a spreadsheet.
Who Is This Course For?
This course is designed for beginners and intermediate users who want to take their FreeCAD skills to the next level through data-driven modeling techniques. You only need basic familiarity with FreeCAD's interface, especially navigating the 3D view and the tree view.
f you're completely new to FreeCAD, we recommend starting with our Ultimate Beginner’s Course, which covers the essentials of modeling with the Part Design Workbench and assembling components using the Assembly Workbench.
Why Take This Course?
No need for complex scripts — everything is done using built-in FreeCAD tools
Learn powerful techniques used in real-world engineering workflows
Create fully parametric models that are easy to update and scale via datasources
Enhance your productivity and make your designs smarter and more efficient
By the end of this course, you'll be able to confidently build data-driven 3D models in FreeCAD with parametric control, making your designs more powerful, adaptable, and ready for any challenge.
Enroll now and start building smarter with FreeCAD!
We start with the basics of using a data source to drive and configure your models, covering both spreadsheets and varsets. We explore how to set up configuration tables and create dropdowns in the model container, allowing you to easily select from different options that apply custom parameters defined in spreadsheet rows. We also compare spreadsheets and varsets, and cover dependency cycles, what they are and how to avoid them.
We then move into our first project: a fully parametric toy brick controlled via a spreadsheet. This is where you’ll apply the foundational knowledge from the previous section and build core skills in creating expressions that link to spreadsheet values. These expressions control dimensions such as height, width, and length, as well as features like the number of tubes and stubs, all based on the brick’s unit size (e.g., 1x1, 1x2). Alongside FreeCAD modeling basics, you’ll learn how to use conditional functions to turn features on or off depending on the selected unit value.
Next is our second project, where you’ll model a box with dynamic hinges using varsets. The number of hinges adjusts automatically based on the box’s length to support larger lids. You’ll learn how to write expressions that respond to dimensions, and automatically integrate features, in this case, hinges, into your design. For example, if you're designing a box to hold a snooker cue, simply increasing the length via the varset will add the right number of hinges. You’ll also use Part Design’s Sub-Shape Binder to create a linked lid and container that remain flexible and consistent.
After that, we cover how to document design intent. You’ll learn how to add fields in spreadsheets to check parameter limits, use Draft features to label and annotate your designs, and understand why tracking this information is important.
Finally, we explore working with text in your spreadsheets and models. You’ll learn to create expressions using text properties and integrate spreadsheet-based text into your designs. This leads into a sign-making project where signs resize dynamically based on text content. Driven by a configuration table, these signs adapt their size based on text length and height, with padding values included for mounting space. You can select the text from a dropdown in the model container and watch the sign update instantly. You’ll be introduced to bounding boxes and variant links, allowing you to generate multiple, independently updating signs from a single model and export them together for 3D printing.
In this course, you'll learn how to use three powerful features in FreeCAD to control and supply data for your models: the expression engine, spreadsheets, and variable sets. We'll explore how the expression engine allows you to define parameters using math, functions, and logic for dynamic modeling. Spreadsheets will help you manage data like dimensions and properties in a table format, while variable sets offer a lightweight way to store data in name-value pairs. This course focuses on these core features, with a hands-on approach to data-driven parametric modeling. Perfect for beginners looking to get started with parametric design in FreeCAD!
In this tutorial, we’ll walk through how to use spreadsheets in FreeCAD to control model parameters. We’ll create a simple rectangle with adjustable length, width, and thickness, and link these values to the model using a spreadsheet. You’ll learn how to create and edit spreadsheets, set constraints, and use the expression editor to link spreadsheet cells to your 3D model. We’ll also cover how to use aliases for easier reference to cells. As you make changes in the spreadsheet, your model will automatically update, allowing for a flexible and data-driven design workflow.
In this section of the course, we’ll explore how to use variable sets (VarSets) to control model parameters in FreeCAD. You’ll learn how to create and manage VarSets, which store data in name-value pairs. We’ll work with common model properties like length, width, and thickness, and demonstrate how to connect these properties to your 3D model using the expression editor. Unlike spreadsheets, VarSets are lightweight and keep data strongly typed, ensuring accurate values throughout your model. By the end of this lesson, you’ll have a working setup where changing the values in your VarSet will automatically update your model in real time!
In this lesson, you’ll learn how to create and manage a configuration table within your spreadsheet model to control parameters like length, width, and thickness. Starting with a basic model, you’ll add a new column for configuration labels (e.g., Small, Medium, Large), define alias values, and link them to the model using a configuration table. You’ll also explore how to use dropdown menus to switch between different design setups, see real-time model updates, add new configurations like "Extra Large," and remove or modify the table when needed. This approach streamlines parametric design by making your model flexible, reusable, and easy to update.
In this lesson, we explore dependency cycles in FreeCAD—an important issue to understand when using spreadsheets to drive model parameters. You'll see how referencing values between a sketch and a spreadsheet can create circular dependencies that lead to errors and slow performance. The lesson demonstrates how to identify these cycles and resolve them by either restructuring your data flow or using a Variable Set (VarSet) to separate input values from derived references. By the end, you'll know how to safely manage data relationships and avoid unintended feedback loops in your models.
This lesson compares two powerful parameter management tools in FreeCAD: spreadsheets and variable sets (VarSets). You'll learn the strengths and trade-offs of each. Spreadsheets offer a flexible, familiar interface ideal for bulk data entry and sharing across files, while variable sets are more structured, efficient, and better suited for managing large numbers of parameters within a single part. The lesson also covers best practices for naming, customization, referencing parameters, and using configuration tables to create dynamic model options like small, medium, and large presets.
This project involves designing customizable toy bricks with adjustable lengths, widths, and heights. Each brick has a standard size of 8 mm by 8 mm, with a height of either 9.6 mm (high brick) or 3.2 mm (low profile). A 0.2 mm gap is required between bricks, so each side of the brick is reduced by 0.1 mm to ensure proper fitting. The design will be developed alongside a spreadsheet, allowing for easy parameter adjustments and more complex features like conditional parameters to suppress features when working producing a smaller sized brick.. By the end, you'll gain foundational skills applicable to future projects.
In this project, we’ll create a parametric box driven by a variable set. We’ll use the expression editor to calculate elements like hinge occurrences, allowing the box to grow and automatically increase the number of hinges needed. The data will be simplified with a variable set containing height, length, width, and a base value (base length), with the base length set as read-only to prevent accidental changes. During the project, you’ll encounter and resolve an error when scaling the box to a larger size, learning the reasons behind it. By the end, you'll have a box that can scale to any size.
When you're working on a design project, especially one involving customizable or complex data, adding documentation isn't just helpful, it's essential. Months down the line, you may not remember why certain decisions were made, and if someone else takes over your work, they'll need a clear understanding of the structure and logic behind it.
In this lesson, we'll explore how even simple notes and labels can make a big difference. You'll learn how to add meaningful context to your projects, from documenting calculated fields (like model thickness) to implementing smart error warnings that guide users when incorrect values are entered.
By the end of this video, you'll know how to build projects that are easier to maintain, easier to share, and less likely to break due to guesswork or misinterpretation.
In this project, you'll learn how to create geometry that dynamically adapts to the size of other elements, specifically, custom signs whose height and width are automatically determined by the physical length of the text.
We'll explore how to use a bounding box, a rectangular perimeter that surrounds a shape, to calculate the required dimensions. You'll also work with a configuration table, allowing you to generate multiple variations of a sign from a convenient drop-down menu within the body container.
To take things further, we'll introduce variant links in FreeCAD, a powerful feature that lets you reuse parts without duplicating geometry. These links reference the original object but allow changes to key properties like position, color, or content defined in the configuration table.
By the end of this project, you’ll be able to:
Dynamically size objects based on input data
Use bounding boxes for automated geometry scaling
Create reusable design variants with customized properties
Incorporate multiple visually distinct variants which can be exported.
This approach not only saves time but also improves flexibility and scalability in your design workflow.
OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.
Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.
Find this site helpful? Tell a friend about us.
We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.
Your purchases help us maintain our catalog and keep our servers humming without ads.
Thank you for supporting OpenCourser.