GuiCommand | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
|
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.
- Do one of the following:
- Right-click the name of the document in the Tree view and in the context menu choose Create group....
- Press the Create group button.
- An empty Group is created.
- To add objects to the Group, select them in Tree view, and drag and drop them onto the Group.
- To remove objects from the Group, drag them out of the Group, and onto the document label at the top of the Tree view.
- Objects can also be added and removed by editing the Group property of the Group.
The Std Group, internally called App DocumentObjectGroup (App::DocumentObjectGroup
class), is derived from the basic App DocumentObject (App::DocumentObject
class) and inherits all its properties.
The Std Group has the same properties as the App FeaturePython, which is the most basic instance of an App DocumentObject. It also has the following additional properties 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}}
-
Group|LinkList: a list of referenced objects. By default, it is empty {{value|[]}}.
-
_ Group Touched|Bool|Hidden: whether the group is touched or not.
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 addObject()
method of the document. Once a Group exists, other objects can be added to it with the addObject()
or addObjects()
methods.
import FreeCAD as App
doc = App.newDocument()
group = App.ActiveDocument.addObject("App::DocumentObjectGroup", "Group")
obj1 = App.ActiveDocument.addObject("PartDesign::Body", "Body")
obj2 = App.ActiveDocument.addObject("Part::Box", "Box")
group.addObjects([obj1, obj2])
App.ActiveDocument.recompute()
This basic App::DocumentObjectGroup
doesn't have a Proxy object so it can't be fully used for sub-classing.
For Python subclassing you should create a 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