Getting started

From FreeCAD Documentation

Note: FreeCAD is still in ALPHA state and not in shape for end user usage

Foreword

FreeCAD is a CAD/CAE parametric modeling application. It is still in early stage of development, so don't expect to be able to use it to produce work already. But, if you are curious about what FreeCAD looks like and what features are being developed, you are welcome to download it and give it a try. At the moment, much functionality is already present, but not much user interface has been created for it. This means that if you know a bit of python, you will already be able to produce and modify geometry relatively easily. If not, you will probably find that FreeCAD still has few to offer to you. But, be patient, this is expected to change soon.

And if after testing you have feedback, ideas or opinions, please share it with us on the FreeCAD discussion forum!

Installing

First of all (if not done already) download and install FreeCAD. See the Download page for information about current versions and updates. There are install packages ready for Windows (.msi), Ubuntu (.deb) and openSUSE (.rpm). Installation is pretty straightforward and shouldn't give you any problem. At the moment there is no package for Mac OSX but we are working on it...

Exploring FreeCAD

The FreeCAD interface. See more screenshots here.

FreeCAD is a general all-purpose 3D modeling application, focused on mechanical engineering and related areas, such as other engineering specialties or architecture. It is conceived as a platform for developing any kind of 3D application, but also for doing very specific tasks. For that purpose, its interface is divided into a serie of Workbenches. Workbenches allow to change the interface contents to display all and only the tools necessary for a specific task, or group of tasks.

The FreeCAD interface can therefore be described as a very simple container, with a menu bar, a 3D view area, and a couple of side panels for displaying the scene contents or object properties. All the contents of these panels can be changes depnding on the workbench.

Several workbenches of FreeCAD contain already enough functionality to produce and modify geometry: The Mesh workbench, for example, is designed to handle mesh objects. The Part workbench gives you access to a more powerful CAD kernel. There is also a 2d Draft workbench available as a plugin.

Some things you can do with the Mesh workbench:

  • Import and export meshes in several file formats
  • Convert Part objects into meshes
  • Analyse curvature, faces, and check if a mesh can be safely converted into a solid
  • Close holes or remove faces of meshes
  • Union, subtract and intersect meshes
  • Create mesh primitives, like cubes, spheres, cones or cylinders
  • Cut meshes along a line

Some things you can do with the Part workbench:

  • Create primitive geometry like Plane, Box, Cylinder, Cone, Sphere, Ellipsoid and Torus
  • Import shapes from other file formats
  • Union, subtract, intersect shapes
  • Extrude flat shapes
  • Fillet edges of shapes

Some things you can do with the Draft workbench:

  • Create lines, circles, arcs, and rectangles
  • Change those objects into flat shapes
  • Move, rotate, offset, trim, or extend shapes
  • Import and export 2D drawings to other file formats

Scripting in FreeCAD

Since FreeCAD is still in alpha stage, those workbenches have at the moment very few elements of user interface (icons & buttons), but much more functionality is available by python scripting. Each FreeCAD workbench is also a python module, that can be loaded and manipulated from the built-in python interpreter. FreeCAD has been made from start to be extensively scriptable, and, if you can program a bit of python, you will be amazed by the power you have in FreeCAD!

Python scripting in FreeCAD is very easy, you can get an idea about it by reading FreeCAD Scripting Basics. To know what you can do with the Mesh Module by scripting, read the Mesh Scripting page. In a similar way, the Topological data scripting page shows how to access and use the Part Module.