The DAG view is a directed acyclic graph (DAG) that shows the relationships between different objects in the document. It is meant primarily to show how certain objects depend on others in a complex model with many features and references, such as those that can be created with the PartDesign Workbench.
The DAG view resembles the graph that can be produced from a Git repository and its branches. Together with the standard tree view and the dependency graph, the DAG view is a tool to inspect the parametric history of objects in a document.
A simple model will be seen with different views.
Model with 2D and 3D shapes.
Left: objects shown in the standard tree view. Right: objects shown in the DAG view.
Relationships between the objects shown in the dependency graph.
Activating the DAG view
The DAG view was introduced in 0.17 as an experimental feature for power users and developers, so they could troubleshoot complex models; therefore, the DAG view is not available by default.
To use this view use the parameter editor. Create the following subgroup if it doesn't exist
then add the parameter
Enabled of type
Boolean, and set it to True.
Then activate it, View → Panels → DAG view.
In the parameter editor you can also change some properties in the following subgroup
- FontPointSize - Set size of text font and can help with readability with high DPI displays. Set to 0 for default font size.
- 0 - single click selects an item. Ctrl-click to add items to selection.
- 1 - every click adds/removes item to selection.
- Direction - the order in which items are displayed.
- 1 - child on top, parent under it
- -1 - parent on top, children under it
- Preferences Editor, Interface Customization
- Main window: Standard menu, Main view area, 3D view, Combo view (Tree view, Task panel, Property editor), Selection view, Report view, Python console, Status bar, DAG view, Workbench Selector
- Auxiliary windows: Scene inspector, Dependency graph
- 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, Placement, Alignment, Toggle Edit mode, Preferences
- View: Create new view, Orthographic view, Perspective view, Fullscreen, Standard views (Fit all, Fit selection, Isometric, Dimetric, Trimetric, Front, Top, Right, Rear, Bottom, Left, Rotate left, Rotate right), Freeze display (Save views, Load views, Freeze view, Clear views), Draw style (As is, Flat lines, Shaded, Wireframe, Points, Hidden line, No shading), Bounding box, Stereo (red/cyan, quad buffer, interleaved rows, interleaved columns, Stereo off, Issue camera position), Zoom (Zoom In, Zoom Out, Box zoom), Document window (Docked, Undocked, Full screen), Toggle axis cross, Clipping plane, Texture mapping, 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), Toggle navigation/edit mode, Appearance, Random color, Workbench, Toolbars (File, Workbench, Macro, View, Structure, Navigation), Panels (Report view, Tree view, Property view, Selection view, Combo view, Python console, DAG view), Tree view actions (Sync view, Sync selection, Sync placement, Pre-selection, Record selection, Single document, Multi document, Collapse/expand, Initiate dragging, Go to selection), Status bar
- Tools: Edit parameters, Save picture, Scene inspector, Dependency graph, Project utility, Measure distance, Text document, View turntable, Units calculator, Customize, Addon manager
- Macro: Macro recording, Stop macro recording, Macros, Execute macro, Debug macro, Stop debugging, Step over, Step into, Toggle breakpoint
- Windows: Next, Previous, Tile, Cascade, Arrange icons, Windows
- Help: Help, FreeCAD Website, Users documentation, Python scripting documentation, Automatic Python modules documentation, FreeCAD forum, FreeCAD FAQ, About FreeCAD, What's This
- Installation: Linux/Unix, Windows, Mac, Docker, AppImage; Getting started
- Basics: About FreeCAD, Workbenches, Preferences, Document structure, Interface Customization, Properties, Mouse Model; Tutorials, Video tutorials
- Workbenches: Std Base; Arch, Draft, FEM, Image, Inspection, Mesh, OpenSCAD, Part, PartDesign, Path, Plot, Points, Raytracing, Reverse Engineering, Robot, Ship, Sketcher, Spreadsheet, Start, Surface workbench, TechDraw, Test Framework, Web
- Scripting: Introduction to Python, FreeCAD scripting tutorial, FreeCAD Scripting Basics, How to install macros, Gui Command, Units Modules: Builtin modules, Workbench creation, Installing more workbenches Meshes: Mesh Scripting, Mesh Module Parts: The Part Module, Topological data scripting, PythonOCC, Mesh to Part Coin scenegraph: The Coin/Inventor scenegraph, Pivy Qt interface: PySide, Using the FreeCAD GUI, Dialog creation Parametric objects: Scripted objects Other: Code snippets, Line drawing function, Embedding FreeCAD, FreeCAD vector math library, Power users hub, Python, Macros, FreeCAD Scripting Basics, Topological data scripting