1. Home
  2. Docs
  3. Chapter 35. Advanced Modeling Toolset
  4. 1. Project Reference
  5. Re-using an element from referenced project

Re-using an element from referenced project

Once a referenced project has been established, you can develop your model using model elements in referenced project. To do this:

  1. In Model Explorer, click on the drop-down menu at the top of the pane and select the project that contains the model elements you want to use. If the Model Explorer is hidden, open the View tab of the toolbar and select Panes > Model Explorer to show it.
    Select a referenced project
    Note: By selecting the first selection (Current), model elements in the current project will be listed.

  2. In the model element list, drag the target model element(s) and drop it/ them on diagram. This creates views from them. In addition, you may continue modeling with the referenced elements. Note that Views for referenced project are read-only (i.e. non edit-able).
    Drag model elements from referenced project
    Note: Alternatively, you can right click on the model elements and select Create View in Active Diagram from the pop-up menu.

Indicating referenced elements on diagram

In order to know which shape(s) on a diagram comes from a referenced project, you can enable to Model Indicators. Click on the Model Indicatorunder the View tab of the toolbar.

To show Model Indicator

After that, you can see the indicator, which is a small arrow, appears at the shapes that are referencing a referenced project.

Model indicator appears

Automatic conversion to mirror for container shape-types

You may want to add shape into a referenced container shape like a referenced package or a referenced BPMN pool. Theoretically, referenced elements are not editable. In order to make it possible for the referenced shape to contain the shape you try to add, you must set it as a mirror. To set a referenced shape as mirror grants that shape the right to contain shapes. You can set a shape as mirror manually by right clicking on the shape in diagram and selecting Convert to Mirror from the popup menu. But if you do not do this, the shape will still be converted to mirror when you try to add shape into it. You may click here for details about mirror.

Locating referenced element

You can go to a shape that references a model element from referenced project by walking through the steps below:

  1. Open the Model Explorer.
  2. From the drop down menu at the top of the Model Explorer, select List Referenced Model Element/Shape.
    List referenced model elements and shapes
  3. A tree of model elements are listed. Those are came from the referenced project(s) and are used by the currently opening project. The first level of the tree lists the model elements in used, while the second level represent the usage. For example, View ([DIAGRAM NAME])means that the model element has been visualized in the diagram specified. [MODEL ELEMENT NAME] (Documentation) means that the model element has been added as a link in the model element specified.
    Referenced model elements listed

Mirroring model element

Referenced elements are read-only when being presented in current project, which is good to avoid changes being made unexpectedly on referenced elements. However, it can be trouble-some when the referenced elements are in container type, such as a package or a pool (BPMN). This is because when you are referencing a container-typed element, you probably want to add things into it. In order to support this need, Visual Paradigm supported the concept of ‘mirror’. By mirroring a model element from referenced project, that element will be localized partially by keeping a mirrored copy in your project which echoes the element in referenced project. The mirrored copy is still non editable except that you can add elements into it.

When you visualize a referenced container-typed element in your project, that view is not yet mirrored. When you try to add a shape into it say by drawing one inside or by dragging one into it, the referenced container will be converted into a mirror automatically. If you want to convert a referenced container into a mirror manually you can right on it and select Convert to Mirror from the popup menu.