PartDesign Legacy

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.



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: More tools are planned in future releases.
 * [[Image:PartDesign_Pad.png|32px]] Pad which extrudes a sketch
 * [[Image:PartDesign_Pocket.png|32px]] Pocket which creates a pocket on an existing solid
 * [[Image:PartDesign_Revolution.png|32px]] Revolution which creates a solid by revolving a sketch along an axis
 * [[Image:PartDesign_Groove.png|32px]] Groove which creates a groove in an existing solid

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.

Sketcher Geometries
These are tools for creating objects.


 * [[Image:Sketcher_CreatePoint.png|32px]] Point: Draws a point.
 * [[Image:Sketcher_Line.png|32px]] Line by 2 point: Draws a line segment from 2 points.
 * [[Image:Sketcher_Arc.png|32px]] Arc: Draws an arc segment from center, radius, start angle and end angle.
 * [[Image:Sketcher CreateArc3Point.png|32px]] Arc by 3 Point: Draws an arc segment from two endpoints and another point on the circumference.
 * [[Image:Sketcher_Circle.png|32px]] Circle: Draws a circle from center and radius.
 * [[Image:Sketcher CreateCircle3Point.png|32px]] Circle by 3 Point : Draws a circle from three points on the circumference.
 * [[Image:Sketcher_Conics.png|32px]] Create a conic:
 * [[Image:Sketcher_CreateEllipse.png|32px]] Ellipse by center : Draws an ellipse by center point, major radius point and minor radius point. (v0.15)
 * [[Image:Sketcher_CreateEllipse_3points.png|32px]] Ellipse by 3 points : Draws an ellipse by major diameter (2 points) and minor radius point. (v0.15)
 * [[Image:Sketcher_Elliptical_Arc.png|32px]] Arc of ellipse : Draws an arc of ellipse by center point, major radius point, starting point and ending point. (v0.15)
 * [[Image:Sketcher_Hyperbolic_Arc.png|32px]] Arc of hyperbola: Draws an arc of hyperbola. (v0.17)
 * [[Image:Sketcher_Parabolic_Arc.png|32px]] Arc of parabola: Draws an arc of parabola. (v0.17)
 * [[Image:Sketcher_CreatePolyline.png|32px]] 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.
 * [[Image:Sketcher_CreateRectangle.png|32px]] Rectangle: Draws a rectangle from 2 opposite points.
 * [[Image:Sketcher_CreateTriangle.png|32px]] Triangle: Draws a regular triangle inscribed in a construction geometry circle. (v0.15)
 * [[Image:Sketcher_CreateSquare.png|32px]] Square: Draws a regular square inscribed in a construction geometry circle. (v0.15)
 * [[Image:Sketcher_CreatePentagon.png|32px]] Pentagon: Draws a regular pentagon inscribed in a construction geometry circle. (v0.15)
 * [[Image:Sketcher_CreateHexagon.png|32px]] Hexagon: Draws a regular hexagon inscribed in a construction geometry circle. (v0.15)
 * [[Image:Sketcher_CreateHeptagon.png|32px]] Heptagon: Draws a regular heptagon inscribed in a construction geometry circle. (v0.15)
 * [[Image:Sketcher_CreateOctagon.png|32px]] Octagon: Draws a regular octagon inscribed in a construction geometry circle. (v0.15)
 * [[Image:Sketcher_CreateSlot.png|32px]] Slot: Draws an oval by selecting the center of one semicircle and an endpoint of the other semicircle.
 * [[Image:Sketcher_CreateFillet.png|32px]] Fillet: Makes a fillet between two lines joined at one point. Select both lines or click on the corner point, then activate the tool.
 * [[Image:Sketcher_Trimming.png|32px]] Trimming: Trims a line, circle or arc with respect to the clicked point.
 * [[Image:Sketcher_External.png|32px]] External Geometry: Creates an edge linked to external geometry.
 * [[Image:Sketcher_ToggleConstruction.png|32px]] 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


 * [[Image:Constraint_PointOnPoint.png|32px]] Coincident: Affixes a point onto (coincident with) one or more other points.
 * [[Image:Constraint_PointOnObject.png|32px]] Point On Object: Affixes a point onto another object such as a line, arc, or axis.
 * [[Image:Constraint_Vertical.png|32px]] Vertical: Constrains the selected lines or polyline elements to a true vertical orientation. More than one object can be selected before applying this constraint.
 * [[Image:Constraint_Horizontal.png|32px]] Horizontal: Constrains the selected lines or polyline elements to a true horizontal orientation. More than one object can be selected before applying this constraint.
 * [[Image:Constraint_Parallel.png|32px]] Parallel: Constrains two or more lines parallel to one another.
 * [[Image:Constraint_Perpendicular.png|32px]] Perpendicular: Constrains two lines perpendicular to one another, or constrains a line perpendicular to an arc endpoint.
 * [[Image:Constraint_Tangent.png|32px]] 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.
 * [[Image:Constraint_EqualLength.png|32px]] Equal Length: Constrains two selected entities equal to one another. If used on circles or arcs their radii will be set equal.
 * [[Image:Constraint_Symmetric.png|32px]] Symmetric: Constrains two points symmetrically about a line, or constrains the first two selected points symmetrically about a third selected point.
 * [[Image:Sketcher_ConstrainBlock.png|32px]] Constrain Block: v0.17 and above Basically allows to block a geometric element in place with a single constraint. It should be particularly useful to work with B-Splines. See the Block Constraint forum topic.

Associated with numeric data

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


 * [[Image:Sketcher_ConstrainLock.png‎|32px]] 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.
 * [[Image:Constraint_HorizontalDistance.png‎|32px]] 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.
 * [[Image:Constraint_VerticalDistance.png|32px]] 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.
 * [[Image:Constraint_Length.png|32px]] 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.
 * [[Image:Constraint_Radius.png|32px]] Radius: Defines the radius of a selected arc or circle by constraining the radius.
 * [[Image:Constraint_InternalAngle.png|32px]] Internal Angle: Defines the internal angle between two selected lines.
 * [[Image:Constraint_SnellsLaw.png|32px]] Snell's Law: Constrains two lines to obey a refraction law to simulate the light going through an interface. (v 0.15)
 * [[Image:Constraint_InternalAlignment.png |32px]] Internal Alignment: Aligns selected elements to selected shape (e.g. a line to become major axis of an ellipse).


 * [[Image:Sketcher_ToggleConstraint.png |32px]] Toggle Constraint: Toggles the toolbar or the selected constraints to/from reference mode. v0.16

Other

 * [[Image:Sketcher_NewSketch.png‎‎|32px]] 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.


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


 * [[Image:Sketcher_LeaveSketch.png|32px]] Leave sketch: Leave the Sketch editing mode.


 * [[Image:Sketcher_ViewSketch.png‎|32px]] View sketch: Sets the model view perpendicular to the sketch plane.


 * [[Image:Sketcher ViewSection.png|32px]] View section: Creates a section plane that temporarily hides any matter in front of the sketch plane.


 * [[Image:Sketcher_MapSketch.png‎|32px]] Map sketch to face: Maps a sketch to the previously selected face of a solid.


 * Reorient sketch : Allows you to change the position of a sketch


 * Validate sketch: It allows you to check if there are in the tolerance of different points and to match them.


 * [[Image:Sketcher MergeSketch.png‎|32px]] Merge sketches: Merge two or more sketches. [v 0.15]


 * [[Image:Sketcher MirrorSketch.png‎|32px]] Mirror sketch: Mirror a sketch along the x-axis, the y-axis or the origin [v 0.16]


 * [[Image:Sketcher CloseShape.png‎|32px]] Close Shape: Creates a closed shape by applying coincident constraints to endpoints [v 0.15]


 * [[Image:Sketcher ConnectLines.png‎|32px]] Connect Edges: Connect sketcher elements by applying coincident constraints to endpoints [v 0.15]


 * [[Image:Sketcher SelectConstraints.png‎|32px]] Select Constraints: Selects the constraints of a sketcher element [v 0.15]


 * [[Image:Sketcher SelectOrigin.png‎|32px]] Select Origin: Selects the origin of a sketch [v 0.15]


 * [[Image:Sketcher SelectVerticalAxis.png‎|32px]] Select Vertical Axis: Selects the vertical axis of a sketch [v 0.15]


 * [[Image:Sketcher SelectHorizontalAxis.png‎|32px]] Select Horizontal Axis: Selects the horizontal axis of a sketch [v 0.15]


 * [[Image:Sketcher SelectRedundantConstraints.png‎|32px]] Select Redundant Constraints: Selects redundant constraints of a sketch [v 0.15]


 * [[Image:Sketcher SelectConflictingConstraints.png‎|32px]] Select Conflicting Constraints: Selects conflicting constraints of a sketch [v 0.15]


 * [[Image:Sketcher SelectElementsAssociatedWithConstraints.png‎|32px]] Select Elements Associated with constraints: Select sketcher elements associated with constraints [v 0.15]


 * [[Image:Sketcher_Element_Ellipse_All.png‎|32px]] 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]


 * [[Image:Sketcher Symmetry.png‎|32px]] Symmetry: Copies a sketcher element symmetrical to a chosen line [v 0.16]


 * [[Image:Sketcher Clone.png‎|32px]] Clone: Clones a sketcher element [v 0.16]


 * [[Image:Sketcher Copy.png‎|32px]] Copy: Copies a sketcher element [v 0.16]


 * [[Image:Sketcher RectangularArray.png‎|32px]] Rectangular Array: Creates an array of selected sketcher elements [v 0.16]


 * [[Image:Sketcher SwitchVirtualSpace.png‎|32px]] Switch Virtual Space: v 0.17 Allows you to "hide" constraints and make them visible again. See https://forum.freecadweb.org/viewtopic.php?f=9&t=26614

Preferences

 * [[Image:Std_DlgParameter.png|32px]] Preferences...: Preferences disposable in Sketcher Tools.

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


 * [[Image:PartDesign_Pad.png|32px]] Pad: Extrudes a solid object from a selected sketch.
 * [[Image:PartDesign_Pocket.png|32px]] Pocket: Creates a pocket from a selected sketch. The sketch must be mapped to an existing solid object's face.
 * [[Image:PartDesign_Revolution.png|32px]] Revolution: Creates a solid by revolving a sketch around an axis. The sketch must be a closed profile to get a solid object.
 * [[Image:PartDesign_Groove.png|32px]] 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.


 * [[Image:PartDesign_Fillet.png|32px]] Fillet: Fillets (rounds) edges of an object.
 * [[Image:PartDesign_Chamfer.png|32px]] Chamfer: Chamfers edges of an object.
 * [[Image:PartDesign_Draft.png|32px]] 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.


 * [[Image:PartDesign_Mirrored.png|32px]] Mirrored: Mirrors features on a plane or face.
 * [[Image:PartDesign_LinearPattern.png|32px]] Linear Pattern: Creates a linear pattern of features.
 * [[Image:PartDesign_PolarPattern.png|32px]] Polar Pattern: Creates a polar pattern of features.
 * [[Image:PartDesign_Scaled.png|32px]] Scaled: Scales features to a different size.
 * [[Image:PartDesign_MultiTransform.png|32px]] 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


 * [[Image:PartDesign_Boolean.png|32px]] Boolean: Creates boolean operation with two or more bodies

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


 * [[Image:PartDesign_WizardShaft.png|32px]] Shaft design wizard: Generates a shaft from a table of values and allows to analyze forces and moments


 * [[Image:PartDesign_InternalExternalGear.png|32px]] Involute gear: allows you to create gear

Properties
There are two types of feature properties accessible through tabs at the bottom of the property editor:
 * : properties related to the "visual" display of an object.
 * : properties related to the "physical" parameters of an object.

View



 * : Indicates if a box showing the overall extent of the object is to be displayed. Value False, or True (Default, False).
 * : Indicates if the feature control points are to be displayed. Value False, or True (Default, False).
 * : 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).
 * :Display mode of the feature, Flat lines, Shaded, Wireframe, Points [[IMAGE:Vue_DisplayModePartDesign_fr_00.png|96px]]. (Default, Flat lines).
 * : Lighting One side, Two side [[IMAGE:Vue_Lighting_fr_00.png|96px]]. (Default, Two side).
 * : Gives the color of the line (edges) (Default, 25, 25, 25).
 * : Gives the thickness of the line (edges) (Default, 2).
 * : Gives the color of the points (ends of the feature) (Default, 25, 25, 25).
 * : Gives the size of the points (Default, 2).
 * : Allows selection of the feature. Value False, ou True (Default, True).
 * : Give the color shape (default, 204, 204, 204).
 * : Sets the degree of transparency in the feature of 0 to 100 (Default, 0).
 * : Determines the visibility of the feature (like the bar ). Value False, or True (Default, True).

Data


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, a button with appears to the right. Clicking this button, opens the Tasks_Placement options window.

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.

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.

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.



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

Tutorials
Only for a development version of FreeCAD that is not currently available as a binary or installer:
 * PartDesign Bearingholder Tutorial I
 * PartDesign Bearingholder Tutorial II


 * PartDesign tutorial


 * Basic Part Design Tutorial
 * Sketcher tutorial