PartDesign Legacy

From FreeCAD Documentation
Jump to navigation Jump to search
Other languages:
Bahasa Indonesia • ‎Deutsch • ‎English • ‎Türkçe • ‎español • ‎français • ‎italiano • ‎polski • ‎português • ‎português do Brasil • ‎română • ‎svenska • ‎čeština • ‎русский • ‎українська • ‎中文 • ‎中文(台灣)‎
This page is written for FreeCAD v0.16. The 0.17 version release brings major changes to the PartDesign workbench. If you are using a 0.17 version, please refer to the updated PartDesign Workbench page.

The Part Design Workbench provides tools for modelling complex solid parts and is based on a Feature editing methodology to produce a single contiguous solid. It is intricately linked with the Sketcher Workbench.

What is a single contiguous solid? This is an item like a casting or something machined from a single block of metal. If the item involves nails, screws, glue or welding, it is not a single contiguous solid. As a practical example, PartDesign would not be used to model a wooden chair, but would be used to model the subcomponents (legs, slats, seat, etc). The subcomponents are combined using the Assembly, Part or Draft workbench.

PartDesign Example.png

Basic Workflow

The sketch is the building block for creating and editing solid parts. The workflow can be summarized by this: a sketch containing 2D geometry is created first, then a solid creation tool is used on the sketch. At the moment the available tools are:

  • PartDesign Pad.svg Pad which extrudes a sketch
  • PartDesign Pocket.svg Pocket which creates a pocket on an existing solid
  • PartDesign Revolution.svg Revolution which creates a solid by revolving a sketch along an axis
  • PartDesign Groove.svg Groove which creates a groove in an existing solid

More tools are planned in future releases.

A very important concept in the PartDesign Workbench is the sketch support. Sketches can be created on standard planes (XY, XZ, YZ and planes parallel to them) or on a planar face of an existing solid. For this last case, the existing solid becomes the support of the sketch. Several tools will only work with sketches that have a support, for example, Pocket - without a support there would be nothing to remove material from!

After solid geometry has been created it can be modified with chamfers and fillets or transformed, e.g. mirrored or patterned.

The PartDesign Workbench is meant to create a single, connected solid. Multiple solids will be possible with the Assembly workbench.

As we create a model in the Part Design Workbench, each feature takes the shape of the last one and adds or removes something, creating linear dependencies from feature to feature as the model is created. Hence a "Cut" feature is not only the cut hole itself, but the whole part with the cut. As a new feature is added to the model, FreeCAD turns off visibility of the old features. The user usually should only have the newest item (feature) in the model tree visible, because otherwise the other phases of the model overlay each other, and holes are filled in by the earlier model features that didn't yet have those holes.

To toggle visibility of an object on or off, select it in the hierarchy tree and press the Spacebar. Usually everything but the last item in the hierarchy tree should be greyed out and therefore not visible in the 3D view.

The Tools

The Part Design tools are all located in the Part Design menu that appears when you load the Part Design module.

They include the Sketcher Workbench tools, since the Part Design module is so dependent on them.

The Sketcher Tools

Sketcher Geometries

These are tools for creating objects.

  • Sketcher CreatePoint.svg Point: Draws a point.
  • Sketcher Line.svg Line by 2 point: Draws a line segment from 2 points.
  • Sketcher Arc.svg Arc: Draws an arc segment from center, radius, start angle and end angle.
  • Sketcher CreateArc3Point.png Arc by 3 Point: Draws an arc segment from two endpoints and another point on the circumference.
  • Sketcher Circle.svg Circle: Draws a circle from center and radius.
  • Sketcher CreateCircle3Point.png Circle by 3 Point : Draws a circle from three points on the circumference.
  • Sketcher Conics.png Create a conic:
    • Sketcher CreateEllipse.svg Ellipse by center : Draws an ellipse by center point, major radius point and minor radius point. (v0.15)
    • Sketcher CreateEllipse 3points.png Ellipse by 3 points : Draws an ellipse by major diameter (2 points) and minor radius point. (v0.15)
    • Sketcher Elliptical Arc.png Arc of ellipse : Draws an arc of ellipse by center point, major radius point, starting point and ending point. (v0.15)
  • Sketcher CreatePolyline.svg Polyline (multiple-point line): Draws a line made of multiple line segments. Pressing the M key while drawing a Polyline toggles between the different polyline modes.
  • Sketcher CreateRectangle.svg Rectangle: Draws a rectangle from 2 opposite points.
  • Sketcher CreateTriangle.svg Triangle: Draws a regular triangle inscribed in a construction geometry circle. (v0.15)
  • Sketcher CreateSquare.svg Square: Draws a regular square inscribed in a construction geometry circle. (v0.15)
  • Sketcher CreatePentagon.svg Pentagon: Draws a regular pentagon inscribed in a construction geometry circle. (v0.15)
  • Sketcher CreateHexagon.svg Hexagon: Draws a regular hexagon inscribed in a construction geometry circle. (v0.15)
  • Sketcher CreateHeptagon.svg Heptagon: Draws a regular heptagon inscribed in a construction geometry circle. (v0.15)
  • Sketcher CreateOctagon.svg Octagon: Draws a regular octagon inscribed in a construction geometry circle. (v0.15)
  • Sketcher CreateSlot.svg Slot: Draws an oval by selecting the center of one semicircle and an endpoint of the other semicircle.
  • Sketcher CreateFillet.svg Fillet: Makes a fillet between two lines joined at one point. Select both lines or click on the corner point, then activate the tool.
  • Sketcher Trimming.svg Trimming: Trims a line, circle or arc with respect to the clicked point.
  • Sketcher External.svg External Geometry: Creates an edge linked to external geometry.
  • Sketcher ToggleConstruction.svg Construction Mode: A construction object will be shown in blue and will not be used in a 3D geometry operation. It is only visible while editing the Sketch that contains it. Selecting existing Sketcher geometry and then clicking this tool toggles that geometry between regular and construction mode. Selecting this tool when no Sketcher geometry is selected changes the mode (regular vs. construction) in which future objects will be created.

Sketcher Constraints

Constraints are used to define lengths, set rules between sketch elements, and to lock the sketch along the vertical and horizontal axes. Some constraints require the Helper constraints

Not associated with numeric data

  • Constraint PointOnPoint.svg Coincident: Affixes a point onto (coincident with) one or more other points.
  • Constraint PointOnObject.svg Point On Object: Affixes a point onto another object such as a line, arc, or axis.
  • Constraint Vertical.svg Vertical: Constrains the selected lines or polyline elements to a true vertical orientation. More than one object can be selected before applying this constraint.
  • Constraint Horizontal.svg Horizontal: Constrains the selected lines or polyline elements to a true horizontal orientation. More than one object can be selected before applying this constraint.
  • Sketcher ConstrainParallel.png Parallel: Constrains two or more lines parallel to one another.
  • Sketcher ConstrainPerpendicular.png Perpendicular: Constrains two lines perpendicular to one another, or constrains a line perpendicular to an arc endpoint.
  • Constraint Tangent.png Tangent: Creates a tangent constraint between two selected entities, or a co-linear constraint between two line segments. A line segment does not have to lie directly on an arc or circle to be constrained tangent to that arc or circle.
  • Sketcher ConstrainEqual.png Equal Length: Constrains two selected entities equal to one another. If used on circles or arcs their radii will be set equal.
  • Sketcher ConstrainSymmetric.png Symmetric: Constrains two points symmetrically about a line, or constrains the first two selected points symmetrically about a third selected point.

Associated with numeric data

For these constraints you can use the expressions. The data may be taken from a spreadsheet.

  • Sketcher ConstrainLock.svg Lock: Constrains the selected item by setting vertical and horizontal distances relative to the origin, thereby locking the location of that item. These constraint distances can be edited later.
  • Constraint HorizontalDistance.svg Horizontal Distance: Fixes the horizontal distance between two points or line endpoints. If only one item is selected, the distance is set to the origin.
  • Constraint VerticalDistance.svg Vertical Distance: Fixes the vertical distance between 2 points or line endpoints. If only one item is selected, the distance is set to the origin.
  • Sketcher ConstrainDistance.png Distance: Defines the distance of a selected line by constraining its length, or defines the distance between two points by constraining the distance between them.
  • Sketcher ConstrainRadius.png Radius: Defines the radius of a selected arc or circle by constraining the radius.
  • Constraint InternalAngle.png Internal Angle: Defines the internal angle between two selected lines.
  • Constraint SnellsLaw.png Snell's Law: Constrains two lines to obey a refraction law to simulate the light going through an interface. (v 0.15)
  • Constraint InternalAlignment.png Internal Alignment: Aligns selected elements to selected shape (e.g. a line to become major axis of an ellipse).
  • Sketcher ToggleConstraint.svg Toggle Constraint: Toggles the toolbar or the selected constraints to/from reference mode. v0.16


  • Sketcher NewSketch.svg New 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 a pop-up window.
  • Sketcher ViewSketch.png View sketch: Sets the model view perpendicular to the sketch plane.
  • Validate sketch: It allows you to check if there are in the tolerance of different points and to match them.
  • Sketcher MirrorSketch.svg Mirror sketch: Mirror a sketch along the x-axis, the y-axis or the origin [v 0.16]

  • Sketcher CloseShape.svg Close Shape: Creates a closed shape by applying coincident constraints to endpoints [v 0.15]
  • Sketcher ConnectLines.svg Connect Edges: Connect sketcher elements by applying coincident constraints to endpoints [v 0.15]
  • Sketcher Element Ellipse All.png Show/Hide internal geometry: Recreates missing/deletes unneeded geometry aligned to internal geometry of a selected element (applicable only to ellipse so far). [v 0.15]
  • Sketcher Symmetry.png Symmetry: Copies a sketcher element symmetrical to a chosen line [v 0.16]
  • Sketcher Clone.svg Clone: Clones a sketcher element [v 0.16]
  • Sketcher Copy.svg Copy: Copies a sketcher element [v 0.16]


The Part Design Tools

Construction tools

These are tools for creating solid objects or removing material from an existing solid object.

  • PartDesign Pad.svg Pad: Extrudes a solid object from a selected sketch.
  • PartDesign Pocket.svg Pocket: Creates a pocket from a selected sketch. The sketch must be mapped to an existing solid object's face.
  • PartDesign Revolution.svg Revolution: Creates a solid by revolving a sketch around an axis. The sketch must be a closed profile to get a solid object.
  • PartDesign Groove.svg Groove: Creates a groove by revolving a sketch around an axis. The sketch must be mapped to an existing solid object's face.

Modification tools

These are tools for modifying existing objects. They will allow you to choose which object to modify.

  • PartDesign Fillet.svg Fillet: Fillets (rounds) edges of an object.
  • PartDesign Chamfer.svg Chamfer: Chamfers edges of an object.
  • PartDesign Draft.svg Draft: Applies angular draft to faces of an object.

Transformation tools

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

  • PartDesign Mirrored.svg Mirrored: Mirrors features on a plane or face.
  • PartDesign LinearPattern.svg Linear Pattern: Creates a linear pattern of features.
  • PartDesign PolarPattern.svg Polar Pattern: Creates a polar pattern of features.
  • PartDesign Scaled.png Scaled: Scales features to a different size.
  • PartDesign MultiTransform.svg MultiTransform: Allows creating a pattern with any combination of the other transformations.

Boolean tools

These are tools for create boolean operation with two or more bodies

  • PartDesign Boolean.svg Boolean: Creates boolean operation with two or more bodies


Some optional functionality that has been created for the PartDesign Workbench:

  • PartDesign WizardShaft.svg Shaft design wizard: Generates a shaft from a table of values and allows to analyze forces and moments

Feature properties


There are two types of feature properties accessible through tabs at the bottom of the property editor:

ViewView : properties related to the "visual" display of an object.
DataData : properties related to the "physical" parameters of an object.


PartDesign Revolution en 03.png


  • ViewBounding Box : Indicates if a box showing the overall extent of the object is to be displayed. Value False, or True (Default, False).
  • ViewControl Point : Indicates if the feature control points are to be displayed. Value False, or True (Default, False).
  • ViewDeviation : Sets the accuracy of the polygonal representation of the model in the 3d view (tessellation). Lower values = better quality. The value is in percent of object's size (deviation in mm = (w+h+d)/3*valueInPercent/100, where w,h,d are the bounding box dimensions).
  • ViewDisplay Mode :Display mode of the feature, Flat lines, Shaded, Wireframe, Points Vue DisplayModePartDesign fr 00.png. (Default, Flat lines).
  • ViewLighting : Lighting One side, Two side Vue Lighting fr 00.png. (Default, Two side).
  • ViewLine Color : Gives the color of the line (edges) (Default, 25, 25, 25).
  • ViewLine Width : Gives the thickness of the line (edges) (Default, 2).
  • ViewPoint Color : Gives the color of the points (ends of the feature) (Default, 25, 25, 25).
  • ViewPoint Size : Gives the size of the points (Default, 2).
  • ViewSelectable : Allows selection of the feature. Value False, or True (Default, True).
  • ViewShape Color : Give the color shape (default, 204, 204, 204).
  • ViewTransparency : Sets the degree of transparency in the feature of 0 to 100 (Default, 0).
  • ViewVisibility : Determines the visibility of the feature (like the bar SPACE). Value False, or True (Default, True).


PartDesign Revolution en 04.png


DataPlacement: Summary of the data below. Every feature has a placement that can be controlled through the Data Properties table. It controls the placement of the part with respect to the coordinate system. NOTE: The placement properties do not affect the physical dimensions of the feature, but merely its position in space!
If you select the title Placement Options Placement, a button with three small points appears to the right. Clicking this button ..., opens the Tasks_Placement options window.

DataAngle: Specifies the angle to be used with the axis property (below). An angle is set here, and the axis that the angle acts upon is set with the axis property. The feature is rotated by the specified angle, about the specified axis. A usage example might be if you created a revolution feature as required, but then needed to rotate the whole feature by some amount, in order to allow it to line-up with another pre-existing feature.

DataAxis: This property specifies the axis/axes about which the feature is to be rotated. The exact value of rotation comes from the angle property (above). This property takes three arguments, which are passed as numbers in the x, y, and z boxes in the tool. Setting a value for more than one of the axes will cause the part to be rotated in each axis, by the angle value multiplied by the value for the axis. For example, with an angle of 15° set, specifying a value of 1.0 for x, and 2.0 for y will cause the finished part to be rotated 15° in the x-axis AND 30° in the y-axis.

DataPosition: This property specifies the base point to which all dimensions refer. This takes three arguments, which are passed as numbers to the x, y, and z boxes in the tool. Setting a value for more than one of the boxes will cause the part to be translated by the number of units along the corresponding axis.

DataLabel: The Label is the name given to the object (feature), this name can be changed as desired.

PS: The displayed properties can vary, depending on the tool used.


Only for a development version of FreeCAD that is not currently available as a binary or installer: