---
- GuiCommand:
Name:Std Group
MenuLocation:[Tree view](Tree_view.md) → Right click on the document name → Create group
Workbenches:All
Shortcut:
Version:
SeeAlso:[Std Part](Std_Part.md), [Draft SelectGroup](Draft_SelectGroup.md), [Draft AddToGroup](Draft_AddToGroup.md)
---
Std Group (internally called App DocumentObjectGroup) is a general purpose container that allows you to group different types of objects in the tree view, regardless of their data type. It is used as a simple folder to categorize and organize the objects in your model, in order to keep a logical structure. Std Groups may be nested inside other Std Groups.
The Std Group 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 3D objects as a single unit, with the intention of creating assemblies, use Std Part instead.
Various elements inside Std Groups in the tree view.
- Click on the name of the document in the tree view, open the context menu (right click), and choose Create group.
- Alternatively, press the Create group button in the structure toolbar. An empty Group is created.
- To add objects to a Group, select them in tree view, and then drag and drop them over the Group.
- To remove objects from a Group, drag them out of the Group, and onto the document label at the top of the tree view.
- The Group object does not affect the positions in the 3D view of the elements that it contains; it is essentially just a folder that is used to keep the tree view organized.
- The Group can also be created from the Python console, and sub-classed to create special "groups", as indicated in the Scripting section.
A Std Group is internally called App DocumentObjectGroup (App::DocumentObjectGroup
class), and is derived from the basic App DocumentObject (App::DocumentObject
class), therefore it shares all the latter's properties.
In addition to the properties described in App FeaturePython, which is the most basic instance of an App DocumentObject, the App DocumentObjectGroup has the Group property.
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.
{{TitleProperty|Base}}
-
Label|String: the user editable name of this object, it is an arbitrary UTF8 string.
-
Group|LinkList: a list of referenced objects. By default, it is empty {{value|[]}}.
Hidden properties Data
- Proxy|PythonObject: a custom class associated with this object. This only exists for the Python version. See Scripting.
{{TitleProperty|Base}}
See App FeaturePython for the basic view properties.
Hidden properties View
- Proxy|PythonObject: a custom view provider class associated with this object. This only exists for the Python version. See Scripting.
A Std Group is formally an instance of the class App::DocumentObjectGroup
, whose parent is the basic App DocumentObject (App::DocumentObject
class), and is augmented with a Group extension.
*Simplified diagram of the relationships between the core objects in the program. The App::DocumentObjectGroup* class is a simple container which uses the Group extension to be able to hold any type of object.
See also:
FreeCAD Scripting Basics, and scripted objects.
See Part Feature for the general information on adding objects to the document.
A Std Group (App DocumentObjectGroup) is created with the
import FreeCAD as App
doc = App.newDocument()
obj = App.ActiveDocument.addObject("App::DocumentObjectGroup", "Group")
bod1 = App.ActiveDocument.addObject("PartDesign::Body", "Body")
bod2 = App.ActiveDocument.addObject("Part::Box", "Box")
obj.addObjects([bod1, bod2])
App.ActiveDocument.recompute()
This basic App::DocumentObjectGroup
doesn't have a Proxy object so it can't be fully used for sub-classing.
Therefore, for Python subclassing, you should create the App::DocumentObjectGroupPython
object.
import FreeCAD as App
doc = App.newDocument()
obj = App.ActiveDocument.addObject("App::DocumentObjectGroupPython", "Name")
obj.Label = "Custom label"
For example, a FEM Analysis is an App::DocumentObjectGroupPython
object with a custom icon and additional properties.
{{Std Base navi}}
documentation index > Std Group