Std ExportGraphviz

Description
The Dependency graph displays the dependencies between objects in the active document as a graph. As opposed to the Model tree, objects are listed in reverse chronological order, with the first created object at the bottom.

It can be useful in analyzing a FreeCAD document and locating forks in a tree. The dependency graph layout will depend on which workbench was used to create the objects in the document. For example, in FreeCAD 0.16, a model exclusively made in the PartDesign workbench should display a linear dependency graph with a single vertical branch. A model made with Part operations will have many branches, but for a single part they will join up at the top after Boolean operations. If they don't, it means that they are separate objects.

The dependency graph is purely a visualization tool, therefore it cannot be edited; it automatically updates if changes are made to the model.



Installation
To use the Dependency graph, a third-party software named Graphviz needs to be installed first.

Windows
Download the graphviz-2.xx.msi installer from the Download page and launch it to install it.

Mac/OSX
You can install graphviz using Homebrew:

This installs the graphviz binaries under /usr/local/bin. Unfortunately we can't navigate there from the file dialog that comes up from FreeCAD->Tools->Dependency graph. So let's create a link to /usr/local/bin in our home directory:

Now when asked to select the graphviz install directory go to your home directory and select "bin".

Linux
On most Linux distributions (Debian/Ubuntu, Fedora, OpenSUSE), you just need to install the graphviz package from the repositories.

Configuration
You shouldn't need any configuration of FreeCAD preferences. If FreeCAD cannot find the utility "dot" (from the Graphviz package) then a dialog comes up and asks the user for its path: set the path to the folder that contains the "dot" executable, do not select the executable itself. FreeCAD then tries to start the utility again and in case it succeeds the value is written automatically to the user parameters.

How to use

 * 1) Go to the Tools → Dependency graph... menu
 * 2) A new tab titled Dependency graph opens over the main area of the FreeCAD window.
 * 3) Use the mouse scroll wheel to zoom in / zoom out.
 * 4) Use the horizontal slider at the bottom of the screen to pan the view sideways.

Save/Export
You can save/export the displayed dependency graph as an image file. While the Dependency graph tab is in the foreground:
 * Just choose File → Save As to save the graph as a picture (PNG/BMP/GIF/JPG), a vector graphic (SVG) or as a pdf-file (PDF).
 * File → Export or Tools → Save picture will NOT work.