Difference between revisions of "PartDesign Body"

From FreeCAD Documentation
Jump to: navigation, search
(See active status for more information.)
Line 41: Line 41:
 
<!--T:25-->
 
<!--T:25-->
 
If no previous solid is selected:
 
If no previous solid is selected:
# Press the {{Button|[[Image:PartDesign_Body.svg|16px]] [[PartDesign Body|Body]]}} button. An empty Body is created and automatically becomes active.
+
# Press the {{Button|[[Image:PartDesign_Body.svg|16px]] [[PartDesign Body|Body]]}} button. An empty Body is created and automatically becomes {{Emphasis|[[PartDesign_Body#Active_status|active]]}}.
# Now you can press {{Button|[[File:PartDesign_NewSketch.svg|16px]] [[PartDesign_NewSketch|New sketch]]}} to create a sketch in the Body that can be used with {{Button|[[File:PartDesign_Pad.svg|16px]] [[PartDesign_Pad|Pad]]}}.
+
# Now you can press {{Button|[[File:PartDesign_NewSketch.svg|16px]] [[PartDesign_NewSketch|New sketch]]}} to create a [[Sketch|sketch]] in the Body that can be used with {{Button|[[File:PartDesign_Pad.svg|16px]] [[PartDesign_Pad|Pad]]}}.
# Alternatively, add a primitive solid feature, for example, {{Button|[[File:PartDesign_AdditiveBox.svg|16px]] [[PartDesign_AdditiveBox|Additive box]]}}.
+
# Alternatively, add a primitive [[PartDesign Feature|PartDesign Feature]], for example, {{Button|[[File:PartDesign_AdditiveBox.svg|16px]] [[PartDesign_AdditiveBox|Additive box]]}}.
  
 
<!--T:42-->
 
<!--T:42-->
 
If a solid object is selected:
 
If a solid object is selected:
# Press the {{Button|[[Image:PartDesign_Body.svg|16px]] [[PartDesign Body|Body]]}} button. A new body is created containing a single {{MenuCommand|BaseFeature}}. This BaseFeature element is a simple reference to another object previously created or imported into the document. See [[PartDesign_Body#Base_Feature|Base Feature]] for more information.
+
# Press the {{Button|[[Image:PartDesign_Body.svg|16px]] [[PartDesign Body|Body]]}} button. A new Body is created containing a single {{MenuCommand|Base Feature}}. This Base Feature element is a simple reference to another object previously created or imported into the document. See [[PartDesign_Body#Base_Feature|Base Feature]] for more information. An existing Body or [[PartDesign_Feature|PartDesign Feature]] cannot be selected when pressing {{Button|[[Image:PartDesign_Body.svg|16px]] [[PartDesign Body|Body]]}}.
  
 
===Notes=== <!--T:26-->
 
===Notes=== <!--T:26-->
  
 
<!--T:43-->
 
<!--T:43-->
* An existing Body or [[PartDesign_Feature|PartDesign Feature]] cannot be selected when pressing {{Button|[[Image:PartDesign_Body.svg|16px]] [[PartDesign Body|Body]]}}.
+
* If no Body currently exists when {{Button|[[File:PartDesign_NewSketch.svg|16px]] [[PartDesign_NewSketch|New sketch]]}} is pressed, a new Body will be automatically created. If a Body already exists, it has to be made active before using {{Button|[[File:PartDesign_NewSketch.svg|16px]] [[PartDesign_NewSketch|New sketch]]}}.
* If no Body currently exists, when {{Button|[[File:PartDesign_NewSketch.svg|16px]] [[PartDesign_NewSketch|New sketch]]}} is pressed on the PartDesign toolbar, a new Body will be automatically created. If a Body already exists, it has to be made active before using {{Button|[[File:PartDesign_NewSketch.svg|16px]] [[PartDesign_NewSketch|New sketch]]}}.
+
* Double-click the Body in the [[tree view|tree view]] or open the context menu (right-click) and select {{MenuCommand|Toggle active body}} to activate or deactivate the Body. If another Body is active, it will be deactivated. See [[PartDesign_Body#Active_status|active status]] for more information.
* Double-click the Body in the [[tree view|tree view]] or open the context menu (right-click) and select {{MenuCommand|Toggle active body}} to activate or deactivate the Body. If another Body is active, it will be deactivated.
 
  
 
==Properties== <!--T:15-->
 
==Properties== <!--T:15-->

Revision as of 05:56, 12 December 2019

Other languages:
Deutsch • ‎English • ‎español • ‎français • ‎italiano • ‎polski • ‎română • ‎Türkçe
Arrow-left.svg Previous: Group.svg Group

PartDesign Body.svg PartDesign Body

Menu location
Part Design → Create body
Workbenches
PartDesign
Default shortcut
None
Introduced in version
0.17
See also
Std Part, feature editing


Description

A PartDesign Body is the base element to create solids shapes with the PartDesign Workbench. It can contain sketches, datums objects, and PartDesign Features in order to produce a single contiguous solid.

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

Since the Body is supposed to be a single contiguous solid, it can be moved entirely as a unit, without moving the individual features. Multiple bodies can be placed inside Std Parts in order to create assemblies.

PartDesign Body tree.png PartDesign Body example.png

Left: the tree view showing the features that sequentially produce the final shape of the object. Right: the final object visible in the 3D view.


How to use

If no previous solid is selected:

  1. Press the PartDesign Body.svg Body button. An empty Body is created and automatically becomes active.
  2. Now you can press PartDesign NewSketch.svg New sketch to create a sketch in the Body that can be used with PartDesign Pad.svg Pad.
  3. Alternatively, add a primitive PartDesign Feature, for example, PartDesign AdditiveBox.svg Additive box.

If a solid object is selected:

  1. Press the PartDesign Body.svg Body button. A new Body is created containing a single Base Feature. 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 PartDesign Body.svg Body.

Notes

  • If no Body currently exists when PartDesign NewSketch.svg New sketch is pressed, a new Body will be automatically created. If a Body already exists, it has to be made active before using PartDesign NewSketch.svg New sketch.
  • Double-click the Body in the tree view or open the context menu (right-click) and select Toggle active body to activate or deactivate the Body. If another Body is active, it will be deactivated. See active status for more information.

Properties

A PartDesign Body (PartDesign::Body class) is derived from a Part Feature (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

Base

  • DataTip: the feature defined as "Tip". The Tip is usually the last feature created in the Body, although any of the previous features can also be set as the Tip. This indicates which is the final shape of the Body, which is displayed when ViewDisplay Mode Body is set to Tip. See Tip for more information.
  • DataBase Feature: an external shape used as the first feature in the Body. It is usually set when dragging a solid object into an empty Body. This property may be empty. See Base Feature for more information.
  • DataGroup: a list with the PartDesign Features inside the Body.
  • DataPlacement: the position of the object in the 3D view. The placement is defined by a Base point (vector), and a Rotation (axis and angle). See Placement.

View

Base

  • ViewDisplay Mode Body: sets the display mode specifically for the Body with one of two types.
    • Through (default) exposes all objects inside the Body, that is, sketches, 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 ViewVisibility to True or press Space on the keyboard.
    • Tip exposes only the final shape of the Body, which is defined by the DataTip 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.

Full description

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 metal 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, they are "stacked" or placed next to each other, and remain individual parts.

PartDesign Body contiguous separate.png PartDesign Body contiguous assembly.png

Left: three individual contiguous solids, each of them modelled by a PartDesign Body. Right: the individual Bodies put together in an assembly.


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" that add or remove material from the previous shape. For a full explanation go to feature editing.

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

PartDesign Body two intersection.png PartDesign Body two fusion.png

Left: two individual solids that intersect each other. Right: a single PartDesign Body with two additive features; they are automatically fused together, so instead of intersecting, they form a single contiguous solid.


PartDesign Body non-contiguous.png

Left: two disconnected solids; this isn't a valid PartDesign Body. Right: two touching solids; this results in a valid PartDesign Body. The newer feature should always contact or intersect the previous feature so that it is fused to it, and becomes a single contiguous solid.


Active status

An open document can contain multiple Bodies. To add a new feature to a specific Body, it needs to be made active. An active body will be displayed in the tree view with the background color specified by the Active container 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 Toggle active body.

PartDesign Body active.png

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 PartDesign NewSketch.svg New sketch; 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 Space 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 PartDesign NewSketch.svg New sketch. The sketch will be created on the chosen plane.

The same process can be used when creating auxiliary datum geometry like lines, planes, and coordinate systems.

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 elements inside.

PartDesign Body Origin tree.png PartDesign Body Origin view.png

PartDesign Origin in the tree view, and as it appears displayed on the 3D view.


The Origin is an object of class App::Origin, while the axes and planes are objects of type App::Line and App::Plane respectively.

Base Feature

The Base Feature is the first 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.

PartDesign Body tree-03.png

To create the Base Feature:

  1. select a solid shape external to any Body, and
  2. press PartDesign Body.svg Body; this will create a new Body with a single Base Feature.

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

If you already have a Body, you can create the Base Feature in this way:

  • in the tree view, drag an object and drop it inside the Body, or
  • in the property editor, edit the value of DataBase Feature 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.

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

Note 2: if your Body already has several features, when you drag and drop the external solid, the Base Feature will be moved to the beginning of the list.

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

Tip

The tip is the feature that is exposed outside the Body. It is automatically set to the last feature at the bottom of the tree. But sometimes it can be useful to change it to an earlier feature in the Body tree, which in effect rolls back its history; then it is possible to add features that should have been added earlier. In the Body tree, the feature set to tip displays a green dot with a white down arrow in it.

PartDesign Body tree-04.png

For more details, see the PartDesign MoveTip.png Move Tip page.

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 visibility is set to true. Only one feature can be visible at a time. Selecting a hidden feature and pressing the space bar will make it visible, and automatically hide the previously visible feature.

Interaction with other workbenches

By default, objects underneath a Body are selectable, and this is of course required to edit and add features in PartDesign. But selecting a Body's features to create operations from other workbenches (like Part or Draft) is not advised, as the results may be unexpected; in all cases, an error labelled Links go out of the allowed scope will appear in the Report view.

Therefore, for interactions with other workbenches, only the Body itself should be selected from the Model tree. In cases where it is necessary to select specific topology on the Body (vertex, edge, face), then the Body's Display Mode Body view property can be switched from Through (default) to Tip. This property is accessible from the View panel. In Tip mode, access to the objects under the Body (features, datums, sketches) is disabled; everything but the tip feature will be hidden in the 3D view, no matter which object is set as visible.

Once operations in other workbenches are completed, do not forget to reset the Display Mode Body property to Through to be able to edit the Body.

Inheritance

FreeCAD core objects.svg

Simplified diagram of the relationships between the core objects in the program. The PartDesign::Body object is intended to build parametric 3D solids, and thus is derived from the basic Part::Feature object.


Scripting

See also: FreeCAD Scripting Basics, and scripted objects.

See Part Feature for the general information.

A PartDesign Body is created with the addObject() method of the document. Once a body exists, features, like additive and subtractive primitives, can be added and attached to that body.

import FreeCAD as App

doc = App.newDocument()
obj = App.ActiveDocument.addObject('PartDesign::Body', 'Body')
obj.Label = "Custom label"

feature = App.ActiveDocument.addObject('PartDesign::AdditiveBox', 'Box')
obj.addObject(feature)
App.ActiveDocument.recompute()

The active Body can be set using the setActiveObject method of the ActiveView. The first argument is the fixed string 'pdbody', and the second argument is the Body object itself.

import FreeCAD as App
import FreeCADGui as Gui
App.newDocument()
obj = App.ActiveDocument.addObject('PartDesign::Body', 'Body')

Gui.ActiveDocument.ActiveView.setActiveObject('pdbody', obj)
Arrow-left.svg Previous: Group.svg Group