Creating Plug-Ins for Innovator

Plug-ins extend the Innovator interface to include functions for reading, viewing and modifying model data.

Purpose

You can use plug-ins to extend the Innovator interface to include functions for reading, viewing and modifying model data. There are many options for integrating additional functions into the interface:

  • You can define your own interface elements; these functions are then accessed by the interface elements. These controls can be e.g. simple buttons or menus which are inserted in existing ribbon groups. They can also be complete ribbon tabs.

  • You can implement additional windows for showing model elements and modifying them.

  • You can realize plug-ins that run actions without interface elements if the interface event, e.g. creating new elements, appears in the interface.

  • You can realize plug-ins that evaluate a control file that is transferred as a call parameter upon start of the Innovator interface. These plug-ins can used for e.g. creating timed modeled documentation.

Samples

The base system architecture concepts of Innovator are introduced next if they are relevant for programming plug-ins. There are normally samples which go with these descriptions, i.e. mini example projects which illustrate the contents of a section respectively. Make sure you read the sample codes at the same time so that you can understand the descriptions.

Samples are stored in a separate installation package. You can find more information about samples in the Installing Plug-In Samples section.

Technical Realization

A plug-in is realized by a dynamic link library (DLL). Any .NET language can essentially be used for implementing the DLL. The samples are in the C# language.

The DLL should be stored in the Plugins directory as standard; this can be found in the directory with the Innovator programs.

A DLL is recognized as a plug-in if it has a public class which realizes the IApplicationComponent interface.

This chapter contains the topics: