Several file formats are available in ZW3D software.
What differs between single and multiple root formats, is that with single roots, when opening the file, you are directly editing the one and only "object" in the file. While, multiple root files are databases containing several "objects". When opening, a multiple root file, the software displays the list of all available "objects" and the user choose which one it wants to see and edit. Only one at a time can be open. You can see below, an example of the list shown by ZW3D software when opening such a file.
In part or assembly objects, there is the concept of "configurations". Configurations allow to have different variations of one model.
A model can have 0, 1, or several configurations.
Below, is a simple example of a file with two configurations. The feature creating holes being active in only one configuration.
In a single file, there can be several roots, and with configurations, possibly several states for every root.
To give the set of all possible states, the Dtk_Component tree will begin with a Catalog Dtk_Component. Then its children will be Prototypes that represent each possible state, i.e. a pair <root, configuration>.
For instance, from a multi-root file with two roots, one with one configuration, the other with two, we will get the following tree.
There is a single case where there is no root Catalog Dtk_Component. It is the case of a single-root file with 0 configurations. In this case, we will only have a Prototype Dtk_Component.
In all other cases, we have a root Catalog Dtk_Component, even if there is currently only one effective state in the file. We consider the general behaviour :
Adding root objects to a multi-root file, or adding configurations to an object with already one configuration will not change the already existing components, it will only add new children Prototype Dtk_Components to the Catalog.