Integrations (PTC products, 3rd party products and code) > 3rd party product integrations (CM, DOORS, Rose, Simulink and XML) > XMI Integration > Creating and tidying up diagrams after an import > Creating and tidying up diagrams after an XMI import - class diagrams (XMI Import/Export)
  
Creating and tidying up diagrams after an XMI import - class diagrams (XMI Import/Export)
An XMI import creates Packages, Classes, Data Types, Interfaces, Signals, Attributes, Operations and their Parameters, Actors, Associations, Roles, Dependencies, Generalizations, IO Flows, Constraints and Comments in the Model, but does not create any Class Diagrams.
After performing an XMI import, you may want to create Class Diagrams to show imported items and their relationships.
Through the Dictionary pane, you can see which Class Diagram items have been created in the Model. Through the Relationships pane, you can see how those Class Diagram items relate to each other through Associations, Dependencies, Generalization, IO Flows and Nesting Links.
* 
You can quickly find an item in the Relationships pane by right-clicking the item in the Dictionary pane, pointing to Find, and then clicking In Relationships pane.
Creating the class diagram
Create a Class Diagram by right-clicking the appropriate Package, pointing to New, pointing to Diagram, and then clicking Class Diagram.
Dragging packages, classes, data types, interfaces, signals and actors to the class diagram
After creating the diagram, drag the imported Packages, Classes, Data Types, Interfaces, Signals and Actors from Modeler panes to the diagram. After adding the items to the diagram, use the populate commands to populate missing links on the diagram.
Populating missing dependencies
The Relationships pane shows which Packages, Classes, Data Types, Interfaces and Signals are related through Dependencies: when you expand a Package, Class, Data Type, Interface or Signal, the Dependents and Depends On folders show items that are related through Dependencies.
On the Class Diagram, populate missing Dependencies for a Package, Class, Data Type, Interface or Signal: right-click the item, point to Populate, and then click Dependents or Dependees.
Populating missing generalizations
The Relationships pane shows which Classes, Data Types, Interfaces, Signals and Actors are related through Generalizations:
When you expand a Class, Data Type, Interface or Signal, the Subclasses and Superclasses folders show items that are related through Generalizations.
When you expand an Actor, the Parents and Children folders show Actors that are related through Generalizations.
On the Class Diagram, populate missing Generalizations for a Class, Data Type, Interface, Signal or Actor:
Right-click a Class, Data Type, Interface or Signal, point to Populate, and then click Sub Classes or Super Classes
Right-click an Actor, point to Populate, and then click Parent Actors or Child Actors.
Populating missing associations
The Relationships pane shows which Classes, Data Types, Interfaces, Signals and Actors are related through Associations:
When you expand a Class, Data Type, Interface or Signal, the Roles folder shows the start or end Roles of Associations that are linked to the Class. Note that child Parts and Ports are linked through Associations: the Full Name property of the Role indicates what the Role links.
When you expand an Actor, The Roles folder shows the start or end Roles of Associations that are linked to the Actor.
On the Class Diagram, populate missing Associations for a Class, Data Type, Interface, Signal or Actor: right-click the item, point to Populate, and then click Associations.
Populating missing io flows
The Relationships pane shows which Classes, Data Types, Interfaces, Signals and Actors are related through IO Flows: When you expand a Class, Data Type, Interface, Signal or Actor, the Sent IO Flows and Received IO Flows folders show items that are related through IO Flows.
On the Class Diagram, populate missing IO Flows for Associations: right-click an Association, point to Populate, and then click IO Flows
Populating missing nesting link symbols
The Packages pane shows which Packages, Classes, Data Types, Interfaces and Signals, are nested when you expand a Package, Class, Interface or Signal.
On the Class Diagram, populate missing nesting or nested items and their Nesting Link symbols: right-click an item, point to Populate, and then click All Nested Items or Nesting Item.
* 
If an item is shown on the Package that scopes it, a Nesting Link is not added between that item and its owning Package.
Populating missing provided and required interfaces
The Relationships pane shows whether a Class, Data Type or Signal has any provided and required interfaces: when you expand a Class, Data Type or Signal the Provided Interfaces and Required Interfaces folders show Interfaces that are related through Interface Realization Dependencies and Uses Dependences.
On the Class Diagram, populate missing provided and required interfaces: right-click a Class, Data Type or Signal, point to Populate, and then click Interfaces.
Populating missing constraints
The Relationships pane shows Constraints that are applied to an item – expand the item, and then expand the Applied Constraints folder.
On the Class Diagram, populate missing Constraints for items – right-click an item, point to Populate, and then click Constraints.
Populating missing comments
The Relationships pane shows Comments that are applied to an item – expand the item, and then expand the Applied Comments folder.
On the Class Diagram, populate missing Comments for items – right-click an item, point to Populate, and then click Comments.
Tidying up the diagram
After adding items to the diagram and populating links, drag the items and links to the required positions. You can resize most symbol types. You can create a way point in a link by dragging the link.