From FreeCAD Documentation
Jump to navigation Jump to search
This page is a translated version of the page Std Part and the translation is 5% complete.
Outdated translations are marked like this.
Other languages:
Deutsch • ‎English • ‎Türkçe • ‎español • ‎français • ‎italiano • ‎polski • ‎português do Brasil • ‎română • ‎русский • ‎한국어
Next: Group Std Group.svg Arrow-right.svg


Part(piesa) este un container de uz general care ține împreună un grup de obiecte astfel încât ele pot fi mișcate ca o unitate. Piesa poate conține majoritatea obiectelor FreeCAD, cum ar fi corpurile PartDesign, obiecte ale atelierului Part, obiecte Mesh etc.

Piesa oferă un sistem local de coordonate la care se pot atașa schițe și alte obiecte.

Although it is primarily intended for solid bodies, the Std Part can be used to manage any object that has a Placement property, so it can also contain Mesh Features, sketches, and other objects derived from the App GeoFeature class.

O Piesă se află în bara de instrumente Structure care este afișată în toate atelierele de lucru.

The Std Part.svg Std Part tool is not defined by a particular workbench, but by the base system, thus it is found in the structure toolbar that is available in all workbenches. To group objects arbitrarily without considering their position, use Std Group.svg Std Group; this object does not affect the placements of the elements that it contains, it is essentially just a folder that is used to keep the tree view organized.

Std Part-tree.pngStd Part example.png

Left: elements inside a Std Part in the tree view. Right: objects positioned in space, referred to the Origin of the Std Part.

Cum se folosește

  • Press the Std Part.png Create part button in the toolbar. The Part automatically becomes active.
  • Double-click the Part in the Model tree to activate or deactivate it.
  • To add objects to a Part, drag & drop them over the Part in the Model tree.
  • To remove objects from a Part, drag & drop them out of the Part and on the document label at the top of the Model tree.


  • As of v0.19, a given object can only belong to a single Part.
  • Double-click the Part in the tree view or open the context menu (right-click) and select Toggle active part to activate or deactivate the Part. If another Part is active, it will be deactivated. See active status for more information.


  • Chiar și atunci când o Piesă este activă, obiectele nou create nu sunt lasate în interiorul Piesei/Part, dar vor fi plasate în partea de jos a arborescenței. Pur și simplu glisați și fixați-le peste Piesă.
  • O piesă nu are formă. Nu este posibil să aplicați cele mai multe operații 3D asupra unei Piesei, ca operații Booleene.
  • În acest moment, Draft Snaps nu funcționează pe unul sau mai multe containere Piesă selectate sau pe obiectele din interiorul unui container.
  • Notă a Redactorului: în acest moment nu este clar statutul activ al piesei nu este clar.


A Std Part is internally called App Part (App::Part class), and is derived from an App GeoFeature (App::GeoFeature class), therefore it shares most of the latter's properties.

In addition to the properties described in App GeoFeature, the App Part class has some properties that help it manage information in the context of an assembly, for example, DateType, DateId, DateLicense, DateLicenseURL, DateColor, and DateGroup.

These are the properties available in the property editor. Hidden properties can be shown by using the Show all command in the context menu of the property editor.



  • DateId: ID (Part number) of the item. This field is optional.
  • DateLicense: the license under which the part is released.
  • DateLicense URL: the Web address where the terms license can be found.
  • DatePlacement: specifies the orientation and position of the Part in the 3D space. See Placement.
  • DateLabel: the Label is the name given to the operation. This name can be changed at your convenience.
  • DateGroup: lists the referenced objects.

Hidden properties Data

  • DateMaterial (Map): map with material properties. By default, it is empty {}.
  • DateMeta (Map): map with additional meta information. By default, it is empty {}.
  • DateUid (UUID): the universally unique identifier (UUID) (128-bit number) of the object. This is assigned at creation time.
  • DateLabel2 (String): a longer, user editable description of this object, it is an arbitrary UTF8 string that may include newlines. By default, it is an empty string "".
  • DateExpression Engine (ExpressionEngine): a list of expressions. By default, it is empty [].
  • DateVisibility (Bool): whether to display the object or not.
  • DateOrigin (Link): the App Origin object that is the positional reference for all elements listed in DateGroup.
  • Date_ Group Touched (Bool): whether the group is touched or not.


The App Part only has the five properties of the basic App FeaturePython, and it does not have hidden properties.


  • VizualizareDisplay Mode (Enumeration): Group.
  • VizualizareOn Top When Selected (Enumeration): Disabled (default), Enabled, Object, Element.
  • VizualizareSelection Style (Enumeration): Shape (default), BoundBox. If the option is Shape, the entire shape (vertices, edges, and faces) will be highlighted in the 3D view; if it is BoundBox only the bounding box will be highlighted.
  • VizualizareShow In Tree (Bool): if it is true, the object appears in the tree view. Otherwise, it is set as invisible.
  • VizualizareVisibility (Bool): if it is true, the object appears in the 3D view; otherwise it is invisible. By default this property can be toggled on and off by pressing the Space bar in the keyboard.

Example de utilizări

  • As an assembly container that groups objects to be manufactured separately then glued or screwed together, like a wooden table.
  • When importing a STEP assembly in FreeCAD, the main assembly and its sub-assemblies are Part containers.
  • A part that is composed of multiple non-fused components, like a ball bearing.

The Std Part is intended to be the basic building block to create assemblies. Unlike a PartDesign Body, an assembly is meant to be a collection of separate, distinguishable elements which are connected in some way in the physical world, for example, through pressure, screws, or glue.

Examples that could be Parts:

  • A wooden table that consists of individual wooden pieces (legs, top), which are put together by glue or metal screws.
  • A ball bearing that is composed of multiple steel balls, an inner ring, a retainer, a seal, and an outer ring.
  • An assembly of a screw with a washer, and a matching nut.

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 inside a Std Part to create an assembly.

In general terms, when importing a STEP file into the program, the main assembly and its sub-assemblies will be imported as Part containers, each of them containing a simple Part Feature.

Detailed explanation

Status Active

A FreeCAD document can contain multiple Parts. Only one Part can be active at a time. An active Part will be displayed in the tree with a light blue background color.

An open document can contain multiple Parts. An active Part 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 part will also be shown in bold text.

To activate or de-activate a Part:

  • Double click on it on the tree view, or
  • Open the context menu (right click) and select Toggle active part.


  • The active status of Parts was developed in v0.17 in parallel with the active status of PartDesign Bodies; however, as of v0.19 this status does not serve a real purpose for Parts.
  • Even when a Part is active, newly created objects are not placed inside of it automatically. In this case, simply drag these new objects, and drop them onto the desired Part.
  • Only a single Part can be active at a time.

Std Part active.png

Document with two Std Parts, of which the second one is active.


The Origin consists of the three standard axes (X, Y, Z) and three standard planes (XY, XZ and YZ). Sketches can be attached to these planes. All elements inside the Part are referenced to the Part's Origin; which means that the Part can be moved and rotated in reference to the global coordinate system without affecting the placement of elements inside it.

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.

Part Origin tree.png Part Origin view.png

Left: Part Origin in the tree view. Right: representation of the Origin elements in the 3D view.

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

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

Managementul Vizibilității

The Part's visibility supersedes the visibility of any object it contains. If the Part is hidden, the objects it contains will be hidden as well, even if their visibility is set to true. Multiple objects inside a Part can be visible at a time.

The Part's visibility supersedes the visibility of any object it contains. If the Part is hidden, the objects it contains will be hidden as well, even if their individual VizualizareVisibility property is set to true. If the Part is visible, then each object's VizualizareVisibility determines whether the object is shown or not.

Part Visibility off.png Part Visibility on.png

The visibility of the Std Part determines whether the objects grouped under it are shown in the 3D view or not. Left: the Part is hidden, so none of the objects will be shown in the 3D view. Right: the Part is visible, so each object controls its own visibility.


A Std Part is formally an instance of the class App::Part, whose parent is the basic App GeoFeature (App::GeoFeature class), and is augmented with an Origin extension.

FreeCAD core objects.svg

Simplified diagram of the relationships between the core objects in the program. The App::Part class is a simple container that has a position in 3D space, and has an Origin to control the placement of the objects grouped under it.


See also: FreeCAD Scripting Basics, and scripted objects.

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

A Std Part (App Part) is created with the addObject() method of the document. Once a Part exists, other objects can be added to it with the addObject() or addObjects() methods of this Part.

import FreeCAD as App

doc = App.newDocument()
obj = App.ActiveDocument.addObject("App::Part", "Part")

bod1 = App.ActiveDocument.addObject("PartDesign::Body", "Body")
bod2 = App.ActiveDocument.addObject("Part::Box", "Box")

obj.addObjects([bod1, bod2])

You cannot create a scripted App::Part. However, you can add App::Part behaviour to a scripted Part::FeaturePython object by using the following code:

class MyGroup(object):
    def __init__(self, obj=None):
        self.Object = obj
        if obj:

    def __getstate__(self):

    def __setstate__(self, _state):

    def attach(self, obj):
        obj.Origin = FreeCAD.ActiveDocument.addObject('App::Origin', 'Origin')

    def onDocumentRestored(self, obj):
        self.Object = obj

class ViewProviderMyGroup(object):
    def __init__(self, vobj=None):
        if vobj:
            vobj.Proxy = self
            self.ViewObject = None

    def attach(self, vobj):
        self.ViewObject = vobj

    def __getstate__(self):
        return None

    def __setstate__(self, _state):
        return None

App.ActiveDocument.addObject('Part::FeaturePython', 'Group', group.MyGroup(), group.ViewProviderMyGroup(), True)

Next: Group Std Group.svg Arrow-right.svg