Difference between revisions of "Tree view"

From FreeCAD Documentation
Jump to navigation Jump to search
 
(11 intermediate revisions by the same user not shown)
Line 40: Line 40:
  
 
<!--T:13-->
 
<!--T:13-->
When the application starts, the default [[Start_Workbench|Start Workbench]] is active, and no document has been created, right clicking on the [[Tree_view|tree view]] shows only one command:
+
When the application starts, the default [[Start_Workbench|Start Workbench]] is active, and no document has been created, right clicking on the [[Tree_view|tree view]] shows one sub-menu with four commands:
* {{MenuCommand|Expression actions}}: [[Std_Expressions|Copy selected]], [[Std_Expressions|Copy active document]], [[Std_Expressions|Copy all documents]], Paste. These allow working with various documents, but are disabled if no document is present.
+
* {{MenuCommand|Expression actions}}:
 +
** [[Std_Expressions|Copy selected]]
 +
** [[Std_Expressions|Copy active document]]
 +
** [[Std_Expressions|Copy all documents]]
 +
** [[Std_Paste|Paste]]
 +
These allow working with various documents, but are disabled if no document is present.
  
 
<!--T:17-->
 
<!--T:17-->
 
Once a new document has been created the following become active:
 
Once a new document has been created the following become active:
* {{MenuCommand|Expression actions}}: [[Std_Expressions|Copy active document]], [[Std_Expressions|Copy all documents]].
+
* {{MenuCommand|Expression actions}}:
 +
** [[Std_Expressions|Copy active document]]
 +
** [[Std_Expressions|Copy all documents]]
  
 
<!--T:18-->
 
<!--T:18-->
Line 62: Line 69:
 
* {{MenuCommand|Show hidden items}}: if active, the tree view will show hidden items.
 
* {{MenuCommand|Show hidden items}}: if active, the tree view will show hidden items.
 
* {{MenuCommand|Search}}: shows an input field to search objects inside the selected document.
 
* {{MenuCommand|Search}}: shows an input field to search objects inside the selected document.
* {{MenuCommand|Close document}}: closes the selected document by calling the application's {{incode|closeDocument()}} method.
+
* {{MenuCommand|Close document}}: closes the selected document.
 
* {{MenuCommand|Skip recomputes}}: if active, the document's objects will not [[Std_Refresh|recompute]] automatically.
 
* {{MenuCommand|Skip recomputes}}: if active, the document's objects will not [[Std_Refresh|recompute]] automatically.
 
** {{MenuCommand|Allow partial recomputes}}: if active, the document will allow [[Std_Refresh|recompute]] of only some objects.
 
** {{MenuCommand|Allow partial recomputes}}: if active, the document will allow [[Std_Refresh|recompute]] of only some objects.
 
* {{MenuCommand|Mark to recompute}}: marks all objects of the document as touched, and ready for [[Std_Refresh|recompute]].
 
* {{MenuCommand|Mark to recompute}}: marks all objects of the document as touched, and ready for [[Std_Refresh|recompute]].
* {{MenuCommand|[[Std_Group|Create group]]}}: creates a [[Std_Group|group]] in the selected document by using the document's {{incode|addObject()}} method.
+
* {{MenuCommand|[[Std_Group|Create group]]}}: creates a [[Std_Group|group]] in the selected document.
  
 
=== Selecting objects === <!--T:21-->
 
=== Selecting objects === <!--T:21-->
  
 
<!--T:22-->
 
<!--T:22-->
Once objects are added to the document right clicking them will show additional commands. These depend on the type of object and the active workbench. Almost always the following commands are then available:
+
Once objects are added to the document right clicking them will show additional commands. These depend on the number of selected objects, their type and also on the active workbench. In most cases and with most workbenches (except the [[Start_Workbench|Start Workbench]]) the following commands are then available:
 
* {{MenuCommand|[[Std_SetAppearance|Appearance]]}}: launches a dialog to change the visual properties of the whole object.
 
* {{MenuCommand|[[Std_SetAppearance|Appearance]]}}: launches a dialog to change the visual properties of the whole object.
 
* {{MenuCommand|[[Std_RandomColor|Random color]]}}: assigns a random color to the object.
 
* {{MenuCommand|[[Std_RandomColor|Random color]]}}: assigns a random color to the object.
Line 79: Line 86:
 
* {{MenuCommand|[[Std_Delete|Delete]]}}: removes the object from the document.
 
* {{MenuCommand|[[Std_Delete|Delete]]}}: removes the object from the document.
 
* {{MenuCommand|Hide item}}: if active, the selected object will be set as hidden.
 
* {{MenuCommand|Hide item}}: if active, the selected object will be set as hidden.
* {{MenuCommand|Add dependent objects to selection}}: all dependent objects will be added to the selection. This way one can see the dependencies and also e.g. delete all dependent objects at once. {{Version|0.20}}
+
* {{MenuCommand|Add dependent objects to selection}}: all dependent objects will be added to the selection. This way one can see the dependencies and e.g. delete all dependent objects at once. This option is only available if one of the selected objects has links. {{Version|0.20}}
 
* {{MenuCommand|Mark to recompute}}: marks the selected object as touched, and ready for [[Std_Refresh|recompute]].
 
* {{MenuCommand|Mark to recompute}}: marks the selected object as touched, and ready for [[Std_Refresh|recompute]].
 
* {{MenuCommand|Recompute object}}: recomputes the selected object.
 
* {{MenuCommand|Recompute object}}: recomputes the selected object.
* {{MenuCommand|Rename}}: starts editing the name of the selected object. This allows changing the {{incode|Label}} attribute, but not the {{incode|Name}} attribute, as the latter is read-only.
+
* {{MenuCommand|Rename}}: starts editing the label of the selected object, not the name which is read-only. This option is only available if a single object is selected.
  
 
<!--T:24-->
 
<!--T:24-->
Line 91: Line 98:
 
* {{MenuCommand|[[Part_FaceColors|Set colors]]}}: sets the color of selected faces of the object.
 
* {{MenuCommand|[[Part_FaceColors|Set colors]]}}: sets the color of selected faces of the object.
 
* {{MenuCommand|[[Std_ToggleVisibility|Toggle visibility]]}}: makes the object visible or invisible in the [[3D_view|3D view]].
 
* {{MenuCommand|[[Std_ToggleVisibility|Toggle visibility]]}}: makes the object visible or invisible in the [[3D_view|3D view]].
* {{MenuCommand|[[Std_ShowSelection|Show selection]]}}: makes the selected objects visible.
+
* {{MenuCommand|[[Std_ShowSelection|Show selection]]}}: makes the selected object visible.
* {{MenuCommand|[[Std_HideSelection|Hide selection]]}}: makes the selected objects invisible.
+
* {{MenuCommand|[[Std_HideSelection|Hide selection]]}}: makes the selected object invisible.
* {{MenuCommand|[[Std_ToggleSelectability|Toggle selectability]]}}: makes the object no longer selectable in the [[3D_view|3D view]]; use again this command to cancel its effect. It sets the object's {{incode|Selectable}} attribute to {{TRUE}} or {{FALSE}}. Change the property by toggling {{PropertyView|Selectable}} in the [[Property_editor|property editor]].
+
* {{MenuCommand|[[Std_ToggleSelectability|Toggle selectability]]}}: toggles the selectability of the object in the [[3D_view|3D view]].
 
* {{MenuCommand|[[Std_TreeSelectAllInstances|Select all instances]]}}: selects all instances of this object in the tree view.
 
* {{MenuCommand|[[Std_TreeSelectAllInstances|Select all instances]]}}: selects all instances of this object in the tree view.
 
* {{MenuCommand|[[Std_SendToPythonConsole|Send to Python Console]]}}: creates a variable in the [[Python_console|Python console]] referencing the object
 
* {{MenuCommand|[[Std_SendToPythonConsole|Send to Python Console]]}}: creates a variable in the [[Python_console|Python console]] referencing the object

Latest revision as of 19:22, 1 November 2021

Other languages:
Deutsch • ‎English • ‎español • ‎français • ‎italiano • ‎polski • ‎português do Brasil • ‎русский • ‎한국어

Introduction

The tree view appears in the Model tab of the combo view, one of the most important panels in the interface; it shows all user defined objects that are part of a FreeCAD document. The tree view is a representation of the document's structure, and indicates what information is saved to disk.

These objects don't necessarily have to be geometrical shapes visible in the 3D view, but can also be supporting data objects created with any of the workbenches.

FreeCAD Tree view.png

The tree view showing various elements in the document.

Working with the tree view

By default, whenever a new object is created, it is added to the end of the list in the tree view. The tree view allows managing the objects to keep them organized; it permits creating groups, moving objects inside groups, moving groups inside other groups, renaming objects, copying objects, deleting objects, and other operations in the context menu (right click) which depend on the currently selected object and the currently active workbench.

Many operations create objects that are dependent on a previously existing object. In this case, the tree view shows this relationship by absorbing the older object inside the new object. Expanding and collapsing the objects in the tree view shows the parametric history of that object. Objects that are deeper inside others are older, while objects that are outside are newer, and are derived from the older objects. By modifying the interior objects, the parametric operations propagate all the way to the top, generating a new result.

FreeCAD Tree view parametric history 1.png FreeCAD Tree view parametric history 2.png

FreeCAD Tree view parametric history 3.png

The topmost object is created by doing parametric operations on objects which themselves were created by previous operations. Expanding the tree many levels reveals the original elements that were used to create the partial solids.

Actions

Since the tree view lists objects that may be visible in the 3D view, many of the actions are the same as those that can be executed from the 3D view.

When the application starts, the default Start Workbench is active, and no document has been created, right clicking on the tree view shows one sub-menu with four commands:

These allow working with various documents, but are disabled if no document is present.

Once a new document has been created the following become active:

In addition, Link actions are available.

Selecting the document

If you select the active document and right click, in addition to Expression actions and Link actions, the following commands appear:

  • Show hidden items: if active, the tree view will show hidden items.
  • Search: shows an input field to search objects inside the selected document.
  • Close document: closes the selected document.
  • Skip recomputes: if active, the document's objects will not recompute automatically.
    • Allow partial recomputes: if active, the document will allow recompute of only some objects.
  • Mark to recompute: marks all objects of the document as touched, and ready for recompute.
  • Create group: creates a group in the selected document.

Selecting objects

Once objects are added to the document right clicking them will show additional commands. These depend on the number of selected objects, their type and also on the active workbench. In most cases and with most workbenches (except the Start Workbench) the following commands are then available:

  • Appearance: launches a dialog to change the visual properties of the whole object.
  • Random color: assigns a random color to the object.
  • Cut: disabled.
  • Copy: copies an object into memory.
  • Paste: pastes the copied object into the document; the copy is added to the end of the tree view.
  • Delete: removes the object from the document.
  • Hide item: if active, the selected object will be set as hidden.
  • Add dependent objects to selection: all dependent objects will be added to the selection. This way one can see the dependencies and e.g. delete all dependent objects at once. This option is only available if one of the selected objects has links. introduced in version 0.20
  • Mark to recompute: marks the selected object as touched, and ready for recompute.
  • Recompute object: recomputes the selected object.
  • Rename: starts editing the label of the selected object, not the name which is read-only. This option is only available if a single object is selected.

If a Part Box is right clicked while the Part Workbench is active the following additional commands are available:

Overlay icons

One or more smaller overlay icons can be displayed on top of an object's default icon in the tree view. The available overlay icons and their meaning are listed below. introduced in version 0.19

FreeCAD Tree view recompute.png White check mark on blue background

This indicates that the object has to be recomputed, due to changes made to the model or because the user marked the object in the tree view context menu to be recomputed. In most cases recomputes are triggered automatically, but sometimes they are delayed for performance reasons.

FreeCAD Tree view tip.png White arrow on green background

This indicates the so called Tip of a body. It is usually the last feature in a PartDesign Body and represents the whole body to the world outside of the body, e.g. when the body is exported or used in Part boolean operations. The tip can be changed by the user.

FreeCAD Tree view unattached.png Purple chain link on white background

This is typically shown for sketches, geometric primitives, such as box, cylinder, etc. and Datum geometry. It indicates that the object is not attached to anything. It has no Attachment Offset and gets its position and alignment solely from its Placement property.

There is a Basic Attachment Tutorial explaining how to handle such objects.

FreeCAD Tree view notfullyconstrained.png Yellow X

This is only used for sketches and indicates that the sketch is not fully constrained. Inside of Sketcher the number of remaining degrees of freedom is shown in the solver messages.

FreeCAD Tree view error.png White exclamation mark on red background

This indicates that the object has an error that needs to be fixed. After recomputing the whole document a tooltip describing the error is shown when you hover the mouse over the object in the tree view. Note: All other objects depending on an object in such an error state will not be properly recomputed, thus they may still show some old state.