Exhibit state
An exhibit state usage specifies that its owner exhibits a state specified by the exhibit state usage.
An exhibit state usage can be a feature of:
- a part definition or usage, specifying that the referenced state is exhibited by the containing part.
- a state definition or usage, whereby the exhibit state usage represents a "call" from the containing state to the exhibited state.
There are two ways a state can be exhibited by another element:
- by referencing the state usage defined elsewhere in the model.
- The element symbol is displayed with the exhibit keyword (unnamed element) or the exhibit state keyword (named element).


- See the procedures:
- The element symbol is displayed with the exhibit keyword (unnamed element) or the exhibit state keyword (named element).
- by containing an owned exhibit state usage, i.e., the exhibited state is the exhibit state usage itself.
- The element symbol is displayed with the exhibit state keyword.

- See the procedures:
- The element symbol is displayed with the exhibit state keyword.
Exhibiting a state by referencing a state usage defined elsewhere in the model
Exhibiting states via the Textual Editor
To exhibit states via the Textual Editor
- In the Textual Editor, within the body of the element that you want to exhibit a state, do one of the following:
- For an unnamed exhibit state, declare the exhibit keyword followed by the name of the exhibited state.
- For a named one, declare the exhibit state keyword, specify the element name, then reference subset the exhibited state.
- Click the Synchronize button.
state vehicleStates; // referenced state
part vehicle {
// unnamed exhibit state referencing a state defined elsewhere in the model
exhibit vehicleStates;
// named exhibit state referencing a state defined elsewhere in the model
exhibit state operatingState references vehicleStates;
// OR
exhibit state operatingState ::> vehicleStates;
}
Exhibiting states via the Drag and Drop handler in a view
To exhibit states via the Drag and Drop handler in a view
- Drag a state element from the Containment tree or use its symbol's Drag and Drop handler and drop it on:
- the target element symbol that you want to exhibit the state by referencing it using the Create Exhibit State command.
- the exhibit state usage symbol that you want to exhibit the state by referencing it using the Set Exhibited State command.
Exhibiting states via the Specification panel
To exhibit states via the Specification panel
- Drag and drop a state element from the Containment tree or use its symbol's Drag and Drop handler and drop it on the Exhibited State field in the Properties section of the Specification panel for the exhibit state element.
The appropriate state is specified for the element.
Exhibiting a state via the owned exhibited state usage itself as the exhibited state
Exhibiting states via the Textual Editor
To exhibit states via the Textual Editor
- In the Textual Editor, within the body of the element that you want to exhibit a state, declare the exhibit state keyword followed by its name.
- Click the Synchronize button.
part vehicle {
// exhibited state is the defined exhibit state usage itself contained by the parent
exhibit state vehicleStates;
}
Exhibiting states via the Create Element command
To exhibit states via the Create Element command
In the Containment tree, right-click an element, and in the shortcut menu, click Create Element.
- In the Create Element dialog, select the exhibit state element.
- Name the element.
- Specify the exhibit state's features.
Exhibiting states via the view palette
To exhibit states via the view palette
- In the view palette, under the States group, click the exhibit state button.
- Click in the view pane where you want to create the exhibit state symbol.
- Name the element.
- Specify the exhibit state's features.