Plugin dialog design with INP
The user interface, or dialog, of a Tekla Open API plugin can be defined using the same definition language as Tekla Structures custom components and system components: input file format (INP).
INP file examples
Open Windows Explorer and find \TeklaStructures\<version>\applications\steel1\ts_page_1.inp file.
The file xeng_page_1.inp in the same folder contains also documentation.
Editing INP files
Edit .inp files without re-starting Tekla Structures by adding the following line to user.ini:
set XS_DYNAMIC_INPUT_FILE=TRUE
An Update button appears on all .inp based dialogs and pressing it will reload the .inp definitions.
All plugin INP files are re-created at startup. You can disable this by adding the following line to teklastructures.ini:
set XS_DO_NOT_OVERWRITE_PLUGIN_INP_FILE=TRUE
Naming the plugin
The plugin name will appear in the Applications & component catalog, and it has to be unique. You cannot have two plugins with the same name.
When using INP for dialog definition, define plugin name the following way:
[Plugin("BeamPlugin")]
...
public class UserInterfaceDefinitions
{
public const string Plugin1 = @"" + page(""TeklaStructures"","""")
{
plugin(1, BeamPlugin)
{
...
}
Note that in the above the plugin name, "BeamPlugin", must be the same in both.
Plugin names cannot contain spaces. If a plugin is named for example "Beam Plugin", it is not possible to open dialog ("Beam Plugin.inp") from Tekla Structures Applications & component catalog.