Sandbox:Part Design Next

Part Design Next
The page to develop the PartDesign Workbench documentation of version 0.17 before its official release and without altering PDW0.16 is: Sandbox:PartDesign Workbench. Its structure is replica of PDW0.16. Please make all the changes there.

'''Note that 0.17 development version has seen and will see many changes, it is not recommended to do any real work with it in the next time as it is unstable. 0.16 files can be opened and the features can be edited, but it is not possible to create new features. This works only in the new workflow with bodies. If it is a PartDesign only model you can try menu->PartDesign->Migrate ickby in this topic'''

Old version
PartDesign documentation up to version 0.16 of FreeCAD is in PartDesign Legacy

Links to forum
What's new in PartDesign Next

Updated PartDesign workflow

PartDesign Next - discussion on Attacher

FC v0.17dev: Part Design Next Usecases and Best practices

PDN Combo view



Create body




To start a new project:
 * 1) click Create body
 * 2) click Create sketch
 * 3) select the plane (base plane) in the menu or in the 3D view
 * 4) click OK
 * 5) create a sketch, and use it in the traditional way, for example, for a pad

Plane selection



Result. Tree document structure, and pad options



New sketch properties

Map Mode. This property allows you to reset the sketch mapping. See User:DeepSOIC for options.



Placement. For attached sketch (and and all attached objects) the old placement is turned off. In this case sketch reposition is obtained through the property super Placement



Add items
When new items are added to the project, they are integrated into the existing ones. Example of a cylinder pad added to a rectangle pad.



Same thing for a pocket mapped on a face



New datum instruments
PD Next It offers new tools that allow you to insert the reference elements (construction elements) such as point, line and plane. They are available in the pull down menu, or in the toolbar.



Here it is added a plan, parallel to the horizontal plane, with an OffsetZ=6.



The datum objects have their properties and can be used as a reference to build the model. But the functions based on datum objects behave differently from the others.

In the figure below you can see how the slot that has been created on the datum plane does not blend with the shape, as opposed to a slot created by a sketch on the XY plane.



Additive/subtractive
It allows you to add or subtract primitive forms to the project.



Opens this menu



The Part Design Tools
Pages to create
 * 1) PartDesign BodyCreateNew.png Create body
 * 2) PartDesign PartCreateNew.png ‎Create part
 * 3) PartDesign_Point.svg Create a point
 * 4) PartDesign_Line.svg Create a line
 * 5) PartDesign_Plane.svg Create a plane
 * 6) PartDesign_ShapeBinder.svg Create a shape binder
 * 7) PartDesign AdditiveBox.png Additive box
 * 8) PartDesign AdditiveCone.png Additive cone
 * 9) PartDesign AdditiveCylinder.png Additive cylinder
 * 10) PartDesign AdditiveEllipsoid.png Additive ellipsoid
 * 11) PartDesign AdditiveLoft.png Additive loft
 * 12) PartDesign AdditivePipe.png Additive pipe
 * 13) PartDesign AdditivePrism.png Additive prism
 * 14) PartDesign AdditiveSphere.png Additive sphere
 * 15) PartDesign AdditiveTorus.png Additive torus
 * 16) PartDesign AdditiveWedge.png Additive wedge
 * 17) PartDesign SubtractiveBox.png Subtractive box
 * 18) PartDesign SubtractiveCone.png Subtractive cone
 * 19) PartDesign SubtractiveCylinder.png Subtractive cylinder
 * 20) PartDesign SubtractiveEllipsoid.png Subtractive ellipsoid
 * 21) PartDesign SubtractiveLoft.png Subtractive loft
 * 22) PartDesign SubtractivePipe.png Subtractive pipe
 * 23) PartDesign SubtractivePrism.png Subtractive prism
 * 24) PartDesign SubtractiveSphere.png Subtractive sphere
 * 25) PartDesign SubtractiveTorus.png Subtractive torus
 * 26) PartDesign SubtractiveWedge.png ‎Subtractive wedge
 * 27) PartDesign Draft.png Draft
 * 28) PartDesign_Thickness.svg Thickness
 * 29) PartDesign_Boolean.svg Boolean
 * 30) PartDesign Migrate.png Migrate
 * 31) PartDesign_MoveTip.svg Move/Set tip
 * 32) PartDesign_CoordinateSystem.svg Coordinate system: edit
 * 33) PartDesign BodyTree.png Body tree
 * 34) Sketch attachment : To describe all the ways of Sketch Attachment. See User:DeepSOIC
 * 35) Body attachment : To describe all the ways of Body attachment, according to the object.
 * 36) Super Placement : To describe all cases in which it is used "super Placement" in place of "Placement"

PDN tools bar



PDN pull down menu



Description
Bodies keep chains of PartDesign features together. That is, a Body contains a chain of operations to build a single solid shape.

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.



Usage

 * 1) Click on [[Image:PartDesign BodyCreateNew.png|24px]] or choose   →   from the main menu.

Description
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.

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.

Usage

 * 1) Click on [[Image:PartDesign PartCreateNew.png|24px]] in the toolbar, or choose   →   from the main menu.

Description
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, try them out.

Datum point with OffsetZ=2



Usage

 * 1) Click on [[Image:PartDesign_Point.svg|16px]] in the toolbar, or choose   →   from the main menu,
 * 2) set options and parameters,
 * 3) click.

Options
Point parameters

Reference
 * Reference 1:
 * Reference 2:
 * Any:
 * Reference 3:
 * Reference 4:

Available modes
 * Object origin:
 * Focus1:
 * Focus2:
 * On edge:
 * Center of curvature:
 * Vertex:
 * Proximity Point 1:
 * Proximity Point 2:
 * Object origin:

Offset
 * OffsetZ, OffsetY, OffsetX:
 * RotateXY:

Description
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, try them out

Usage

 * 1) Click on [[Image:PartDesign_Line.svg|24px]] in the toolbar, or choose   →   from the main menu,
 * 2) set options and parameters,
 * 3) click.

Options
Line parameters

Description
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, try them out

Usage

 * 1) Click on [[Image:PartDesign_Plane.svg|24px]] in the toolbar, or choose   →   from the main menu,
 * 2) set options and parameters,
 * 3) click.

Options
Plane parameters

This is an example of Datum Plane, created by default, where
 * Map mode: deactivated
 * Angle: 45°
 * Axis: y=1
 * Position: x=-10



You can now use this plan as a plan to build a sketch:
 * 1) Select the Datum plane
 * 2) Click New sketch



You can change the plane orientation as you want, and the sketch follows him:



Also, by right-clicking on Datum Plane in the structure you can always access the Edit Datum Plane menu, and decide to attack the plane to an object.

There are numerous options available. See User:DeepSOIC.

Description
Cross referencing: It is now possible to reference things from a body in annother 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.

Usage

 * 1) Activate target body (body to receive Shape Binder object).
 * 2) Select the object to copy (from another body or part)
 * 3) Click on [[Image:PartDesign_ShapeBinder.svg|24px]] in the toolbar, or choose   →   from the main menu,
 * 4) set options and parameters,
 * 5) click.

Description
Inserts a primitive solid and adds it from the existing (Boolean Fusion)

Usage

 * 1) Click on first "down arrow" in the toolbar,
 * 2) choose ,
 * 3) set options and parameters,
 * 4) click.

Options
By default, the object is placed in the origin, Body Origin point 0,0,0. To move the object expand its structure in the Combo View, click Coordinate System -> Coordinate System (blue) -> Placement -> Position.

Coordinate System parameters Reference
 * Reference 1:
 * Reference 2:
 * Reference 3:
 * Reference 4:

Available modes
 * Translate:
 * ObjectXY:
 * ObjectXZ:
 * ObjectYZ:
 * FlatFace:
 * TangentPlane:
 * NormalToEdge:
 * FrenetNB:
 * FrenetTN:
 * FrenetTB:
 * Concentric:
 * SectionOfRevolution:
 * ThreePointsPlane:
 * ThreePointsNormal:
 * Folding:

Offset
 * OffsetZ, OffsetY, OffsetX:
 * RotateXY:

Primitive parameters
 * Length, Width, Height:

Edit Coordinate system

Usage

 * 1) Click on first "down arrow" in the toolbar,
 * 2) choose ,
 * 3) set options and parameters,
 * 4) click.

Options
Coordinate System parameters Reference
 * Reference 1:
 * Reference 2:
 * Reference 3:
 * Reference 4:

Available modes
 * Translate:
 * ObjectXY:
 * ObjectXZ:
 * ObjectYZ:
 * FlatFace:
 * TangentPlane:
 * NormalToEdge:
 * FrenetNB:
 * FrenetTN:
 * FrenetTB:
 * Concentric:
 * SectionOfRevolution:
 * ThreePointsPlane:
 * ThreePointsNormal:
 * Folding:

Offset
 * OffsetZ, OffsetY, OffsetX:
 * RotateXY:

Primitive parameters
 * Radius 1:
 * Radius 2:
 * Height:
 * Angle:

Usage

 * 1) Click on first "down arrow" in the toolbar,
 * 2) choose ,
 * 3) set options and parameters,
 * 4) click.

Options
Coordinate System parameters Reference
 * Reference 1:
 * Reference 2:
 * Reference 3:
 * Reference 4:

Available modes
 * Translate:
 * ObjectXY:
 * ObjectXZ:
 * ObjectYZ:
 * FlatFace:
 * TangentPlane:
 * NormalToEdge:
 * FrenetNB:
 * FrenetTN:
 * FrenetTB:
 * Concentric:
 * SectionOfRevolution:
 * ThreePointsPlane:
 * ThreePointsNormal:
 * Folding:

Offset
 * OffsetZ, OffsetY, OffsetX:
 * RotateXY:

Primitive parameters
 * Radius:
 * Height:
 * Angle:

Description
Inserts a primitive solid and subtracts it from the existing (Boolean Cut)

It is not possible to create a subtractive feature without a base feature available

Usage

 * 1) Click on second "down arrow" in the toolbar,
 * 2) choose ,
 * 3) set options and parameters,
 * 4) click.

Options
By default, the object is placed in the origin, Body Origin point 0,0,0. To move the object expand its structure in the Combo View, click Coordinate System -> Coordinate System (blue) -> Placement -> Position

Description
The Thickness tool works on a solid shape and transforms it into a hollow object, giving to each of its faces a defined thickness. On some solids it allows you to significantly speed up the work, and avoids making extrusions and pockets.

Usage

 * 1) Select a face
 * 2) Click on [[Image:PartDesign_Thickness.svg|24px]] in the toolbar, or choose   →   from the main menu,
 * 3) set options and parameters, (see Options),
 * 4) Click  to confirm, create the operation and exit the function
 * 5) In the Properties table adjust the parameters if necessary.

The following use case is the continuation of Datum Plane example. as in the following pictures
 * 1) Create a Pad from the sketch
 * 2) Create a second sketch on the XY plane
 * 3) Create a second Pad from the secon sketch







then Result:
 * 1) select a circular face
 * 2) select
 * 3) add to the selection Face1, Face4 and Face5



Options

 * Thickness: Wall thickness of the resulting object, set the desired value
 * A positive value will offset the faces outward
 * A negative value will offset the faces inward
 * Mode
 * Skin: Select this option if you want to get an item like a vase, headless but with the bottom
 * Pipe: Select this option if you want to get an object like a pipe, headless and bottomless. In this case it may be convenient to select the faces to be deleted before you start the tool. Helping with predefined views buttons or use the numeric keys.
 * RectoVerso:
 * Join Type
 * Arc: removes the outer edges and create a fillet with a radius equal to the thickness defined
 * Intersection:
 * Make thickness inwards:

Links
Part Thickness

Description
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.

Note that 0.17 development version has seen and will see many changes, it is not recommended to do any real work with it in the next time as it is unstable. 0.16 files can be opened and the features can be edited, but it is not possible to create new features. This works only in the new workflow with bodies. If it is a PartDesign only model you can try menu->PartDesign->Migrate ickby in this topic

PartDesign BodyTree
Through these options you can change the object hierarchy, either within a body that between different bodies.

To access these options do:


 * 1) Expand the tree in the combo view,
 * 2) select the object with the right mouse button,
 * 3) select the desired option.


 * PartDesign_MoveTip.svg Move/Set tip:
 * Move object to other body:
 * Move object after other object:

Example
We continue to work normally
 * If you create a box and then a sphere sequence, the sphere is added to the box and you get this result
 * [[File:PartDesign Tip1.png]]
 * Then if you add a cylinder the result is box->sphere->cylinder
 * [[File:PartDesign Tip2.png]]
 * Now, instead, we want to add the cylinder to the box before the sphere. Let's clear the existing cylinder, then select the box with the right key and set the box as Tip. The dependency graph does not change, but now we can add new features to the box.
 * [[File:PartDesign Tip3.png]]
 * We select an additive cylinder. Only the cube appears in the 3D view.
 * [[File:PartDesign Tip4.png]]
 * The cylinder is inserted between the box and the sphere
 * [[File:PartDesign Tip5.png]]
 * [[File:PartDesign Tip6.png]]

Available since FreeCAD v 0.17.

PartDesign Edit coordinate system
Refereces to build the location of the primitive.

There are two different options to change the object's position, CoordinateSystem and Edit...


 * 1) Select the object in the tree or in the 3D view.
 * 2) In the Combo View Property Data click in the value field CoordinateSystem.
 * 3) Appear two blue writing: CoordinateSystem and Edit...




 * CoordinateSystem opens the traditional positioning menu.


 * Edit... opens a selection window:



Available since FreeCAD v 0.17.

PartDesign Super Placement
All objects that reference other, with the active MapMode property, are objects that use the property superPlacement for their positioning.



To change their position it's possible:
 * edit the superPlacement -> Position, or
 * deactivate mapMode and then use Placement -> Position (it disables the connection to other objects).

Available since FreeCAD v 0.17.

PartDesign Body Attachment
(When you start creating a solid primitive, it can be inserted at point 0,0,0 using the same system of axes BodyOrigin, ObjectXY, or you can map the solid in the ways ObjectXZ and ObjectYZ.)

Attachment mode
 * Deactivated (Default, no reference selected)
 * Translate origin (Origin is aligned to matched Vertex. Orientation is controlled by Placement property. Reference combinations: Vertex)
 * Object's XYZ (Placement is made equal to Placement of linked object. Reference combinations: Any, Conic)
 * Object's XZ-Y (X', Y', Z' axis are matched with objet's local X, Z, -Y respectively. Reference combinations: Any, Conic)
 * Object's YZX (X', Y', Z' axis are matched with objet's local Y, Z, X respectively. Reference combinations: Any, Conic)
 * XY on plane (X', Y' plane is aligned to coincide planar face. Reference combinations: Plane)
 * XY tangent to surface (X', Y' plane is made tangent to surface at vertex. Reference combinations: Face, Vertex / Vertex, Face)
 * Z tangent to edge (Z' axis is aligned to be tangent to edge. Optional Vertex link defines where. Reference combinations: Edge / Edge, Vertex / Vertex, Edge)
 * Frenet NBT (Align to Frenet-Serret coordinate system of curved edge. Optional Vertex link defines where. Reference combinations: Curve / Curve, Vertex / Vertex, Curve)
 * Frenet TNB (Align to Frenet-Serret coordinate system of curved edge. Optional Vertex link defines where. Reference combinations: Curve / Curve, Vertex / Vertex, Curve)
 * Frenet TBN (Align to Frenet-Serret coordinate system of curved edge. Optional Vertex link defines where. Reference combinations: Curve / Curve, Vertex / Vertex, Curve)
 * Concentric (Align XY plane to osculating circle of an edge. Optional Vertex link defines where. Reference combinations: Curve / Circle / Curve, Vertex / Circle, Vertex / Vertex, Curve / Vertex, Circle)
 * Revolution section (Align Y' axis of osculating circle of an edge. Optional Vertex link defines where. Reference combinations: Curve / Circle / Curve, Vertex / Circle, Vertex / Vertex, Curve / Vertex, Circle)
 * XY plane by 3 points (Align XY plane to pass through three vertices. Reference combinations: Vertex, Vertex, Vertex / Line, Vertex / Vertex, Line / Line, Line)
 * XZ plane by 3 points (Align XZ plane to pass through 3 points. X axis will pass through two first points. Reference combinations: Vertex, Vertex, Vertex / Line, Vertex / Vertex, Line / Line, Line)
 * Folding (Specialty mode for folding polihedra. Select 4 edge in order: foldable edge, fold line, other fold line, other foldable edge. XY plane will be aligned to folding the first edge. Reference combinations: Line, Line, Line, Line)

Reference selected


 * Reference 1 = Solid,
 * Object's XYZ
 * Object's XZ-Y
 * Object's YZX


 * Reference 1 = Face,
 * XY on plane


 * Reference 1 = Edge,
 * Z tangent to edge
 * Reference 2 = Edge (Vertex/Edge/Face/Line/Curve/Circle)
 * Z tangent to edge
 * XY plane by 3 points
 * XZ plane by 3 points


 * Reference 1 = Point, Vertex,
 * Translate origin
 * Reference 2 = Edge (Vertex/Edge/Face/Line/Curve/Circle)
 * Z tangent to edge
 * XY plane by 3 points
 * XZ plane by 3 points