Scripting

This page is the starting point for scripting in FreeCAD. As FreeCAD use Python as its scripting language we encourage you to first learn the basics of Python programming before continuing with this documentation.

Basics

 * The Python tutorial
 * FreeCAD Scripting Basics

Modules
As the functionality of FreeCAD is separated in Module which deal with special data types and applications, here is the starting points for the special scripting:

Meshes
The Mesh Module handles all kind of meshes. Scripting is described in the Mesh Scripting Article.

Part
The Part Module deal with the CAD data structures.

Drawing/Reporting
The Drawing Module is in place for bring the 3D world on a paper/drawing.

Cam
The Cam Module is dedicated to mechanical machining like milling.

Raytracing
The Raytracing Module brings all kind of shapes to renders (like PovRay).

Misc
code snippets : A collection of pieces of FreeCAD python code, to serve as ingredients in your scripts...

draft module : In development: Experiments with building a complete python module. Includes DXF and SVG importers, and several 2D functions.