Sandbox:Online Help ToC v2

Introduction
This is the documentation website of FreeCAD. It is written by the community of FreeCAD users and developers, and is continuously being updated and extended. It might therefore contain errors, inaccuracies, or articles that describe functionality that is not yet available on the version you have installed. We try our best to fix these and make this documentation better, don't hesitate to help and contribute!


 * Welcome
 * About FreeCAD
 * Features list
 * Release notes 011
 * Release notes 012
 * Release notes 013
 * Release notes 014
 * Release notes 015
 * Install on Windows
 * Install on Linux/Unix
 * Install on Mac

Getting started
FreeCAD is an open-source general purpose parametric 3D CAD modeler, made for product design, that is, anything you plan to build in the real world. It is mainly made for two categories of users: Professional users from the fields of mechanical engineering and product design but also from a wider range of uses around engineering, such as architecture or other engineering specialties, and also hobbyist and casual users who need a tool to model objects they want to build or 3D print. It can also be used by developers who wish to build their own application using FreeCAD as a base.

Modeling for product design is usually a complex task, where precision is important. FreeCAD is therefore also a complex tool with a fair learning curve. This documentation will hopefully help to make this learning phase an interesting and enjoyable experience.


 * Getting started
 * The FreeCAD interface CLEANUP
 * Navigating in the 3D space
 * The FreeCAD Document
 * Working with parametric objects CLEANUP
 * Import and export to other filetypes

Workbenches
The FreeCAD interface is based on the concept of workbenches. Workbenches are sets of tools typically designed for a specific task. Switching between these workbenches changes several parts of the FreeCAD interface such as toolbars and menus, while still working on the same document. Most of the tasks you will do in FreeCAD will require a specific workbench to be activated.


 * The Part workbench provides basic tools for working with solid parts: primitives, such as cube and sphere, and simple geometric operations and boolean operations. The Part workbench provides the foundation of FreeCAD's geometry system, and is used by almost all other workbenches.
 * [[Image:Part_Box.png|16px]] Box
 * [[Image:Part_Cone.png|16px]] Cone
 * [[Image:Part_Cylinder.png|16px]] Cylinder
 * [[Image:Part_Sphere.png|16px]] Sphere
 * [[Image:Part_Torus.png|16px]] Torus
 * [[Image:Part_CreatePrimitives.png|16px]] CreatePrimitives
 * [[Image:Part_Shapebuilder.png|16px]] Shapebuilder
 * [[Image:Part_Booleans.png|16px]] Booleans
 * [[Image:Part_Fuse.png|16px]] Fuse
 * [[Image:Part_Common.png|16px]] Common
 * [[Image:Part_Cut.png|16px]] Cut
 * [[Image:Part_Extrude.png|16px]] Extrude
 * [[Image:Part_Fillet.png|16px]] Fillet
 * [[Image:Part_Revolve.png|16px]] Revolve
 * [[Image:Part_Section.png|16px]] Section
 * [[Image:Part_SectionCross.png|16px]] Cross sections
 * [[Image:Part_Chamfer.png|16px]] Chamfer
 * [[Image:Part_Mirror.png|16px]] Mirror
 * [[Image:Part_RuledSurface.png|16px]] Ruled Surface
 * [[Image:Part_Sweep.png|16px]] Sweep
 * [[Image:Part_Loft.png|16px]] Loft


 * The Draft workbench provides tools to do basic 2D CAD drafting tasks: lines, circles, etc... and also provides generic handy tools that work with all FreeCAD objects, such as move, rotate or scale. It also provides several drawing aids, such as grid and snapping.
 * [[Image:Draft_Line.png|16px]] Line
 * [[Image:Draft_Wire.png|16px]] Wire
 * [[Image:Draft_Circle.png|16px]] Circle
 * [[Image:Draft_Arc.png|16px]] Arc
 * [[Image:Draft_Ellipse.png|16px]] Ellipse
 * [[Image:Draft_Polygon.png|16px]] Polygon
 * [[Image:Draft_Rectangle.png|16px]] Rectangle
 * [[Image:Draft_Text.png|16px]] Text
 * [[Image:Draft_Dimension.png|16px]] Dimension
 * [[Image:Draft_BSpline.png|16px]] BSpline
 * [[Image:Draft_Point.png|16px]] Point
 * [[Image:Draft_ShapeString.png|16px]] ShapeString
 * [[Image:Draft_Facebinder.png|16px]] Facebinder
 * [[Image:Draft_BezCurve.png|16px]] Bezier Curve
 * [[Image:Draft_Move.png|16px]] Move
 * [[Image:Draft_Rotate.png|16px]] Rotate
 * [[Image:Draft_Offset.png|16px]] Offset
 * [[Image:Draft_Trimex.png|16px]] Trim/Extend
 * [[Image:Draft_Upgrade.png|16px]] Upgrade
 * [[Image:Draft_Downgrade.png|16px]] Downgrade
 * [[Image:Draft_Scale.png|16px]] Scale
 * [[Image:Draft_PutOnSheet.png|16px]] Drawing
 * [[Image:Draft_Edit.png|16px]] Edit
 * [[Image:Draft_WireToBSpline.png|16px]] Wire to BSpline
 * [[Image:Draft_AddPoint.png|16px]] Add point
 * [[Image:Draft_DelPoint.png|16px]] Delete point
 * [[Image:Draft_Shape2DView.png|16px]] Shape 2D View
 * [[Image:Draft_Draft2Sketch.png|16px]] Draft to Sketch
 * [[Image:Draft_Array.png|16px]] Array
 * [[Image:Draft_PathArray.png|16px]] Path Array
 * [[Image:Draft_Clone.png|16px]] Clone


 * The Mesh workbench is dedicated to working with triangular meshes. Although these are not the primary type of geometry to work with in FreeCAD, meshes have a lot of uses, and are fully supported. This workbench contain many tools to work with, fix and analyze meshes.


 * The Sketcher workbench contains tools to build and edit constraint-driven 2D sketches. These are the base blocks on which you can build complex parametric geometry.
 * [[Image:Sketcher_NewSketch.png‎‎|16px]] New sketch
 * [[Image:Sketcher_EditSketch.svg|16px]] Edit sketch
 * [[Image:Sketcher_LeaveSketch.png|16px]] Leave sketch
 * [[Image:Sketcher_ViewSketch.png‎|16px]] View sketch
 * [[Image:Sketcher_MapSketch.png‎|16px]] Map sketch to face
 * Reorient sketch
 * Validate sketch
 * [[Image:Sketcher_CreatePoint.png|16px]] Point
 * [[Image:Sketcher_Line.png|16px]] Line by 2 point
 * [[Image:Sketcher_Arc.png|16px]] Arc
 * [[Image:Sketcher_Create3PointArc.svg|16px]] Arc by 3 Point
 * [[Image:Sketcher_Circle.png|16px]] Circle
 * [[Image:Sketcher_Create3PointCircle.svg|16px]] Circle by 3 Point
 * [[Image:Sketcher_CreatePolyline.png|16px]] Polyline
 * [[Image:Sketcher_CreateRectangle.png|16px]] Rectangle
 * [[Image:Sketcher_CreateTriangle.svg|16px]] Triangle
 * [[Image:Sketcher_CreateSquare.svg|16px]] Square
 * [[Image:Sketcher_CreatePentagon.svg|16px]] Pentagon
 * [[Image:Sketcher_CreateHexagon.svg|16px]] Hexagon
 * [[Image:Sketcher_CreateHeptagon.svg|16px]] Heptagon
 * [[Image:Sketcher_CreateOctagon.svg|16px]] Octagon
 * [[Image:Sketcher_CreateSlot.svg|16px]] Slot
 * [[Image:Sketcher_CreateFillet.png|16px]] Fillet
 * [[Image:Sketcher_Trimming.png|16px]] Trimming
 * [[Image:Sketcher_External.png|16px]] External Geometry
 * [[Image:Sketcher_AlterConstruction.png|16px]] Construction Mode
 * [[Image:Constraint_PointOnPoint.png|16px]] Coincident
 * [[Image:Constraint_PointOnObject.png|16px]] Point On Object
 * [[Image:Constraint_Vertical.png|16px]] Vertical
 * [[Image:Constraint_Horizontal.png|16px]] Horizontal
 * [[Image:Constraint_Parallel.png|16px]] Parallel
 * [[Image:Constraint_Perpendicular.png|16px]] Perpendicular
 * [[Image:Constraint_Tangent.png|16px]] Tangent
 * [[Image:Constraint_EqualLength.png|16px]] Equal Length
 * [[Image:Constraint_Symmetric.png|16px]] Symmetric
 * [[Image:Sketcher_ConstrainLock.png‎|16px]] Lock
 * [[Image:Constraint_HorizontalDistance.png‎|16px]] Horizontal Distance
 * [[Image:Constraint_VerticalDistance.png|16px]] Vertical Distance
 * [[Image:Constraint_Length.png|16px]] Length
 * [[Image:Constraint_Radius.png|16px]] Radius
 * [[Image:Constraint_InternalAngle.png|16px]] InternalAngle


 * The Part design workbench contains advanced tools to build solid parts from sketches. It also contains all the tools from the sketcher, and only produces solid geometry.
 * [[Image:PartDesign_Pad.png|16px]] Pad
 * [[Image:PartDesign_Pocket.png|16px]] Pocket
 * [[Image:PartDesign_Revolution.png|16px]] Revolution
 * [[Image:PartDesign_Groove.png|16px]] Groove
 * [[Image:PartDesign_Fillet.png|16px]] Fillet
 * [[Image:PartDesign_Chamfer.png|16px]] Chamfer
 * [[Image:PartDesign_Draft.png|16px]] Draft
 * [[Image:PartDesign_Mirrored.png|16px]] Mirrored
 * [[Image:PartDesign_LinearPattern.png|16px]] Linear Pattern
 * [[Image:PartDesign_PolarPattern.png|16px]] Polar Pattern
 * [[Image:PartDesign_Scaled.png|16px]] Scaled
 * [[Image:PartDesign_MultiTransform.png|16px]] MultiTransform


 * The Arch workbench contains tools to work with BIM projects (civil engineering and architecture). It also contains all the tools from the Draft workbench.
 * [[Image:Arch_Wall.png|16px]] Wall
 * [[Image:Arch_Structure.png|16px]] Structural element
 * [[Image:Arch_Rebar.png|16px]] Reinforcing bar
 * [[Image:Arch_Floor.png|16px]] Floor
 * [[Image:Arch_Building.png|16px]] Building
 * [[Image:Arch_Site.png|16px]] Site
 * [[Image:Arch_Window.png|16px]] Window
 * [[Image:Arch_SectionPlane.png|16px]] Section Plane
 * [[Image:Arch_Axis.png|16px]] Axes system
 * [[Image:Arch_Roof.png|16px]] Roof
 * [[Image:Arch_Space.png|16px]] Space
 * [[Image:Arch_Stairs.png|16px]] Stairs
 * [[Image:Arch_Panel.png|16px]] Panel
 * [[Image:Arch_Frame.png|16px]] Frame
 * [[Image:Arch_Add.png|16px]] Add
 * [[Image:Arch_Remove.png|16px]] Remove
 * [[Image:Arch_Survey.png|16px]] Survey


 * The Drawing workbench handles the creation and manipulation of 2D drawing sheets, used for displaying views of your 3D work in 2D. These sheets can then be exported to 2D applications or printed.
 * [[Image:Drawing_New.png|16px]] Open SVG graphic
 * [[Image:Drawing_Landscape_A3.png|16px]] New drawing page
 * [[Image:Drawing_View.png|16px]] Insert a view
 * [[Image:Drawing_Annotation.png|16px]] Annotation
 * [[Image:Drawing_Clip.png|16px]] Clip
 * [[Image:Drawing_Openbrowser.png|16px]] Open Browser
 * [[Image:Drawing_Orthoviews.png|16px]] Ortho Views
 * [[Image:Drawing_Symbol.png|16px]] Symbol
 * [[Image:Drawing_Save.png|16px]] Save sheet


 * The Raytracing workbench offers tools to interface with external renderers such as povray or luxrender. Right from inside FreeCAD, this workbench allows you to produce high-quality renderings from your models.
 * [[Image:Raytracing_New.png|16px]] New PovRay project
 * [[Image:Raytracing_Lux.png|16px]] New LuxRender project
 * [[Image:Raytracing_InsertPart.png|16px]] Insert part
 * [[Image:Raytracing_ResetCamera.png|16px]] Reset camera
 * [[Image:Raytracing_ExportProject.png|16px]] Export project
 * [[Image:Raytracing_Render.png|16px]] Render


 * The Fem workbench permits the performing of pre- and post-processing FEM calculations and display the results graphically.
 * [[Image:Fem_FemMesh.svg|16px]] Create FEM mesh
 * [[Image:Fem_Material.svg|16px]] Mechanical material
 * [[Image:Fem_Analysis.svg|16px]] New analysis
 * [[Image:Fem_NewAnalysis.svg|16px]] Start calculation
 * [[Image:Fem_FemMesh_createnodebypoly.svg|16px]] Create nodes set
 * [[Image:Fem_ConstraintFixed.svg|16px]] Fixed constraint
 * [[Image:Fem_ConstraintForce.svg|16px]] Force constraint
 * [[Image:Fem_ConstraintBearing.svg|16px]] Bearing constraint
 * [[Image:Fem_ConstraintGear.svg|16px]] Gear constraint
 * [[Image:Fem_ConstraintPulley.svg|16px]] Pulley constraint
 * [[Image:Fem_Result.svg|16px]] Show result


 * The OpenSCAD workbench offer tools for interoperability with OpenSCAD and repairing CSG model history.
 * [[Image:OpenSCAD_AddOpenSCADElement.png|16px]] Add OpenSCAD Element
 * [[Image:OpenSCAD_MeshBoolean.png|16px]] Mesh Boolean
 * [[Image:OpenSCAD_ColorCodeShape.png|16px]] Color Code Shape
 * [[Image:OpenSCAD_ReplaceObject.png|16px]] Replace Object
 * [[Image:OpenSCAD_RemoveSubtree.png|16px]] Remove Subtree
 * [[Image:OpenSCAD_RefineShapeFeature.png|16px]] Refine Shape
 * [[Image:OpenSCAD_IncreaseTolerance.png|16px]] Increase Tolerance
 * [[Image:OpenSCAD_ExpandPlacements.png|16px]] Expand Placements
 * [[Image:OpenSCAD_ExplodeGroup.png|16px]] Explode Group
 * [[Image:OpenSCAD_Hull.png|16px]] Hull
 * [[Image:OpenSCAD_Minkowski.png|16px]] Minkowski


 * The Image workbench features tools to work with bitmap images, and import bitmap images as planes in the FreeCAD document, so they can be used for tracing over.


 * The Robot workbench provides a complete interface to simulate and study industrial robot movements.
 * [[Image:Robot_CreateRobot.png|16px]] Create a robot
 * [[Image:Robot_Simulate.png|16px]] Simulate a trajectory
 * [[Image:Robot_Export.png|16px]] Export a trajectory
 * [[Image:Robot_SetHomePos.png|16px]] Set home positon
 * [[Image:Robot_RestoreHomePos.png|16px]] Restore home positon
 * [[Image:Robot_CreateTrajectory.png|16px]] Create a trajectory
 * [[Image:Robot_SetDefaultOrientation.png|16px]] Set default orientation
 * [[Image:Robot_SetDefaultValues.png|16px]] Set default speed parameter
 * [[Image:Robot_InsertWaypoint.png|16px]] Insert a waypoint
 * [[Image:Robot_InsertWaypointPre.png|16px]] Insert a waypoint
 * [[Image:Robot_Edge2Trac.png|16px]] Create a trajectory
 * [[Image:Robot_TrajectoryDressUp.png|16px]] Dress-up a trajectory
 * [[Image:Robot_TrajectoryCompound.png|16px]] Trajectory compound


 * The Ship workbench is a suite of tools to create and work with ship hulls.
 * [[Image:FreeCAD-Ship-Ico.png|16px]] Create new ship
 * [[Image:FreeCAD-Ship-LoadIco.png|16px]] Load an example
 * [[Image:FreeCAD-Ship-OutlineDrawIco.png|16px]] Draw outline
 * [[Image:FreeCAD-Ship-AreaCurveIco.png|16px]] Transversal areas curve
 * [[Image:FreeCAD-Ship-HydrostaticsIco.png‎|16px]] Hydrostatics tool


 * The Plot workbench offers a series of tools to create curve plots.
 * [[Image:Plot_Save.png|16px]] Save plot
 * [[Image:Plot_Axes.png|16px]] Axes
 * [[Image:Plot_Series.png|16px]] Series
 * [[Image:Plot_Grid.png|16px]] Grid
 * [[Image:Plot_Legend.png|16px]] Legend
 * [[Image:Plot_Labels.png|16px]] Labels
 * [[Image:Plot_Positions.png|16px]] Positions


 * The Spreadsheet workbench permits the creation and manipulation of spreadsheet data, that can be extracted from FreeCAD models.
 * [[Image:Spreadsheet Create.png|16px]] Spreadsheet

Customizing
The workbench system is not to be considered as a limitation to your freedom, but simply a way to organize large quantities of tools and offer different workflows inside a single application. They are however extensively customizable, so you can tailor your interface to your preferences and needs.


 * Customizing the interface
 * Modifying user preferences CLEANUP
 * Creating macros
 * Macros recipes

Scripting
Strong support to python scripting is one of the main strengths of FreeCAD. Almost any part of the FreeCAD application is accessible to python scripting: the core application, the interface, the 3D view, and almost all of the modules functionality. Python scripting can be used from the FreeCAD python console, from macros, from external scripts or even from external applications, FreeCAD being importable as a python module.


 * The basics
 * Introduction to Python
 * FreeCAD Scripting Basics
 * Adding custom commands to the GUI
 * Using the units system
 * The Coin/Inventor scenegraph
 * Working with the scenegraph
 * Modifying the interface
 * Embedding FreeCAD in other applications
 * Using the FreeCAD GUI in other applications
 * Creating parametric objects
 * Python API reference
 * Using modules
 * Built-in modules
 * The Mesh module
 * The Part module
 * Using PythonOCC
 * Converting between Mesh and Part objects
 * The Drawing module
 * Examples
 * Code snippets and examples to use in your scripts
 * How to build a simple tool to draw lines
 * How to construct dialogs with Qt designer
 * FreeCAD vector math library

Development
The following articles will be useful to you if you wish to look deeper into the FreeCAD source code, modify it, compile FreeCAD yourself on your machine, or start developing another application using FreeCAD as a base.


 * Licence details about the FreeCAD licences
 * Source code management
 * Bugs reporting when you have a problem or think you may have found a bug
 * Compiling FreeCAD
 * Compiling on Windows
 * Compiling on Linux & Unix
 * Compiling on Mac
 * Compiling on Cygwin
 * Compiling on MinGW
 * Third Party Libraries
 * Third Party Tools
 * Start up and Configuration
 * Source documentation
 * Build tools
 * The FreeCAD Build Tool
 * Adding an application module to FreeCAD
 * Debugging FreeCAD
 * Testing FreeCAD
 * Modifying FreeCAD
 * Branding or how to give FreeCAD a unique look
 * Artwork we made for FreeCAD, that you can freely reuse
 * Translating FreeCAD
 * Extra python modules, or how to extend python functionality within FreeCAD
 * Credits
 * Contributors

Reference

 * Tutorials
 * Commands reference
 * Source code documentation
 * Python API reference
 * Macro recipes