Tekla.Structures.Plugins Namespace

The Tekla.Structures.Plugins namespace includes all the functionality to create a plug-in into Tekla Structures. Please see the Plug-in Guide to get started with developing plug-ins.
Classes
  ClassDescription
Public classAutoDirectionTypeAttribute
The AutoDirectionTypeAttribute class is used for storing the auto direction type. Based on the type the system will then calculate the up direction of the connection/detail if the "Auto" up direction is chosen in the dialog. The attribute is initialized from the custom attribute [AutoDirectionType(AutoDirectionTypeEnum.AUTODIR_DETAIL)] in the connection/detail source.
Public classCode exampleConnectionBase
The ConnectionBase class is a base class for defining connections, details and seams. These types are more specialized and restricted by the input values than the ones derived from PluginBase.

The coordinate system for connections, details and seams is explained in the Tekla Structures help, in the part about the position type of custom components. The position type defines the origin of the custom component, relative to the main part.

Public classCode exampleCustomPartBase
The CustomPartBase class is a base class for defining custom parts. These types are more specialized and restricted by the input values than the ones derived from PluginBase.

The coordinate system for connections, details and seams is explained in the Tekla Structures help, in the part about the position type of custom components. The position type defines the origin of the custom component, relative to the main part.

Public classCustomPartInputTypeAttribute
The CustomPartInputTypeAttribute class is used for defining the input type. Based on the type the system will then ask for the correct number of input points in the creation. The attribute is initialized from the custom attribute [CustomPartInputType(CustomPartBase.CustomPartInputType.INPUT_1_POINT)] in the custom part source code.
Public classCustomPartPositioningTypeAttribute
The CustomPartInputTypeAttribute class is used for defining the input type. Based on the type the system will then position the custom part either based on calculated extrema center point or given input points. The attribute is initialized from the custom attribute i.e. [CustomPartPositioningType((CustomPartBase.CustomPartPositioningType.POSITIONING_BY_INPUTPOINTS)] in the custom part source code.
Public classDetailTypeAttribute
The DetailTypeAttribute class is used for storing the detail type. Based on the type the system will then position the detail in the creation. The attribute is initialized from the custom attribute [DetailType(DetailTypeEnum.END)] in the connection source.
Public classDrawingPluginBase
The DrawingPluginBase class is an abstract base class for drawing plug-ins.
Public classDrawingPluginBaseInputDefinition
The InputDefinition class is a class for defining the plug-in dependency over the input (points or identifiers). The user implemented method DefineInput() of the DrawingPluginBase interface should return an array list of input definition instances. This defines the points and identifiers the plug-in will receive as input when the Run() method is called.
Public classInputObjectDependencyAttribute
The InputObjectDependencyAttribute class is used for storing an input object dependency which determines when the plug-in is updated in the system. The attribute is initialized from the custom attribute [InputObjectDependency(PluginBase.InputObjectDependency Type)] in the plug-in source.
Public classInputObjectTypeAttribute
The InputObjectTypeAttribute class is used for storing the type of the input. Based on the type the system can then correctly ask for user input in the creation. The attribute is initialized from the custom attribute [InputObjectType(ConnectionBase.InputObjectType.INPUTOBJECT_PART)] in the connection source.
Public classPluginAttribute
The PluginAttribute class is used for storing the name of the plug-in to the system. The attribute is initialized from the custom attribute [Plugin("PluginName")] in the plug-in source.
Public classCode examplePluginBase
The PluginBase class in an abstract base class for model plug-ins. Model plug-ins have to be inherited from this class. Drawing plug-ins have to be inherited from the DrawingPluginBase.

A plug-in is always executed in the plug-in's local coordinate system. The origin of the plug-in's coordinate system is defined based on the first input object or point. In case the first input is an object, the origin of the plug-in's coordinate system is the first input point of the object. In case the first input is a point, the origin of the plug-in's coordinate system is the input point. The X- and Y-axes of the coordinate system are defined in the current plane.

Public classPluginBaseInputDefinition
The InputDefinition class is a class for defining the plug-in dependency over the input (points or identifiers). The user implemented method DefineInput() of the PluginBase interface should return an array list of input definition instances. This defines the points and identifiers the plug-in will receive as input when the Run() method is called.
Public classPluginCoordinateSystemAttribute
The PluginCoordinateSystemAttribute class is used for defining the coordinate system type for model plug-ins which are using points as an input. The attribute is initialized from the custom attribute [PluginCoordinateSystem(PluginBase.CoordinateSystemType Type)] in the plug-in source. If attribute is not defined or attribute has value PluginBase.CoordinateSystemType.FROM_FIRST_POINT_AND_GLOBAL coordinate system is calculated as earlier. The attribute is used if the first Inputdefinition object contains at least two points (defined by two points, line, face or polygon).
Public classPluginDescriptionAttribute
Not supported at the moment.
Public classPluginNameAttribute
Not supported at the moment.
Public classPluginPropertyFileLocationAttribute
Used to specify file location for a property file.
Public classPluginSymbolVisiblityAttribute
The PluginSymbolVisiblityAttribute class is used for defining the symbol visibility for model plug-ins. The attribute is initialized from the custom attribute [PluginSymbolVisiblity(PluginBase.SymbolVisibility Type)] in the plug-in source. If attribute is not defined or attribute has value PluginBase.SymbolVisibility.DRAW_SYMBOL plug-in symbol is drawn normally.
Public classPluginUserInterfaceAttribute
The PluginUserInterfaceAttribute class is used for storing the description of the plug-in user interface to the system. The attribute is initialized from the custom attribute [PluginUserInterface(PluginName.UserInterfaceDefinitions.Plugin1)] in the plug-in source. In this case the description string Plugin1 is a dialog written in inp format. If the plug-in dialog is inherited from the PluginFormBase the description string contains a class name of the dialog i.e. [PluginUserInterface("Model_Plug_in1.MainForm")].
Public classPositionTypeAttribute
The PositionTypeAttribute class is used for storing the position type of the connection. Based on the type the system will then position the connection in the creation. The attribute is initialized from the custom attribute [PositionType(PositionTypeEnum.COLLISION_PLANE)] in the connection source.
Public classSeamInputTypeAttribute
The SeamInputTypeAttribute class is used for identifying that the connection is a seam and defining the input type. Based on the type the system will then ask for the correct number of input points in the creation. The attribute is initialized from the custom attribute [SeamInputType(ConnectionBase.SeamInputType.INPUT_POLYGON)] in the connection source.
Public classSecondaryTypeAttribute
The SecondaryTypeAttribute class is used for storing the number of needed secondaries in the connection. Based on the type the system can then correctly ask for user input in the creation. The attribute is initialized from the custom attribute i.e. [SecondaryType(ConnectionBase.SecondaryType.SECONDARYTYPE_ONE)] in the connection source.
Public classStructuresFieldAttribute
The StructuresFieldAttribute class is used for mapping a database attribute to a data field that the plug-in uses in execution. The attribute is initialized from the custom attribute [StructuresField(attributeName)] in the plug-in source. In the plug-in the data field must be public and the type must be double, integer or string.
Enumerations
  EnumerationDescription
Public enumerationConnectionBaseInputObjectType
Defines the input object type.
Public enumerationConnectionBaseSeamInputType
Defines the type of the input.
Public enumerationConnectionBaseSecondaryType
Defines how many secondaries a connection can have.
Public enumerationCustomPartBaseCustomPartInputType
Defines the type of the input.
Public enumerationCustomPartBaseCustomPartPositioningType
Defines the type of the positioning.
Public enumerationDrawingPluginBaseInputDefinitionInputTypes
The possible input types for a drawing plug-in.
Public enumerationDrawingPluginBaseUpdateMode
Defines the update mode of the drawing plug-in. The update mode tells the system when the plug-in is executed.
Public enumerationPluginBaseCoordinateSystemType
Defines the coordinate system type for model plug-ins which are using points as an input.
Public enumerationPluginBaseInputDefinitionInputTypeEnum
The possible input types for a plug-in.
Public enumerationPluginBaseInputObjectDependency
Defines the input object dependency type for model plug-ins.
Public enumerationPluginBaseSymbolVisibility
Defines the symbol visibility for model plug-ins in model views.
Was this helpful?
The feedback you give here is not visible to other users. We use your comments to improve the content.
Previous
Next