====== FreeCAD ====== [[https://freecad.org|FreeCAD]] is a free and open-source general-purpose parametric 3D computer-aided design (CAD) modeler. It is developed primarily for mechanical engineering product design but also expands to other fields, including architecture, finite element method (FEM) analysis, and 3D printing. As a parametric modeler, FreeCAD allows users to create designs based on parameters and constraints. This means that design dimensions and relationships can be modified at any point, and the model will automatically update, providing a flexible and non-destructive workflow. Being open-source, its source code is publicly available, and it is driven by a community of developers and users. ===== Key Features ===== FreeCAD's functionality is organized into a modular architecture of workbenches. Each workbench groups a set of tools tailored for a specific task, allowing the user interface to remain uncluttered while offering a wide array of capabilities. **Modular Architecture**: Users can switch between different workbenches to access specialized toolsets. New workbenches can be added as plugins, many of which are developed by the community. **Part Design Workbench**: This is a core workbench for creating solid 3D parts. It uses a feature-based approach where a solid is built up from a base feature by adding or removing material through subsequent operations (e.g., pads, pockets, fillets). **Sketcher Workbench**: A fundamental tool used in many other workbenches. The Sketcher allows for the creation of 2D geometry using dimensional constraints (e.g., length, angle) and geometric constraints (e.g., horizontal, parallel, tangent). This fully constrained 2D sketch then serves as the basis for 3D shapes. **Arch Workbench**: Designed for architectural design and Building Information Modeling (BIM). It allows users to create architectural elements like walls, windows, and structural components. **FEM Workbench**: Provides a modern Finite Element Analysis workflow, allowing users to perform simulations to analyze the mechanical properties of their designs. **Path Workbench**: Used to generate G-code instructions for CNC machines directly from the 3D model, facilitating computer-aided manufacturing (CAM). **Extensibility and Scripting**: FreeCAD is highly customizable. A significant portion of its tools and workbenches are written in Python. Users can create and run scripts in the integrated Python console to automate complex or repetitive tasks.