Sandbox:PartDesign Workbench

The Part Design Workbench provides advanced tools for modeling complex solid parts and is based on a feature-editing methodology. It is mostly focused on, but not limited to, creating mechanical parts. It is intricately linked with the Sketcher Workbench.



Feature Editing Methodology
While the Part Workbench and other FreeCAD workbenches construct models by combining shapes together, the PartDesign workbench uses features. A feature is an operation that modifies the shape of a model.

The first feature is commonly called the base feature. As more features are added to the model, each feature takes the shape of the previous one and adds or removes matter, creating lineal dependencies from one feature to the next. In effect, this methodology mimics a common manufacturing process: a block is cut on one side, then on another side, holes are added, then rounds, etc.

All features are listed sequentially in the Model tree and can be edited at any time, with the last feature at the bottom representing the final part.

Features can be sorted into different categories:


 * Profile-based: these features start from a profile to define the shape of the matter to be added or removed. The profile can be a sketch, a planar face on existing geometry (a profile will be extracted from its edges), or a Draft object that has been included in the active Body.


 * Additive: adds matter to the existing model. Additive features show yellow icons.


 * Subtractive: removes matter from the existing model. Subtractive features show red and blue icons.


 * Primitive-based: based on geometric primitives (cube, cylinder, cone, torus…). They can be additive or subtractive.


 * Transformation features: they apply a transformation to existing features (mirrored, linear pattern, polar pattern, multitransform).


 * Dress-up: features that apply a treatment to edges or faces, such as fillets/rounds, chamfers and drafts.


 * Procedural: can be said of features that are not based on sketches, like the transformation and dress-up features.

Body
The Body is a container that groups a sequence of features forming a single contiguous solid.

What is a single contiguous solid? It is an object like a casting or something machined from a single block of metal. If the object involves nails, screws, glue or welding, it is not a single contiguous solid. As a practical example, a wooden chair would be made of multiple bodies, with one for each of its sub-components (legs, slats, seat, etc).

Multiple bodies can be created in a FreeCAD document; they can also be combined to form a single contiguous solid.

When a model requires multiple bodies, like the previous wooden chair example, the general purpose Part container can be used to group them and move the whole as a unit.

Body Visibility Management
A body will present by default its most recent feature to the outside. This feature is defined by default as the tip. A good analogy is the expression the tip of the iceberg: only the tip is visible above the water, most of the iceberg's mass (the other features) is hidden. As a new feature is added to the body, visibility of the previous feature is turned off, and the new feature becomes the tip.

There can only be one feature visible at a time. It is possible to toggle the visibility of any feature in the body, by selecting it in the Model tree and pressing the spacebar, in effect going back in the history of the body.

Body Origin
The body has an Origin which consists of reference planes (XY, XZ, YZ) and axes (X, Y, Z) that can be used by sketches and features. Sketches can be attached to Origin planes, and they no longer need to be mapped to planar faces for features based on them to be added or subtracted from the model.

Moving and Reordering Objects
It is possible to temporarily redefine the tip to a feature in the middle of the Body tree to insert new objects (features, sketches or datum geometry). It is also possible to reorder objects under a Body, or to move them to a different Body. Select the object and right-click to get a contextual menu that will offer both options. The operation may be prevented if the object has dependencies in the source Body, such as being attached to a face. To move a sketch to another Body, it should not contain links to external geometry.

Datum Geometry
Datum geometry consists of custom planes, lines, points or externally linked shapes. They can be created for use as reference by sketches and features. There is a multitude of attachment possibilities for datums.

Cross-referencing
It is possible to cross-reference elements from a body in another body via datums. For example the datum shape binder allows to copy over faces from a body as reference in another one. This should make it easy to build a box with fitting cover in two different bodies. FreeCAD helps you to not accidentally link to other bodies and queries your intent.

Attachment
Object attachment is not a specific PartDesign tool, but rather a Part utility introduced in v0.17 that can be found in the Part menu. It is heavily used in the PartDesign workbench to attach sketches and reference geometry to the standard planes and axes of the Body. Very extensive ways of creating datum points, lines and planes are available. Optional attachment offset parameters make this tool very versatile.

More info can be found in the Attachment page.

Advice for creating stable models
The idea of parametric modeling implies that you can change the values of certain parameters and subsequent steps are changed according to the new values. However, when severe changes are made, the model can break. Compared to previous FreeCAD versions breaking can be minimized when you respect the following design principles:


 * Basically, you need to stop mapping sketches to faces - entirely! Place your sketches on standard planes, or on custom datum planes.
 * When creating datum geometry, do not base it on the part topology, base it on standard planes/axes and/or sketches.
 * Use a "master sketch". That is a preferably not too complicated sketch which contains basic geometric elements of your model. These elements can be referenced when modeling subsequent features. Such a master sketch will often be the first sketch in the Body but it doesn't have to be; in fact you don't even have to use it at all for anything else but being referenced.
 * If you inevitably have to reference an intermediate feature, e.g. the result of a thickness operation, use the first reference possible in the list of subsequent features where the referenced geometric element occurs. From FreeCAD 0.17 on you don't have to use the latest feature. If you take an early feature as reference, all changes to intermediate steps won't break your model.

The Tools
The Part Design tools are all located in the Part Design menu and the PartDesign toolbar that appear when you load the Part Design workbench.

Structure tools
These are tools to organize the Model tree.


 * [[Image:Std_Part.svg|32px]] Part: adds a new Part container in the active document and makes it active.
 * [[Image:Group.svg|32px]] Group: adds a Group in the active document's Model tree.

Part Design Helper tools

 * PartDesign_Body.svg Create body: Creates a Body in the active document and makes it active.


 * PartDesign_NewSketch.png Create sketch: creates‎ a new sketch on a selected face or plane. If no face is selected while this tool is executed, the user is prompted to select a plane from the Tasks panel. The interface then switches to the Sketcher_Workbench in sketch editing mode.


 * [[Image:Sketcher_EditSketch.svg|32px]] Edit sketch: Edit the selected Sketch.


 * [[Image:Sketcher_MapSketch.svg‎|32px]] Map sketch to face: Maps a sketch to a previously selected plane or a face of the active body.

Datum tools

 * PartDesign_Point.svg Create a datum point: creates a datum point in the active body.


 * PartDesign_Line.svg Create a datum line: creates a datum line in the active body.


 * PartDesign_Plane.svg Create a datum plane: creates a datum plane in the active body.


 * PartDesign_ShapeBinder.svg Create a shape binder: creates a shape binder in the active body.


 * PartDesign_Clone.svg Create a clone: creates a clone of the selected body.

Additive tools
These are tools for creating base features or adding material to an existing solid body.


 * PartDesign_Pad.svg Pad: extrudes a solid from a selected sketch.


 * PartDesign_Revolution.svg Revolution: creates a solid by revolving a sketch around an axis. The sketch must form a closed profile.


 * PartDesign AdditiveLoft.png Additive loft: creates a solid by making a transition between two or more sketches.


 * PartDesign AdditivePipe.png Additive pipe: creates a solid by sweeping one or more sketches along an open or closed path.


 * Create an additive primitive: adds an additive primitive to the active body.


 * PartDesign AdditiveBox.png Additive box: creates an additive box.


 * PartDesign AdditiveCone.png Additive cone: creates an additive cone.


 * PartDesign AdditiveCylinder.png Additive cylinder: creates an additive cylinder.


 * PartDesign AdditiveEllipsoid.png Additive ellipsoid: creates an additive ellipsoid.


 * PartDesign AdditivePrism.png Additive prism: creates an additive prism.


 * PartDesign AdditiveSphere.png Additive sphere: creates an additive sphere.


 * PartDesign AdditiveTorus.png Additive torus: creates an additive torus.


 * PartDesign AdditiveWedge.png Additive wedge: creates an additive wedge.

Subtractive tools
These are tools for subtracting material from an existing body.


 * PartDesign_Pocket.svg Pocket: creates a pocket from a selected sketch.


 * PartDesign_Hole.svg Hole: creates a hole feature from a selected sketch. The sketch must contain one or multiple circles.
 * PartDesign_Groove.svg Groove: creates a groove by revolving a sketch around an axis.


 * PartDesign SubtractiveLoft.png Subtractive loft: creates a solid shape by making a transition between two or more sketches and subtracts it from the active body.


 * PartDesign SubtractivePipe.png Subtractive pipe: creates a solid shape by sweeping one or more sketches along an open or closed path and subtracts it from the active body.


 * Create a subtractive primitive: adds a subtractive primitive to the active body.


 * PartDesign SubtractiveBox.png Subtractive box: adds a subtractive box to the active body.


 * PartDesign SubtractiveCone.png Subtractive cone: adds a subtractive cone to the active body.


 * PartDesign SubtractiveCylinder.png Subtractive cylinder: adds a subtractive cylinder to the active body.


 * PartDesign SubtractiveEllipsoid.png Subtractive ellipsoid: adds a subtractive ellipsoid to the active body.


 * PartDesign SubtractivePrism.png Subtractive prism: adds a subtractive prism to the active body.


 * PartDesign SubtractiveSphere.png Subtractive sphere: adds a subtractive sphere to the active body.


 * PartDesign SubtractiveTorus.png Subtractive torus: adds a subtractive torus to the active body.


 * PartDesign SubtractiveWedge.png ‎Subtractive wedge: adds a subtractive wedge to the active body.

Transformation tools
These are tools for transforming existing features. They will allow you to choose which features to transform.


 * [[Image:PartDesign_Mirrored.png|32px]] Mirrored: mirrors one or more features on a plane or face.


 * [[Image:PartDesign_LinearPattern.png|32px]] Linear Pattern: creates a linear pattern based on one or more features.


 * [[Image:PartDesign_PolarPattern.png|32px]] Polar Pattern: creates a polar pattern of one or more features.


 * [[Image:PartDesign_MultiTransform.png|32px]] Create MultiTransform: creates a pattern with any combination of the other transformations.

Dress-up tools
These tools apply a treatment to the selected edges or faces.


 * PartDesign_Fillet.svg Fillet: fillets (rounds) edges of the active body.


 * PartDesign_Chamfer.svg Chamfer: chamfers edges of the active body.


 * PartDesign Draft.png Draft: applies and angular draft to faces of the active body.


 * PartDesign Thickness.png Thickness: creates a thick shell from the active body and opens selected face(s).

Boolean

 * PartDesign Boolean.png Boolean operation: imports one or more Bodies or PartDesign Clones into the active body and applies a Boolean operation.

Extras
Some additional functionality found in the Part Design menu:


 * Migrate: migrates files created with older FreeCAD versions. If the file is pure PartDesign feature-based, migration should succeed. If the file contains mixed Part/Part Design/Draft objects, the conversion will most likely fail.


 * [[Image:PartDesign_WizardShaft.png|32px]] Shaft design wizard: Generates a shaft from a table of values and allows to analyze forces and moments. The shaft is made with a revolved sketch that can be edited.


 * [[Image:PartDesign_InternalExternalGear.png|32px]] Involute gear: creates an involute gear profile that can be used by a Pad.

Contextual Menu tools

 * PartDesign MoveTip.png Set tip: redefines the tip, which is the feature exposed outside of the Body.


 * Move object to other body: moves the select sketch, datum geometry or feature to another Body.


 * Move object after other object: allows reordering of the Body tree by moving the selected sketch, datum geometry or feature after another object in the Body.

Tutorials

 * PartDesign Bearingholder Tutorial I (needs updating)
 * PartDesign Bearingholder Tutorial II (needs updating)
 * PartDesign tutorial (needs updating)
 * Basic Part Design Tutorial (needs updating)

Links

 * What's new in PartDesign Next
 * Updated PartDesign workflow
 * FC v0.17dev: Part Design Next Usecases and Best practices
 * Sandbox:Part Design Next