PartDesign Body

Description
A PartDesign Body is the base element to create solids shapes with the PartDesign Workbench. It can contain sketches, datum objects, and PartDesign Features that help in building a single contiguous solid.

The Body provides an object which includes local X, Y, and Z axes, and standard planes. These elements can be used as references to attach sketches and primitive objects.

Do not confuse the PartDesign Body with the  Std Part. The first one is a specific object used in the PartDesign Workbench, intended to model a single contiguous solid by means of PartDesign Features. The Std Part is a grouping object intended to create assemblies; it is not used for modelling, just to arrange different objects in space. Multiple bodies, and other Std Parts, can be placed inside a single Std Part to create a complex assembly.



Usage
If no previous solid is selected:
 * 1) Press the  button. An empty Body is created and automatically becomes.
 * 2) Now you can press  to create a sketch in the Body that can be used with.
 * 3) Alternatively, add a primitive PartDesign Feature, for example,.

If a solid object is selected:
 * 1) Press the  button. A new Body is created containing a single . This Base Feature element is a simple reference to another object previously created or imported into the document. See Base Feature for more information. An existing Body or PartDesign Feature cannot be selected when pressing.

Properties
A PartDesign Body ( class) is derived from a Part Feature ( class), therefore it shares all the latter's properties.

In addition to the properties described in Part Feature, the PartDesign Body has the following properties in the property editor.

Data

 * : the PartDesign Feature defined as "Tip", which is usually the last feature created in the Body. The Tip indicates the final shape of the Body, which is shown in the 3D view when is set to . See Tip for more information.
 * : an external shape used as the first PartDesign Feature in the Body. It is usually set when dragging a solid object into an empty Body. If no solid is imported in this way, this property will be empty. See Base Feature for more information.
 * : the position of the object in the 3D view. The placement is defined by a point (vector), and a  (axis and angle). See Placement.
 * : a list with the PartDesign Features in the Body.

Hidden properties Data

 * : the App Origin object that is the positional reference for all elements listed in.
 * : whether the group is touched or not.

Also the hidden properties described in Part Feature.

View

 * : sets the display mode specifically for the Body with one of two types.
 * (default) exposes all objects inside the Body, that is, sketches, PartDesign Features, datum objects, etc. This mode allows visualizing partial operations done inside the Body, and thus it is the recommended mode when adding and editing features. Select the specific feature, and the set to  or press the  bar on the keyboard.
 * exposes only the final shape of the Body, which is defined by the property. Everything else, including sketches, partial features, datums, etc., is not displayed, even if they are visible in the tree view. This mode is recommended when the Body does not need to be modified further, so a fixed shape is shown. This mode is also recommended when you wish to select the sub-elements (vertices, edges, and faces) of the final shape to use with other workbenches' tools.

Single contiguous solid
A PartDesign Body is intended to model a single contiguous solid. The meaning of "contiguous" is an element made in one piece, with no moving parts, or disconnected solids. Examples of contiguous solids are those that are manufactured from a single piece of raw material by a process of casting, cutting, or milling. For example, a nut, a washer, and a bolt each consists of a single solid piece of steel with no moving parts, so each can be modelled by a PartDesign Body. Objects that are created by welding two pieces can also be modelled by a single Body as long as the weld joint is not intended to break apart.

Once these contiguous solids are put together in some type of arrangement, then they become an "assembly". In an assembly, the objects are not fused together, but they are simply "stacked" or placed next to each other, and remain individual parts.



Feature editing
A PartDesign Body is intended to work by creating an initial solid, either from a sketch or from a primitive shape, and then modifying it through "features" to add or remove material from the previous shape. For a full explanation go to feature editing.

A PartDesign Body will perform an automatic fusion (union) of the solid elements inside of it. This means that (1) partial solids should be touching when created, and (2) disconnected solids are not allowed.





other CAD programs like Catia allow discontiguous solids in the same "Body". As of v0.19, FreeCAD does not allow this. There has been discussions in the FreeCAD forum about lifting this restriction but no concrete decision has been made. If you'd like to know more or present different points of view, please discuss in the forum.

Active status
An open document can contain multiple Bodies. To add a new feature to a specific Body, it needs to be made. An active body will be displayed in the tree view with the background color specified by the value in the preferences editor (by default, light blue). An active body will also be shown in bold text.

To activate or de-activate a Body:
 * Double click on it on the tree view, or
 * Open the context menu (right click) and select.

Activating a Body automatically switches to the PartDesign Workbench. Only a single Body can be active at a time.



Origin
The Origin consists of the three standard axes (X, Y, Z) and three standard planes (XY, XZ and YZ). Sketches and other objects can be attached to these elements when creating them.
 * 1) Create the Body.
 * 2) If the Body is selected in the tree view, press ; the task panel will open to allow selecting one of the planes.
 * 3) If the Body is not selected, select the Origin instead and make it visible in the 3D view by pressing the  bar in the keyboard. Also expand the Origin object to see the axes and planes.
 * 4) Select one of the planes, either in the tree view or in the 3D view, then press . The sketch will be created on the chosen plane.

The same process can be used when creating auxiliary datum geometry like PartDesign Lines, PartDesign Planes, and PartDesign CoordinateSystems.

the Origin is an App Origin object ( class), while the axes and planes are objects of type and  respectively. Each of these elements can be hidden and unhidden individually with the bar; this is useful to choose the correct reference when creating other objects.

all elements inside the Body are referenced to the Body's Origin which means that the Body can be moved and rotated in reference to the global coordinate system without affecting the placement of the elements inside.



Base Feature
The Base Feature is the first PartDesign Feature in the Body when the Body is based on another solid shape. This solid can be created by any workbench, or imported from an external file, for example, a STEP file.



To create the Base Feature:
 * 1) select a solid shape external to any Body, and
 * 2) press ; this will create a new Body with a single Base Feature.

you can't select an existing Body, or any of its features, when pressing.

If you already have a Body, you can create the Base Feature in this way:
 * in the tree view, pick an object, and drag and drop it inside the Body, or
 * in the property editor, edit the value of by pressing the ellipsis, and choosing an object from the list. In this case you can choose an existing Body to be the Base Feature.

dragging and dropping only works for Bodies which don't have a Base Feature already.

if the Body already has several features, when you drag and drop the external solid, the Base Feature will be created at the beginning of the list of features, that is, it will be added to the beginning of the property.

The Base Feature is entirely optional; it is only present when including an object from outside the Body. If no external solid is included, you can still build your shape using sketches, pads, primitive objects, and other PartDesign Features. In this case the property remains empty.



If another PartDesign body is selected as a BaseFeature it must have a shape. If it is empty (no features, no BaseFeature, ...) this will result in error.

Tip
The Tip is the PartDesign Feature that is exposed outside the Body; that is, if another tool from any workbench (for example, or ) needs to use the shape of the Body, it will use the shape of the Tip. Said in another way, the Tip is the final representation of the Body as if the parametric history didn't exist.



The Tip is automatically set to the last feature created in the Body. Nevertheless, it can also be set to any of the intermediate features by opening the tree view context menu (right-click) and choosing, or by changing the Body's value in the property editor.

Changing the Tip in effect rolls back its history, making it possible to add features that should have been added earlier. It also exposes a different shape to external tools.

In the tree view, the Tip of the Body is recognized by the PartDesign Feature that has an icon overlay consisting of a white arrow inside a green circle.



Interaction with other workbenches
By default, PartDesign Features inside a Body are selectable, as this is required to edit and add more features with the PartDesign Workbench tools. Nevertheless, selecting the individual features to use them with tools from other workbenches, like Part and Draft, is not advised, as the results may be unexpected; if this is done, in the report view an error message may appear,.

Therefore, for interactions with other workbenches, only the Body itself should be selected in the tree view. In cases where it is necessary to select specific sub-elements of the Body (vertices, edges, and faces), the Body's property should be switched to. When this mode is enabled, access to objects under the Body (features, datums, sketches) is disabled, and everything but the Body's Tip will be hidden in the 3D view.

Once the sub-elements have been used with other workbenches, can be set back to.



Visibility management
The Body's visibility supersedes the visibility of any object it contains. If the Body is hidden, the objects it contains will be hidden as well, even if their individual property is set to.

Multiple Sketches may be visible at one time, but only one PartDesign Feature (solid result) can be visible at a time. Selecting a hidden feature and pressing the bar in the keyboard will make it visible, and automatically hide the previously visible feature.



Attachment
PartDesign Features, just like planar objects, can be attached to different planes, usually the standard planes defined by the Body's Origin, or to custom PartDesign Planes.

Sketches are normally attached to a plane when they are created. In similar way, primitive features can also be attached. Attaching these objects to a plane allows them to be moved within the Body by changing their property. For more information on the attachment modes see Part EditAttachment.

A PartDesign Feature that is not attached will be shown with a red overlay symbol next to their icon in the tree view.



Inheritance
A PartDesign Body is formally an instance of the class, whose parent is Part Feature ( class) through the intermediate class, and is augmented with an Origin extension.



Scripting
FreeCAD Scripting Basics, and scripted objects.

See Part Feature for the general information on adding objects to the document

A PartDesign Body is created with the method of the document. Once a Body exists, PartDesign Features can be added to it with the or  methods of this Body.

In a document that has many Bodies, the active Body can be set using the method of the. The first argument is the fixed string, and the second argument is the Body object that should be made active.