Std Group: Difference between revisions
(Fix display of GuiCommand) |
No edit summary |
||
(38 intermediate revisions by 7 users not shown) | |||
Line 3: | Line 3: | ||
<!--T:19--> |
<!--T:19--> |
||
{{Docnav |
{{Docnav |
||
|[[ |
|[[Std_Part|Part]] |
||
|[[Std_LinkMake|LinkMake]] |
|||
|[[PartDesign Body|Create body]] |
|||
|[[Std_Base|Std Base]] |
|||
|[[PartDesign_Workbench|PartDesign]] |
|||
|IconL=Std_Part. |
|IconL=Std_Part.svg |
||
|IconR=Std_LinkMake.svg |
|||
|IconC=Workbench_PartDesign.svg |
|||
|IconC=Freecad.svg |
|||
|IconR=PartDesign Body.png |
|||
}} |
}} |
||
Line 14: | Line 14: | ||
{{GuiCommand |
{{GuiCommand |
||
|Name=Std Group |
|Name=Std Group |
||
|MenuLocation=Tree |
|MenuLocation=[[Tree_view|Tree view]] → Right click on the document name → Create group |
||
|Workbenches=All |
|Workbenches=All |
||
|Shortcut= |
|||
|SeeAlso=[[Draft_SelectGroup|Draft SelectGroup]], [[Draft_AddToGroup|Draft AddToGroup]] |
|||
|Version= |
|||
|SeeAlso=[[Std_Part|Std Part]], [[Draft_SelectGroup|Draft SelectGroup]], [[Draft_AddToGroup|Draft AddToGroup]] |
|||
}} |
}} |
||
Line 22: | Line 24: | ||
<!--T:3--> |
<!--T:3--> |
||
[[Std_Group|Std Group]] (internally called [[App_DocumentObjectGroup|App DocumentObjectGroup]]) is a general purpose container that allows you to group different types of objects in the [[Tree_view|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. |
|||
This command lets you create a group in the tree view. |
|||
<br /> |
|||
It can be used for organizing the structure of your model. |
|||
<!--T:27--> |
|||
The Std Group tool is not defined by a particular workbench, but by the base system, thus it is found in the {{MenuCommand|structure toolbar}} that is available in all [[Workbenches|workbenches]]. |
|||
<!--T:5--> |
|||
Right-click on the name of your FreeCAD-document in the tree-view and choose "create group". |
|||
<br /> |
|||
A group will be created automatically and give the icon of a directory and an automatically chosen name. |
|||
<br /> |
|||
You can rename the group by right-clicking on the group and choosing "rename" or using "F2" on your keyboard. |
|||
<br /> |
|||
Push FreeCAD-objects into the group or pull them out of the group by clicking on the desired object, |
|||
<br /> |
|||
keep left-mouse button pressed and using drag&drop-style to drag the object to desired new location. |
|||
<br /> |
|||
As long as there is a "circle with a diagonal line"-sign below the cursor you can't drop your object here. |
|||
<br /> |
|||
As soon as the sign changes to a "plus"-symbol it is possible to drop your object here. |
|||
<br /> |
|||
<!--T:6--> |
|||
# Right click on active document or on existing group in the [[Document structure|Tree View]] and select {{KEY|Create Group...}} |
|||
# Drag-n-drop objects into the group |
|||
<!--T:28--> |
|||
To group 3D objects as a single unit, with the intention of creating assemblies, use [[Std_Part|Std Part]] instead. |
|||
<!--T:7--> |
<!--T:7--> |
||
[[ |
[[File:Std_Group_example.png]] |
||
<!--T:29--> |
|||
{{Caption|Various elements inside Std Groups in the tree view.}} |
|||
<!--T: |
==Usage== <!--T:4--> |
||
* To rename the group select a group and press {{KEY|F2}}, or right click a group and select {{KEY|Rename}} |
|||
<!--T:5--> |
|||
# Do one of the following: |
|||
#* Right-click the name of the document in the [[Tree_view|Tree view]] and in the context menu choose {{MenuCommand|Create group...}}. |
|||
#* Press the {{Button|[[Image:Std_Group.svg|16px]] [[Std_Group|Create group]]}} button. |
|||
# An empty Group is created. |
|||
# To add objects to the Group, select them in [[Tree_view|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|Tree view]]. |
|||
# Objects can also be added and removed by editing the {{PropertyData|Group}} property of the Group. |
|||
==Properties== <!--T:10--> |
==Properties== <!--T:10--> |
||
<!--T:32--> |
|||
The [[Std_Group|Std Group]], internally called [[App_DocumentObjectGroup|App DocumentObjectGroup]] ({{incode|App::DocumentObjectGroup}} class), is derived from the basic [[App_DocumentObject|App DocumentObject]] ({{incode|App::DocumentObject}} class) and inherits all its properties. |
|||
<!--T:33--> |
|||
The Std Group has the same properties as the [[App_FeaturePython#Properties|App FeaturePython]], which is the most basic instance of an [[App_DocumentObject|App DocumentObject]]. It also has the following additional properties in the [[Property_editor|property editor]]. Hidden properties can be shown by using the {{MenuCommand|Show all}} command in the context menu of the [[Property_editor|property editor]]. |
|||
=== Data === <!--T:35--> |
|||
<!--T:36--> |
|||
{{TitleProperty|Base}} |
|||
<!--T:11--> |
<!--T:11--> |
||
* {{PropertyData| |
* {{PropertyData|Group|LinkList}}: a list of referenced objects. By default, it is empty {{value|[]}}. |
||
* {{PropertyData|_ Group Touched|Bool|Hidden}}: whether the group is touched or not. |
|||
==Scripting== <!--T:12--> |
==Scripting== <!--T:12--> |
||
<!--T:13--> |
<!--T:13--> |
||
{{Emphasis|See also:}} [[FreeCAD_Scripting_Basics|FreeCAD Scripting Basics]] and [[Scripted_objects|scripted objects]]. |
|||
Following command adds new group to the active document: |
|||
<!--T:44--> |
|||
See [[Part_Feature|Part Feature]] for the general information on adding objects to the document. |
|||
<!--T:45--> |
|||
A Std Group ([[App_DocumentObjectGroup|App DocumentObjectGroup]]) is created with the {{incode|addObject()}} method of the document. Once a Group exists, other objects can be added to it with the {{incode|addObject()}} or {{incode|addObjects()}} methods. |
|||
</translate> |
</translate> |
||
{{Code|code= |
{{Code|code= |
||
import FreeCAD as App |
|||
App.ActiveDocument.addObject("App::DocumentObjectGroup","Group") |
|||
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() |
|||
}} |
|||
<translate> |
|||
<!--T:46--> |
|||
This basic {{incode|App::DocumentObjectGroup}} doesn't have a Proxy object so it can't be fully used for sub-classing. |
|||
<!--T:47--> |
|||
For [[Python|Python]] subclassing you should create a {{incode|App::DocumentObjectGroupPython}} object. |
|||
</translate> |
|||
{{Code|code= |
|||
import FreeCAD as App |
|||
doc = App.newDocument() |
|||
obj = App.ActiveDocument.addObject("App::DocumentObjectGroupPython", "Name") |
|||
obj.Label = "Custom label" |
|||
}} |
}} |
||
<translate> |
<translate> |
||
==Limitations== <!--T:14--> |
|||
<!--T: |
<!--T:48--> |
||
For example, a [[FEM Analysis|FEM Analysis]] is an {{incode|App::DocumentObjectGroupPython}} object with a custom icon and additional properties. |
|||
Command needs an open FreeCAD-document to work. |
|||
==Links== <!--T:16--> |
==Links== <!--T:16--> |
||
Line 83: | Line 117: | ||
* [[Document_structure|Document structure]] |
* [[Document_structure|Document structure]] |
||
* [http://www.freecadweb.org/wiki/index.php?title=Arch_tutorial#Organizing_your_model Organizing your model] |
* [http://www.freecadweb.org/wiki/index.php?title=Arch_tutorial#Organizing_your_model Organizing your model] |
||
* [[Ways_To_Organize_Objects|Organize objects in the document]] |
|||
==Notes== <!--T:18--> |
|||
<!--T:20--> |
<!--T:20--> |
||
{{Docnav |
{{Docnav |
||
|[[ |
|[[Std_Part|Part]] |
||
|[[Std_LinkMake|LinkMake]] |
|||
|[[PartDesign Body|Create body]] |
|||
|[[Std_Base|Std Base]] |
|||
|[[PartDesign_Workbench|PartDesign]] |
|||
|IconL=Std_Part. |
|IconL=Std_Part.svg |
||
|IconR=Std_LinkMake.svg |
|||
|IconC=Workbench_PartDesign.svg |
|||
|IconC=Freecad.svg |
|||
|IconR=PartDesign Body.png |
|||
}} |
}} |
||
<!--T:21--> |
|||
{{Std Base}} |
|||
<!--T:22--> |
|||
{{Userdocnavi}} |
|||
</translate> |
</translate> |
||
{{Std_Base_navi{{#translation:}}}} |
|||
{{Userdocnavi{{#translation:}}}} |
Latest revision as of 08:06, 22 February 2022
Std Group |
Menu location |
---|
Tree view → Right click on the document name → Create group |
Workbenches |
All |
Default shortcut |
None |
Introduced in version |
- |
See also |
Std Part, Draft SelectGroup, Draft AddToGroup |
Description
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.
Usage
- 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 DataGroup property of the Group.
Properties
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.
Data
Base
- DataGroup (
LinkList
): a list of referenced objects. By default, it is empty[]
. - Data (Hidden)_ Group Touched (
Bool
): whether the group is touched or not.
Scripting
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.
Links
- File: New, Open, Close, Close All, Save, Save As, Save a Copy, Save All, Revert, Import, Export,Merge project, Project information, Print, Print preview, Export PDF, Recent files, Exit
- Edit: Undo, Redo, Cut, Copy, Paste, Duplicate selection, Refresh, Box selection, Box element selection, Select All, Delete, Send to Python Console, Placement, Transform, Alignment, Toggle Edit mode, Edit mode, Preferences
- View:
- Miscellaneous: Create new view, Orthographic view, Perspective view, Fullscreen, Bounding box, Toggle axis cross, Clipping plane, Texture mapping, Toggle navigation/Edit mode, Appearance, Random color, Workbench, Status bar
- Standard views: Fit all, Fit selection, Isometric, Dimetric, Trimetric, Home, Front, Top, Right, Rear, Bottom, Left, Rotate Left, Rotate Right
- Freeze display: Save views, Load views, Freeze view, Clear views
- Draw style: As is, Points, Wireframe, Hidden line, No shading, Shaded, Flat lines
- Stereo: Stereo red/cyan, Stereo quad buffer, Stereo Interleaved Rows, Stereo Interleaved Columns, Stereo Off, Issue camera position
- Zoom: Zoom In, Zoom Out, Box zoom
- Document window: Docked, Undocked, Fullscreen
- Visibility: Toggle visibility, Show selection, Hide selection, Select visible objects, Toggle all objects, Show all objects, Hide all objects, Toggle selectability, Toggle measurement, Clear measurement
- Toolbars: File, Edit, Clipboard, Workbench, Macro, View, Structure, Help
- Panels: Tree view, Property view, Selection view, Tasks, Python console, DAG view, Model, Report view
- Link navigation: Go to linked object, Go to the deepest linked object, Select all links
- Tree view actions: Sync view, Sync selection, Sync placement, Pre-selection, Record selection, Single document, Multi document, Collapse/Expand, Initiate dragging, Go to selection, Selection Back, Selection Forward
- Tools: Edit parameters, Save image, Load image, Scene inspector, Dependency graph, Project utility, Measure distance, Add text document, View turntable, Units calculator, Customize, Addon manager
- Macro: Macro recording, Macros, Recent macros, Execute macro, Attach to remote debugger, Debug macro, Stop debugging, Step over, Step into, Toggle breakpoint
- Help: Help, FreeCAD Website, Donate, Users documentation, Python scripting documentation, Automatic Python modules documentation, FreeCAD Forum, FreeCAD FAQ, Report a bug, About FreeCAD, What's This
- Getting started
- Installation: Download, Windows, Linux, Mac, Additional components, Docker, AppImage, Ubuntu Snap
- Basics: About FreeCAD, Interface, Mouse navigation, Selection methods, Object name, Preferences, Workbenches, Document structure, Properties, Help FreeCAD, Donate
- Help: Tutorials, Video tutorials
- Workbenches: Std Base, Arch, Assembly, CAM, Draft, FEM, Inspection, Mesh, OpenSCAD, Part, PartDesign, Points, Reverse Engineering, Robot, Sketcher, Spreadsheet, Surface, TechDraw, Test Framework
- Hubs: User hub, Power users hub, Developer hub