The previous article in this series introduced FreeCAD, which is currently the only noteworthy, fully free, open-source alternative to commercial 3D CAD software. This article, on the other hand, is a result of the release of the new stable version of this software – FreeCAD 0.21, which took place on August 2, 2023. Initially, this version was supposed to be named FreeCAD 1.0 and was expected to include a long-awaited solution to the Topological Naming Problem (TNP), described in the previous article. However, these plans were changed.
Since over a year has passed since the release of the previous version, and the next set of improvements meant to practically eliminate TNP will lead to a temporary performance drop in the software, the decision was made to release version 0.21. The work on solving the TNP issue is still ongoing, and the next version should be the groundbreaking one in this regard. Meanwhile, FreeCAD 0.21 has introduced numerous new features. The list of enhancements can be found on the Release notes 0.21 page. Without a doubt, the sketcher, the 2D documentation module, and the Finite Element Analysis module (MES) have gained the largest number of new functionalities. The most important of those changes will be discussed in the subsequent part of the article.
New features in the Sketcher
The module in which one usually spends the most time during 3D modeling is the sketcher. Hence, the comfort while working in this environment is particularly important. FreeCAD is still lacking a few useful sketching tools that are available in commercial CAD software, but those limitations can usually be easily circumvented and efforts are already underway to comprehensively address those shortcomings. The new version has introduced many interesting improvements, ranging from minor functionalities that facilitate sketching to completely new tools.
Several changes concern splines – greater control over their handles is possible now and a new way of drawing them has been implemented – as passing through specified points called knots (previously, only control points could be drawn directly). Moreover, an additional tool has been added for connecting 2 curves into a spline.
The sketcher’s grid has also been improved – now it automatically adjusts to the zoom level. On the other hand, the lists of constraints and geometry objects have been simplified for more clarity.
Basic layer functionality has also been introduced. The length dimensioning tool has gained the ability to define the distance between 2 circles or between a circle and a line. As for the tangency constraint, it can now also serve as a concentricity constraint when circles, arcs, or ellipses are selected. The snapping features (which are not the same as auto-constraints) have also been expanded – in addition to snapping to the sketcher’s grid, it is now also possible to snap to the midpoint of a line and to specific angles (e.g. every 10 degrees). Smaller changes include the removal of redundant or rarely used buttons from the toolbar and an improvement in working in the back view of the sketch plane.
New features in the technical drawing workbench
The TechDraw workbench, used for the preparation of 2D technical drawings based on 3D models, can currently be considered the fastest-growing module in FreeCAD. The previous version (0.20) introduced over 30 new tools to enrich drawings with various cosmetic aspects. FreeCAD 0.21 took a step further and introduced several very useful, previously missing functionalities. The first one is a tool that allows adding surface finish symbols based on ISO and ASME standards. Discussions are still ongoing to enhance this option and ensure full compliance with the latest standards.
Another significant addition is a tool for complex section views. Previously, in TechDraw, only simple section views were available and to create more advanced types one had to manual cut the 3D model. Now, it is possible to automatically generate half, offset (shown in the image below) and aligned section views. Broken-out and rotated/removed sections still require some workarounds.
Another new functionality is the tool for shaft and hole tolerance symbols according to ISO 286 standard. An option to dimension axonometric views has also been added, making it easier to create dimensions on 3D views without the need to manually link those dimensions with 3D geometry. An ability to adjust gaps between geometry and dimension extension lines has been introduced as well. In addition to the new tools, significant changes also include algorithms used by the TechDraw workbench. Hidden line removal and face detection can now utilize multiple CPUs. The face detection algorithm itself has been significantly improved, making it easier to properly hatch selected areas. A function has also been added to eliminate redundant, overlapping edges returned by the hidden line removal algorithm.
Future development plans for this module, in addition to fixes related to TNP, currently include improvements in weld symbols, introduction of coordinate dimensions, break (interrupted) views and GD&T Feature Control Frames (currently, they must be created manually).
Improvements in the FEM workbench
The last part of FreeCAD that has undergone such significant changes is the FEM workbench, used to perform FEA (Finite Element Analyses) with various free solvers. The primary mechanical solver here is CalculiX, but the novelties mainly apply to the implementation of Elmer which allows for several multiphysics simulation types. The most significant change was the substantial expansion of functionalities for electromagnetic analyses. In addition to the already supported electrostatic problems, 2D and 3D magnetodynamics analyses were added. Because of that, additional boundary conditions were introduced to define current density and magnetization. A contour plot tool (to create isolines/isosurfaces) for the visualization of fields, was also implemented. Support for the Elmer solver was extended to include nonlinear elasticity and elastic foundation problems as well.
Seemingly minor but highly significant changes for the convenience of working in this environment pertain to the so-called results pipeline, which is an object that stores analysis results and filters (based on ParaView) applied to them. Starting from FreeCAD 0.21, this object is automatically created for simulations conducted using the CalculiX solver. Furthermore, it is automatically updated when the simulation is repeated with modified input data.
Changes in other workbenches
There are also several other changes, affecting different modules, worth mentioning. The Persistent section cut tool introduced in the previous version to create persistent and temporary cuts based on global planes has gained the ability to cut overlapping objects. The navigation cube has been improved, and the ease of geometry selection for fillet, chamfer, draft, and thickness tools has been increased. New options have been added to the tools for hole creation and gear profile generation. Image import has been significantly simplified, eliminating the need to use a separate module. Now, the import process is the same as for other formats.
Many enhancements are related to the Draft module, primarily meant for 2D CAD-style workflows but also capable of creating 3D sketches and performing various useful operations on solid/surface models. Various minor bugs have been fixed and the functionality of some snapping tools has been expanded while also allowing all of them to be activated using user-defined keyboard shortcuts. Some improvements to array tools have also been made.
Future perspectives of FreeCAD
The aforementioned updates may not yet be the revolutionary changes expected in the next version of FreeCAD, but they bring significant improvements to the user experience with this software. The development of FreeCAD is progressing rapidly, and it has further accelerated thanks to the establishment of the non-profit organization called the FreeCAD Project Association (FPA) and the Ondsel company, founded by the developer of the Path (CAM) workbench. Their goals include more effective fundraising and hiring new developers while maintaining the open-source status.
Current objectives, in addition to addressing TNP, primarily include the introduction of a built-in assembly workbench (currently, there are three different modules available for this, requiring installation via the add-on manager) and a new material handling system. FreeCAD developers are also aware that the graphical user interface needs certain improvements and modernization, which is a long-term goal as well. Discussions are ongoing regarding the ability to create multiple separate bodies within a single Body object and other changes to the functionality of these objects to make them more versatile (potentially maybe even allowing for surface modeling directly within the Part Design workbench).
FreeCAD is participating in the Google Summer of Code 2023 project, where several volunteers under the guidance of mentors attempt to develop new functionalities. This year’s projects include the unification and enhancement of the measurement tools, the creation of an add-on to manage models from online repositories, the improvement of the documentation (shifting from a wiki-based system to a collection of Git-based files) and a tool to support on-machine inspection, allowing for the comparison of CNC machining results with CAD models.
The aforementioned FPA organization has also been hosting the first Hackathon in FreeCAD’s history in August 2023, taking place both in Vancouver and online. It led to interesting discussions about the future of FreeCAD.
As can be seen, FreeCAD is continuously evolving and while all forms of support are still very much welcome, the situation has noticeably improved. Most importantly, all users are encouraged to report any bugs they encounter. When reading user reviews, one may come across criticism regarding crashes in certain situations, but reporting them in the forum (Help on using FreeCAD section) often leads to a quick resolution of the issue, benefiting all users. Other potential bugs, ideas for new functionalities (in addition to those already suggested), or doubts regarding FreeCAD are also worth discussing in the forum. Response times are typically very short there and experienced users are eager to help in any way they can. Lastly, it is worth encouraging readers to stay updated on FreeCAD’s further development by following its blog: FreeCAD News.