API Reference

Detailed and full API reference helps you master Tekla development

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

LeaderLine Class

The LeaderLine class defines a leader line attached to a parent object, for example a Text or a Mark. The LeaderLine can be modified to add/remove elbow points or to change where it is pointing.
Inheritance Hierarchy

Namespace:  Tekla.Structures.Drawing
Assembly:  Tekla.Structures.Drawing (in Tekla.Structures.Drawing.dll) Version: 2022.0.13611
Syntax
[SerializableAttribute]
public sealed class LeaderLine : DrawingObject

The LeaderLine type exposes the following members.

Properties
  NameDescription
Public propertyAttributes
Gets or sets the attributes of the current object. Only attributes of the same type as the object are allowed.
(Inherited from DrawingObject.)
Public propertyElbowPoints
The leader line's elbow points (middle points).
Public propertyEndPoint
The end point of the leader line (set by the parent object).
Public propertyLeaderLineType
Gets the type of the leader line. For a list of the available leader line types see LeaderLineLeaderLineTypes.
Public propertyQueryReturnValue
Status information about the latest database operation (select, insert, modify, delete).
(Inherited from DatabaseObject.)
Public propertyStartPoint
The starting point of the leader line.
Top
Methods
  NameDescription
Public methodDelete
A leader line cannot be deleted.
(Overrides DatabaseObjectDelete.)
Public methodGetDoubleUserProperties(DictionaryString, Double)
Retrieves all double user properties for the object with the given list of names.
(Inherited from DatabaseObject.)
Public methodGetDoubleUserProperties(ListString, DictionaryString, Double)
Retrieves all double user properties for the object with the given list of names.
(Inherited from DatabaseObject.)
Public methodGetDrawing
Gets the drawing where the drawing object is.
(Inherited from DrawingObject.)
Public methodGetIntegerUserProperties(DictionaryString, Int32)
Retrieves all integer user properties for the object with the given list of names.
(Inherited from DatabaseObject.)
Public methodGetIntegerUserProperties(ListString, DictionaryString, Int32)
Retrieves all integer user properties for the object with the given list of names.
(Inherited from DatabaseObject.)
Public methodGetRelatedObjects
Gets the related objects of the current object.
(Inherited from DrawingObject.)
Public methodGetRelatedObjects(Type)
Gets the related objects of the current object that are of certain types.
(Inherited from DrawingObject.)
Public methodGetStringUserProperties(DictionaryString, String)
Retrieves all string user properties for the object with the given list of names.
(Inherited from DatabaseObject.)
Public methodGetStringUserProperties(ListString, DictionaryString, String)
Retrieves all string user properties for the object with the given list of names.
(Inherited from DatabaseObject.)
Public methodGetUserProperty(String, Double)
Gets a double property from the drawing object. The object has to be in a drawing before the method can be used.
(Inherited from DatabaseObject.)
Public methodGetUserProperty(String, Int32)
Gets an integer property from the drawing object. The object has to be in a drawing before the method can be used.
(Inherited from DatabaseObject.)
Public methodGetUserProperty(String, String)
Gets a string property from the drawing object. The object has to be in a drawing before the method can be used.
(Inherited from DatabaseObject.)
Public methodGetView
Gets the view where the drawing object is.
(Inherited from DrawingObject.)
Public methodInsert
A leader line cannot be inserted.
(Overrides DatabaseObjectInsert.)
Public methodIsEqual
Compares the current object with an object of the same type.
(Overrides DrawingObjectIsEqual(Object).)
Public methodIsSameDatabaseObject
Returns true if the current object and the given object are referencing the same database object.
(Inherited from DatabaseObject.)
Public methodModify
Modifies the leader line in the current drawing database.
(Overrides DatabaseObjectModify.)
Public methodSelect
Selects the leader line from the current drawing database.
(Overrides DatabaseObjectSelect.)
Public methodSetUserProperty(String, Double)
Sets a double property for the drawing object. The object has to be in a drawing before the method can be used.
(Inherited from DatabaseObject.)
Public methodSetUserProperty(String, Int32)
Sets an integer property for the drawing object. The object has to be in a drawing before the method can be used.
(Inherited from DatabaseObject.)
Public methodSetUserProperty(String, String)
Sets a string property for the drawing object. The object has to be in a drawing before the method can be used.
(Inherited from DatabaseObject.)
Public methodToString
Changes the string presentation of the drawing object.
(Inherited from DrawingObject.)
Top
Examples
using Tekla.Structures.Drawing;
using Point = Tekla.Structures.Geometry3d.Point;

public class Example
{
    public void Example1()
    {
        DrawingHandler DrawHandler = new DrawingHandler();
        Drawing CurrentDrawing = DrawHandler.GetActiveDrawing();
        ContainerView Sheet = CurrentDrawing.GetSheet();
        DrawingObjectEnumerator AllViews = Sheet.GetViews();
        while(AllViews.MoveNext())
        {
            if(AllViews.Current is View)
            {
                View CurrentView = (View)AllViews.Current;

                Point MyInsertionPoint = new Point(200, 600);
                Text.TextAttributes MyTextAttributes = new Text.TextAttributes();

                // Here we create one Text with a LeaderLine attached to it.
                MyTextAttributes.PreferredPlacing = PreferredTextPlacingTypes.LeaderLinePlacingType();
                Text MyText = new Text(CurrentView, MyInsertionPoint, "Text with a LeaderLine.",
                                       new LeaderLinePlacing(new Point(10, 10)), MyTextAttributes);
                MyText.Insert();

                // Next we enumerate through all its children, which in this case is the LeaderLine.
                DrawingObjectEnumerator TextChildren = MyText.GetObjects();
                while(TextChildren.MoveNext())
                {
                    if(TextChildren.Current is LeaderLine)
                    {
                        // We then modify the LeaderLine to contain some elbow points of our choosing.
                        LeaderLine CurrentLeaderLine = (LeaderLine)TextChildren.Current;
                        CurrentLeaderLine.ElbowPoints.Add(new Point(50, 250));
                        CurrentLeaderLine.ElbowPoints.Add(new Point(150, 250));
                        CurrentLeaderLine.Modify();
                        CurrentLeaderLine.Delete();
                    }
                }
            }
            else
            {
                AllViews = ((ContainerView)AllViews.Current).GetViews();
            }
        }
    }
}
See Also