Sandbox:PartDesign Workbench

''Temporary page. References What's new in PartDesign Next, Updated PartDesign workflow, FC v0.17dev: Part Design Next Usecases and Best practices, Workbench.cpp, Sandbox:Part Design Next''

The Part Design Workbench [FreeCAD 0.17] 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. ''[Note: To be deleted? Part and Body make this unnecessary. 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.



Part, Body, Sketch
Part and Body containers have been introduced.

Part keeps together all the stuff related to a part (a set of objects that are to be moved together during assembly). Part can contain PartDesign Bodies, Part-workbench objects, and other stuff.

Bodies keep chains of PartDesign features together. That is, a Body contains a chain of operations to build a single solid shape. As of now, Bodies are not moveable.

Parts and Bodies are made to:
 * keep the tree view nice and organized
 * features can be easily added into Bodies, and Body will present it's most recent state to the outside (this should solve the situations like "I have made a pocket in my part, why wasn't it's clone updated accordingly?")
 * Part can be placed. Everything contained in the Part is translated/rotated, without causing a recompute. The links to outside of Part will be as if the Part is at the origin, so even a forced recompute will not alter the geometry of the Part. (As far as I understand, this is the fundamental difference that was required to make Assembly work.)

The new dependent copy creation mechanism should keep the model tree nice and clean, as well as provide some possibility to rip parts off a complex design into a new document.

Individual solids can depend on each other


 * PartDesign Part.png ‎Create part. A part is not related to PartDesign but is a new general FreeCAD element. It provides a local coordinate system and can be used to group any kind of FreeCAD stuff and move it as one unit. This will be the future basis for assemblies. Parts can have as many solids as needed.
 * PartDesign Body.png Create body A body is a single solid created from multiple individual PartDesign features. It does group all features used for its creation beneath it in the tree. It does provide an Origin (Planes and axis) which can be used in the features as references. Furthermore it can be freely moved without making it nesseccary to move the individual features.

Active objects: There is now the notion of active objects. for example your file can hold multiple Bodies. If you create a new feature the feature is added to the active one. To activate a body double click it, the state will be indicated in the tree by background color.


 * PartDesign_NewSketch.png Create sketch
 * Sketch see Sketcher_Workbench

It is not needed anymore that a sketch is located on a face of a feature. Even if created anywhere in the 3d space the features get added / subtracted from the body
 * Sketch Management: See below Sketcher tools

Datum
It is now possible to create datum planes/lines/points and attach them to features. Those datums can be used as basis for sketches or as revolution axis etc. There are a multitude of attachment possibilities for datums.

Cross referencing: It is now possible to reference things 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 annother one. This should make it easy to build a box with fitting cover in two different bodies. FreeCAD helps you to not accidently link to other bodies and inqueries your intend.


 * PartDesign Point.png Create a datum point
 * PartDesign Line.png Create a datum line
 * PartDesign Plane.png Create a datum plane
 * PartDesign ShapeBinder.png Create a shape binder

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

Sketch based tools (pad, revolve, ...) now work not only with sketches but also with faces of a feature

Additional toolset: all relevant tools formerly exclusive to the Part workbench are now also available in PartDesign. The do have the usual different behavior: always creating solids, automatic adding or subtracting to the body.

Loft, Sweep and Thickness are now in PartDesign. Lofts and Sweeps in PartDesign support creation of pipes in one operation, unlike their Part wb versions.

Additive

 * [[Image:PartDesign_Pad.png|32px]] Pad: Extrudes a solid object from a selected sketch.
 * [[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.
 * PartDesign AdditiveLoft.png Additive loft
 * PartDesign AdditivePipe.png Additive pipe

Addive primitive

 * PartDesign AdditiveBox.png Additive box
 * PartDesign AdditiveCone.png Additive cone
 * PartDesign AdditiveCylinder.png Additive cylinder
 * PartDesign AdditiveEllipsoid.png Additive ellipsoid
 * PartDesign AdditivePrism.png Additive prism
 * PartDesign AdditiveSphere.png Additive sphere
 * PartDesign AdditiveTorus.png Additive torus
 * PartDesign AdditiveWedge.png Additive wedge

Subtractive

 * [[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_Hole.png|32px]] Hole:
 * [[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.
 * PartDesign SubtractiveLoft.png Subtractive loft
 * PartDesign SubtractivePipe.png Subtractive pipe

Subtractive primitive

 * PartDesign SubtractiveBox.png Subtractive box
 * PartDesign SubtractiveCone.png Subtractive cone
 * PartDesign SubtractiveCylinder.png Subtractive cylinder
 * PartDesign SubtractiveEllipsoid.png Subtractive ellipsoid
 * PartDesign SubtractivePrism.png Subtractive prism
 * PartDesign SubtractiveSphere.png Subtractive sphere
 * PartDesign SubtractiveTorus.png Subtractive torus
 * PartDesign SubtractiveWedge.png ‎Subtractive wedge

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

Mirrored, Polar Pattern, Linear Pattern and Multitransform now can transform multiple features at once.


 * [[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_MultiTransform.png|32px]] MultiTransform: Allows creating a pattern with any combination of the other transformations.

Addizional tools

 * PartDesign Fillet.png Fillet
 * PartDesign Chamfer.png Chamfer
 * PartDesign Draft.png Draft
 * PartDesign Thickness.png Thickness


 * PartDesign Boolean.png Boolean


 * PartDesign Migrate.png Migrate Migration: Files created with older freecad versions can still be opened and edited. If pure part design feature based they can be converted to the new style via the menu ->PartDesign -> Migrate. If they are mixed Part / Part Design/ Draft the conversion will most likely fail.

Involute Gear is now attachable, like sketches. This also applies to a multitude of stuff from Draft workbench (to everything that is derived from Part::Part2DObject; it needs some attention).

Other tools

 * PartDesign MoveTip.png Move/Set tip
 * PartDesign CoordinateSystem.png Coordinate system: edit
 * PartDesign BodyTree.png Body tree
 * Sketch attachment : To describe all the ways of Sketch Attachment. See User:DeepSOIC
 * Move object to other body
 * Move object after other object
 * Body attachment : To describe all the ways of Body attachment, according to the object.
 * Super Placement : To describe all cases in which it is used "super Placement" in place of "Placement"

The Sketcher 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.

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.

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