Tekla Open API

Detailed and full API reference helps you master Tekla Open API

This is the most recent version of Tekla Open API.
For older versions, please visit Tekla Warehouse.

Connection Class

The Connection class represents a connection. A connection is something that connects two or more parts together.
Inheritance Hierarchy

Namespace:  Tekla.Structures.Model
Assembly:  Tekla.Structures.Model (in Tekla.Structures.Model.dll) Version: 2018.1.0.0 (2018.1.0.0)
Syntax
[SerializableAttribute]
public sealed class Connection : BaseComponent

The Connection type exposes the following members.

Constructors
  Name Description
Public method Connection
Creates a new connection instance.
Top
Properties
  Name Description
Public property AutoDirectionType
The auto direction type.
Public property Class
The class of the connection.
Public property Code
The code of the connection. The code can be used to classify the connection. The code of the connection can be reported and shown in drawings. The maximum length of the string is 20 characters.
Public property Identifier
The identifier of the object.
(Inherited from Object.)
Public property IsUpToDate
Gets if the object does not have a modification which is not shared.
(Inherited from ModelObject.)
Public property ModificationTime
Gets latest time of the object was modified or created.
(Inherited from ModelObject.)
Public property Name
The name of the component. The name identifies custom components or plug-ins.
(Inherited from BaseComponent.)
Public property Number
The number of the component. A number greater than zero identifies system components, for custom components the number is CUSTOM_OBJECT_NUMBER, and for plug-ins the number is PLUGIN_OBJECT_NUMBER.
(Inherited from BaseComponent.)
Public property PositionType
The position type.

When creating custom connections this attribute is not applied, instead the position type used when creating the custom connection is used.

Public property Status
The read only status of the connection. The status can be reported and shown in drawings. The color of the connection symbol in the model indicates the status of the connection.
Public property UpVector
A vector indicating which direction is considered the up direction for the connection.
Top
Methods
  Name Description
Public method CompareTo
Compares Identifiers of model objects.
(Inherited from ModelObject.)
Public method Delete
Deletes the connection instance with the given ID from the model database.
(Overrides ModelObjectDelete.)
Public method Equals
Check if Identifiers of model objects are same.
(Inherited from ModelObject.)
Public methodCode example GetAllReportProperties
Retrieves all properties for the model object in one hashtable. Type for the returned value must be checked using type casting.
(Inherited from ModelObject.)
Public method GetAllUserProperties
Retrieves all properties for the model object in one hashtable. Type for the returned value must be checked using type casting.
(Inherited from ModelObject.)
Public method GetAttribute(String, Double)
Retrieves the attribute with the given name.
(Inherited from BaseComponent.)
Public method GetAttribute(String, Int32)
Retrieves the attribute with the given name.
(Inherited from BaseComponent.)
Public method GetAttribute(String, String)
Retrieves the attribute with the given name.
(Inherited from BaseComponent.)
Public method GetChildren
Returns an enumerator of all the children model objects.
(Inherited from ModelObject.)
Public method GetCoordinateSystem
Returns the coordinate system for the given model object.
(Inherited from ModelObject.)
Public method GetDoubleReportProperties
Retrieves multiple double report properties for the model object. It is faster to fetch multiple properties at once.
(Inherited from ModelObject.)
Public method GetDoubleUserProperties
Retrieves all double properties for the model object.
(Inherited from ModelObject.)
Public method GetDynamicStringProperty
Gets a dynamic string property from the model object.
(Inherited from ModelObject.)
Public method GetFatherComponent
Returns the father component of the model object.
(Inherited from ModelObject.)
Public method GetHierarchicObjects
Returns an enumerator of all the connected hierarchic objects.
(Inherited from ModelObject.)
Public method GetIntegerReportProperties
Retrieves multiple integer report properties for the model object. It is faster to fetch multiple properties at once.
(Inherited from ModelObject.)
Public method GetIntegerUserProperties
Retrieves all integer properties for the model object.
(Inherited from ModelObject.)
Public method GetPhase
Retrieves the phase of the model object (the phase number, the phase name, the phase comment and whether the phase is the current one or not).
(Inherited from ModelObject.)
Public method GetPrimaryObject
Returns the primary object of the connection.
Public method GetReportProperty(String, Double)
Retrieves a double property of the report for the model object.
(Inherited from ModelObject.)
Public method GetReportProperty(String, Int32)
Retrieves an integer property of the report for the model object.
(Inherited from ModelObject.)
Public method GetReportProperty(String, String)
Retrieves a string property of the report for the model object.
(Inherited from ModelObject.)
Public method GetSecondaryObjects
Returns the secondary objects.
Public method GetStringReportProperties
Retrieves multiple string report properties for the model object. It is faster to fetch multiple properties at once.
(Inherited from ModelObject.)
Public method GetStringUserProperties
Retrieves all string properties for the model object.
(Inherited from ModelObject.)
Public method GetUserProperty(String, Double)
Retrieves a double property for the model object.
(Inherited from ModelObject.)
Public method GetUserProperty(String, Int32)
Retrieves an integer property for the model object.
(Inherited from ModelObject.)
Public method GetUserProperty(String, String)
Retrieves a string property for the model object.
(Inherited from ModelObject.)
Public method Insert
Inserts the connection into the model database. All the attributes must be set.
(Overrides ModelObjectInsert.)
Public method LoadAttributesFromFile
Loads the attributes for the component from the given file. These attributes will be loaded before all the attributes that have been set with the SetAttribute methods, so any attributes that are set with SetAttribute will override those loaded from the given standard file.
(Inherited from BaseComponent.)
Public method Modify
Modifies the existing connection in the model database to match the current one.
(Overrides ModelObjectModify.)
Public method Select
Selects a connection from the model database. The connection ID must be set.
(Overrides ModelObjectSelect.)
Public method SetAttribute(String, Double)
Sets the attribute's value to the given value.
(Inherited from BaseComponent.)
Public method SetAttribute(String, Int32)
Sets the attribute's value to the given value.
(Inherited from BaseComponent.)
Public method SetAttribute(String, String)
Sets the attribute's value to the given value.
(Inherited from BaseComponent.)
Public method SetDynamicStringProperty
Sets a dynamic string property for the model object.
(Inherited from ModelObject.)
Public method SetLabel
Sets a label for an object when a new instance is created. The label is used in plug-ins for identifying the changed object in modification.
(Inherited from ModelObject.)
Public method SetPhase
Sets the phase of the model object.
(Inherited from ModelObject.)
Public method SetPrimaryObject
Sets the primary object of the connection.
Public method SetSecondaryObject
Sets the secondary object of the connection. Use this method if you wish to add only one secondary object to the connection.
Public method SetSecondaryObjects
Sets an array list of model objects as the secondary objects of the connection.
Public method SetUserProperty(String, Double)
Sets a double property for the model object.
(Inherited from ModelObject.)
Public method SetUserProperty(String, Int32)
Sets an integer property for the model object.
(Inherited from ModelObject.)
Public method SetUserProperty(String, String)
Sets a string property for the model object.
(Inherited from ModelObject.)
Top
Examples
using Tekla.Structures.Model;
using Tekla.Structures.Geometry3d;
using Tekla.Structures;
using System;

public class Example
{
       public void Example1()
       {
           Beam B1 = new Beam(new Point(15000,0,-500), new Point(15000,0,6000));
           B1.Profile.ProfileString = "HEA400";
           B1.Material.MaterialString = "S235JR";

           Beam B2 = new Beam(new Point(15000,0,0), new Point(18000,0,0));
           B2.Profile.ProfileString = "HEA400";
           B2.Material.MaterialString = "S235JR";

           B1.Insert();
           B2.Insert();

           Connection C = new Connection();
           C.Name = "Test End Plate";
           C.Number = 144;
           C.LoadAttributesFromFile("standard");
           C.UpVector = new Vector(0,0,1000);
           C.PositionType = PositionTypeEnum.COLLISION_PLANE;

           C.SetPrimaryObject(B1);
           C.SetSecondaryObject(B2);

           C.SetAttribute("e2", 10.0);
           C.SetAttribute("e1", 10.0);

           if(!C.Insert())
           {
               Console.WriteLine("Connection Insert failed");
           }
           else
           {
               Console.WriteLine(C.Identifier.ID);

               Double DValue = 0.0;
               if(!C.GetAttribute("e2", ref DValue) || DValue != 10)
                   Console.WriteLine("Connection GetAttribute failed");
           }
       }
}
See Also