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.

RebarSplice Class

The RebarSplice class represents a splice between two reinforcements.
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 RebarSplice : ModelObject

The RebarSplice type exposes the following members.

Constructors
  Name Description
Public method RebarSplice
Initializes a new rebar splice instance.
Public method RebarSplice(RebarGroup, RebarGroup)
Initializes a new rebar splice instance with rebar groups to be joined.
Top
Properties
  Name Description
Public property BarPositions
Value 0: Joined bars on top of each other in the case of the lap type splice. Value 1: Joined bars parallel to each other in the case of the lap type splice.
Public property Clearance
The clearance between joined bars in the case of the lap type splice.
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 LapLength
The lap length of the lap type splice.
Public property ModificationTime
Gets latest time of the object was modified or created.
(Inherited from ModelObject.)
Public property Offset
The distance from the end point of the first bar along the bar length.
Public property RebarGroup1
The first one of the joined reinforcements (picked first).
Public property RebarGroup2
The second one of the joined reinforcements (picked second).
Public property Type
The type of the splice (can be a lap, weld or muff splice).
Top
Methods
  Name Description
Public method CompareTo
Compares Identifiers of model objects.
(Inherited from ModelObject.)
Public method Delete
Deletes the rebar splice instance with the given identifier 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 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 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 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 rebar splice into the model database. All the attributes must be set.
(Overrides ModelObjectInsert.)
Public method Modify
Modifies the existing rebar splice in the model database to match the current one.
(Overrides ModelObjectModify.)
Public method Select
Selects a rebar splice from the model database. The splice identifier must be set.
(Overrides ModelObjectSelect.)
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 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 System;

public class Example
{
       public void Example1()
       {
           Beam Beam = new Beam(new Point(5000, 15000, 0), new Point(6000, 15000, 0));
           Beam.Profile.ProfileString = "250*250";
           Beam.Material.MaterialString = "K40-1";
           Beam.Finish = "PAINT";
           Beam.Insert();

           double MinimumX = Beam.GetSolid().MinimumPoint.X;
           double MinimumY = Beam.GetSolid().MinimumPoint.Y;
           double MinimumZ = Beam.GetSolid().MinimumPoint.Z;
           double MaximumX = Beam.GetSolid().MaximumPoint.X; 
           double MaximumY = Beam.GetSolid().MaximumPoint.Y;
           double MaximumZ = Beam.GetSolid().MaximumPoint.Z;
           double MidX = (MinimumX + MaximumX) / 2.0;

           Polygon Polygon = new Polygon();
           Polygon.Points.Add(new Point(MinimumX, MinimumY, MaximumZ));
           Polygon.Points.Add(new Point(MinimumX, MinimumY, MinimumZ));
           Polygon.Points.Add(new Point(MidX, MinimumY, MinimumZ));

           Polygon Polygon2 = new Polygon();
           Polygon2.Points.Add(new Point(MinimumX, MaximumY, MaximumZ));
           Polygon2.Points.Add(new Point(MinimumX, MaximumY, MinimumZ));
           Polygon2.Points.Add(new Point(MidX, MaximumY, MinimumZ));

           RebarGroup RebarGroup1 = new RebarGroup();
           RebarGroup1.Polygons.Add(Polygon);  
           RebarGroup1.Polygons.Add(Polygon2);
           RebarGroup1.RadiusValues.Add(40.0);
           RebarGroup1.SpacingType = RebarGroup.RebarGroupSpacingTypeEnum.SPACING_TYPE_TARGET_SPACE;
           RebarGroup1.Spacings.Add(30.0);
           RebarGroup1.ExcludeType = RebarGroup.ExcludeTypeEnum.EXCLUDE_TYPE_BOTH;
           RebarGroup1.Father = Beam;
           RebarGroup1.Name = "RebarGroup1";
           RebarGroup1.Class = 3;
           RebarGroup1.Size = "12";
           RebarGroup1.NumberingSeries.StartNumber = 0;
           RebarGroup1.NumberingSeries.Prefix = "Group";
           RebarGroup1.Grade = "A500HW";
           RebarGroup1.StartHook.Shape = RebarHookData.RebarHookShapeEnum.NO_HOOK;
           RebarGroup1.StartHook.Angle = -90;
           RebarGroup1.StartHook.Length = 3;
           RebarGroup1.StartHook.Radius = 20;
           RebarGroup1.EndHook.Shape = RebarHookData.RebarHookShapeEnum.NO_HOOK;
           RebarGroup1.EndHook.Angle = -90;
           RebarGroup1.EndHook.Length = 3;
           RebarGroup1.EndHook.Radius = 20;
           RebarGroup1.OnPlaneOffsets.Add(25.0);
           RebarGroup1.OnPlaneOffsets.Add(25.0);
           RebarGroup1.OnPlaneOffsets.Add(25.0);
           RebarGroup1.StartPointOffsetType = Reinforcement.RebarOffsetTypeEnum.OFFSET_TYPE_COVER_THICKNESS;
           RebarGroup1.StartPointOffsetValue = 20;
           RebarGroup1.EndPointOffsetType = Reinforcement.RebarOffsetTypeEnum.OFFSET_TYPE_COVER_THICKNESS;
           RebarGroup1.EndPointOffsetValue = 20;
           RebarGroup1.FromPlaneOffset = 40;

           RebarGroup1.Insert();

           Polygon Polygon3 = new Polygon();
           Polygon3.Points.Add(new Point(MidX, MinimumY, MinimumZ));
           Polygon3.Points.Add(new Point(MaximumX, MinimumY, MinimumZ));
           Polygon3.Points.Add(new Point(MaximumX, MinimumY, MaximumZ));

           Polygon Polygon4 = new Polygon();
           Polygon4.Points.Add(new Point(MidX, MaximumY, MinimumZ));
           Polygon4.Points.Add(new Point(MaximumX, MaximumY, MinimumZ));
           Polygon4.Points.Add(new Point(MaximumX, MaximumY, MaximumZ));

           RebarGroup RebarGroup2 = new RebarGroup();
           RebarGroup2.Polygons.Add(Polygon3);
           RebarGroup2.Polygons.Add(Polygon4);
           RebarGroup2.RadiusValues.Add(40.0);
           RebarGroup2.SpacingType = RebarGroup.RebarGroupSpacingTypeEnum.SPACING_TYPE_TARGET_SPACE;
           RebarGroup2.Spacings.Add(30.0);
           RebarGroup2.ExcludeType = RebarGroup.ExcludeTypeEnum.EXCLUDE_TYPE_BOTH;
           RebarGroup2.Father = Beam;
           RebarGroup2.Name = "RebarGroup2";
           RebarGroup2.Class = 3;
           RebarGroup2.Size = "12";
           RebarGroup2.NumberingSeries.StartNumber = 0;
           RebarGroup2.NumberingSeries.Prefix = "Group";
           RebarGroup2.Grade = "A500HW";
           RebarGroup2.StartHook.Shape = RebarHookData.RebarHookShapeEnum.NO_HOOK;
           RebarGroup2.StartHook.Angle = -90;
           RebarGroup2.StartHook.Length = 3;
           RebarGroup2.StartHook.Radius = 20;
           RebarGroup2.EndHook.Shape = RebarHookData.RebarHookShapeEnum.NO_HOOK;
           RebarGroup2.EndHook.Angle = -90;
           RebarGroup2.EndHook.Length = 3;
           RebarGroup2.EndHook.Radius = 20;
           RebarGroup2.OnPlaneOffsets.Add(25.0);
           RebarGroup2.OnPlaneOffsets.Add(25.0);
           RebarGroup2.OnPlaneOffsets.Add(25.0);
           RebarGroup2.StartPointOffsetType = Reinforcement.RebarOffsetTypeEnum.OFFSET_TYPE_COVER_THICKNESS;
           RebarGroup2.StartPointOffsetValue = 20;
           RebarGroup2.EndPointOffsetType = Reinforcement.RebarOffsetTypeEnum.OFFSET_TYPE_COVER_THICKNESS;
           RebarGroup2.EndPointOffsetValue = 20;
           RebarGroup2.FromPlaneOffset = 40;

           RebarGroup2.Insert();

           RebarSplice RebarSplice = new RebarSplice(RebarGroup1, RebarGroup2);

           if(!RebarSplice.Insert())
               Console.WriteLine("Insert failed!");
       }
}
See Also