- Version 0.12 Release notes : Check what's new in the 0.12 release of FreeCAD
- Version 0.13 Release notes : Check what's new in the 0.13 release of FreeCAD
FreeCAD is a CAD/CAE parametric modeling application. It is still in the early stages 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 complex geometry relatively easily. If not, you will probably find that FreeCAD still has little 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!
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 & Debian (.deb) openSUSE (.rpm) and Mac OSX.
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 series 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 changed depending on the workbench.
When you start FreeCAD for the first time, you will be presented a "general" workbench, that we call "complete workbench". This workbench simply gathers the most mature tools from other workbenches. Since FreeCAD is pretty young and not yet used for very specialized work, this workbench is very handy for discovering FreeCAD more easily. Basically, all the tools that are good enough for producing geometry are here.
FreeCAD has three different navigation modes available, that can be set in the preferences settings dialog or changed by right-clicking in the 3D view. For full details about the modes, see the Mouse Model page. For the default mode ("CAD Navigation"), the commands are as follows,
You also have several view presets (top view, front view, etc) available in the View menu and on the View toolbar, and by numeric shortcuts ( , , etc...)
These are tools for creating objects.
- Line: Draws a line segment between 2 points
- Wire: Draws a line made of multiple line segments (polyline)
- Circle: Draws a circle from center and radius
- Arc: Draws an arc segment from center, radius, start angle and end angle
- Ellipse: Draws an ellipse from two corner points
- Polygon: Draws a regular polygon from a center and a radius
- Rectangle: Draws a rectangle from 2 opposite points
- Text: Draws a multi-line text annotation
- Dimension: Draws a dimension annotation
- BSpline: Draws a B-Spline from a series of points
- Point: Inserts a point object
- ShapeString: The ShapeString tool inserts a compound shape representing a text string at a given point in the current document
- Facebinder: Creates a new object from selected faces on existing objects
- Bezier Curve: Draws a Bezier curve from a series of points
- Label: Places a label with an arrow pointing to a selected element introduced in version 0.17
These are tools for modifying existing objects. They work on selected objects, but if no object is selected, you will be invited to select one.
- Move: Moves object(s) from one location to another
- Rotate: Rotates object(s) from a start angle to an end angle
- Offset: Moves segments of an object about a certain distance
- Trim/Extend (Trimex): Trims or extends an object
- Upgrade: Joins objects into a higher-level object
- Downgrade: Explodes objects into lower-level objects
- Scale: Scales selected object(s) around a base point
- Drawing: Writes selected objects to a Drawing sheet
- Edit: Edits a selected object
- Wire to BSpline: Converts a wire to a BSpline and vice-versa
- Add point: Adds a point to a wire or BSpline
- Delete point: Deletes a point from a wire or BSpline
- Shape 2D View: Creates a 2D object which is a flattened 2D view of another 3D object
- Draft to Sketch: Converts a Draft object to Sketch and vice-versa
- Array: Creates a polar or rectangular array from selected objects
- Path Array: Creates an array of objects by placing the copies along a path
- Clone: Clones the selected objects
- Mirror: Mirrors the selected objects
- Stretch: Stretches the selected objects introduced in version 0.17
Additional tools available via right-click context menu, depending on the selected objects.
- Set working plane: Sets a working plane from a standard view or a selected face
- Finish line: Ends the drawing of the current wire or bspline, without closing it
- Close line: Ends the drawing of the current wire or bspline, and closes it
- Undo line: Undoes the last segment of a line
- Toggle construction mode: Toggles the Draft construction mode on/off
- Toggle continue mode: Toggles the Draft continue mode on/off
- Apply style: Applies the current style and color to selected objects
- Toggle display mode: Switches the display mode of selected objects between "flat lines" and "wireframe"
- Add to group: Quickly adds selected objects to an existing group
- Select group contents: Selects the contents of a selected group
- Toggle snap: Toggles object snapping on/off
- Toggle grid: Toggles the grid on/off
- Show snap bar: Shows/hides the snapping toolbar
- Heal: Heals problematic Draft objects found in very old files
- Flip Dimension: Flips the orientation of the text of a dimension
- VisGroup: Creates a VisGroup in the current document
- Slope: Changes the slope of selected Lines or Wires introduced in version 0.17
- AutoGroup: Automatically place new objects in a given group introduced in version 0.17
- Set Working Plane Proxy: Add a proxy object in the document to store a Working Plane position introduced in version 0.17
- Add to Construction group: Add selected objects to the Construction group introduced in version 0.17
- Preferences...: Preferences disposable in Draft Tools.
These are tools for creating, configuring and exporting 2D drawing sheets
- Open scalable vector graphic: Opens a drawing sheet previously saved as an SVG file
- New A3 landscape drawing: Creates a new drawing sheet from FreeCAD's default A3 template
- Insert a view: Inserts a view of the selected object in the active drawing sheet
- Annotation: Adds an annotation to the current drawing sheet
- Clip: Adds a clip group to the current drawing sheet
- Open Browser: Opens a preview of the current sheet in the browser
- Ortho Views: Automatically creates orthographic views of an object on the current drawing sheet
- Symbol: Adds the contents of a SVG file as a symbol on the current drawing sheet
- Draft View: Inserts a special Draft view of the selected object in the current drawing sheet
- Spreadsheet View: Inserts a view of a selected spreadsheet in the current drawing sheet
- Save sheet: Saves the current sheet as a SVG file
- Project Shape: Creates a projection of the selected object (Source) in the 3D view.
Reason for deletion: No pages link to this template so it can be deleted. The tools have been integrated into the main document Raytracing Workbench.
And finally, one of the most powerful features of FreeCAD is the scripting environment. From the integrated python console (or from any other external Python script), you can gain access to almost any part of FreeCAD, create or modify geometry, modify the representation of those objects in the 3D scene or access and modify the FreeCAD interface. Python scripting can also be used in macros, which provide an easy method to create custom commands.