Preface

FreeCAD is a general purpose modeling tool aimed at the engineering world. Unlike other modeling tools such as Blender or Maya, which are designed for animators and artists, FreeCAD puts heavy emphasis on parametric, feature-based design.

Originally designed for Mechanical Engineering and Product Design, FreeCAD is now being developed to add functionality for a wide cross-section of engineering disciplines.

A great deal of foresight and planning has gone into the underlying technology of FreeCAD. The result is a tool that is powerful, easy to use, and easy to extend.

The pervasive use of the powerful scripting language Python is partly responsible for FreeCAD's flexibility and rapid development. End users have access to this power as well, in several different ways. From recording macros that automate simple tasks to directly creating and manipulating geometry, almost anything is possible.

Virtually every aspect of the FreeCAD application is accessible through the built-in Python interpreter. Even the user interface can be accessed and extended with Python code, permitting the user to create new dialog screens and entire modules that extend the core functionality. An example of how far this concept can be pushed is the Arch module. This workbench is being developed by Yorik van Havre to provide architectural design capabilities. It is written entirely in Python.

Preface

Its open architecture, extensible design, rapid development pace, and enthusiastic community make up for many of its limitations. It runs equally well on all three major platforms and has been translated into numerous languages. That, along with its free price tag, means anyone can experiment with FreeCAD now.