Funded Software

The Open Toolchain Foundation is funding software development that can improve the open toolchain. We hope to build a community around these projects and let them develop independently.


This project shows a mockup / wireframing of a PDM system based on Git.

Screenshot of the wireframing of Git PDM

The Open Toolchain feels that such a system would pose an important link in open toolchains for engineering. The mockups were created by Kaspar Emanuel who is known for the KitSpace project.


Snapping in the FreeCAD Sketcher Workbench

In this project Pierre-Louis Boyer (paddle) worked on snapping in the Sketcher Workbench. Pierre-Louis is a very active FreeCAD developer working mainly on the Sketcher workbench. Since this project he has been hired by Ondsel to continue adding improvements to FreeCAD.

The Sketcher Workbench is a fundamental tool for both the “Constructive Solid Geometry” methodology and the “Feature Editing” methodology (both methodologis for creating 3D designs). The Sketcher workbench has several tools, accessible via buttons, to create 2D constrained geometries such as: lines, rectangles, and circles.

Snapping allows one to automatically snap geometry to other existing geometry, for example at midpoints of existing geometry such as lines and arcs. The work started with a lively discussion on the forum on how to implement it best. Users were consulted for activiating the snapping. A challenging problem with snapping on hyperboles was solved via a Stack Exchange message where a community member provided an answer:

Screenshot of the Stack Exchange Question


Snapping has been sucessfully implemented and it has been merged into the main FreeCAD code!

Curve drawing in the FreeCAD Sketcher Workbench

As explained under above, the Sketcher Workbench has various tools for drawing 2D geometry. For this project, tools were added that take user-defined points and create curves passing through those points, an important addition to the capabilities of the Sketcher Workbench.

The work has been performed by Ajinkya Dahale (forum username “jnxd”) as an employee of Ondsel, led by Brad Collette (forum username “sliptonic”), a well-known FreeCAD community member. Ajinkya Dahale is the expert on drawing curves in FreeCAD and has recently made significant contributions in this area in close collaboration with and funded by the community.

The development started with a post on the FreeCAD forum announcing the development requesting user-input. The discussion went into features for the curve drawing and the user interface. The discussion continued in the Github issue and the pull request that discussed implementation details with the core developer “abdullah” of the Sketcher workbench.


The software development has been successful and has been merged into FreeCAD.

Interoperability Database

The Interoperability Database has been developed by Dave Cowden, the initiator of the coded CAD solution CadQuery, Mark van der Net, the initiator of the coded CAD solution Archiyou, and Jeremy Wright, the creator of the FreeCAD CadQuery Workbench. They are major exponents of the coded CAD community that focuses on drawing 3D geometry with source code. This is especially useful for component that are often needed and have varying size, such as nuts, bolts and profiles. The development was announced on the FreeCAD Forum and explained on our own Open Toolchain Foundation forum.

The developed interoperability database is useful for any CAD program and can be accessed by a generic REST interface. An important goal for the Open Toolchain Foundation is interoperability between various CAD programs. The developed OCCI database is an important step towards this goal. Their video shows how this service can is used by FreeCAD to directly import a nut, dynamically change parameters such as a switch from M2 to an M5 screw, and loading a profile and dynamically changing the size from 200 to 300 mm. So, these components can be customized on the fly and loaded directly in FreeCAD.


The approach has been very succesful and well documented:

Implementation of electromagnetic simulations

Uwe Stöhr is a prominent member of FreeCAD with many forum posts and manages all new releases of FreeCAD. As an expert on finite element methods (methods typically used to simulate physics properties of materials) he implemented electromagnetic simulations in 2D and 3D. The forum post announced the work with a first target into solving the electromagnetic simulations in 2D. Then the work focused on doing the same in 3D which was achieved.

This work has completed successfully and the forum posts shows impressive visualizations of magnetic fields.

Screenshot of a forum posts with an electromagnetic simulation


The work has already been merged into FreeCAD. The forum post links to various wiki pages that provide documentation for users.

Improvement of FreeCAD’s Architectural Modeling

Yorik van Havre is one of the main contributors to FreeCAD with thousands of commits. As an architect he is constantly improving FreeCAD’s architectural modeling. In several blog posts he writes about the software development to communicate the progress with his followers. Other discussions take place on Github in issues.

The goal of the software development was to natively support Industry Foundation Classes (IFC) files. This allows FreeCAD to view, edit, and save IFC files directly allowing exchange of IFC files between different programs that support IFC files. This interoperability is an important goal of the Open Toolchain Foundation.

Screenshot native IFC 2D output


The project first focused on loading the IFC components in FreeCAD with good performance. It is also possible to save the files as IFC files and view the IFC components in the FreeCAD GUI. Finally, basic editing features have been added and at the moment, more than 90 % of the groundwork is done. With all of the basic functionality completed, FreeCAD has a solid, fast, and efficient IFC platform. All of the edit system is in place and working so a change in an IFC document in FreeCAD only changes the related parts in the IFC file.