Tekla API — сварка

Чтобы обозначить, сварные швы на детали в текле предусмотрено несколько классов — Weld и PolygonWeld.

using Tekla.Structures.Model;
using Tekla.Structures.Geometry3d;

public class Example
{
       public void Example1()
       {
           Point Beam1P1 = new Point(   0, 12000, 0);
           Point Beam1P2 = new Point(3000, 12000, 0);

           Point Beam2P1 = new Point(3000, 12000, 0);
           Point Beam2P2 = new Point(3000, 18000, 0);

           Beam Beam1 = new Beam(Beam1P1, Beam1P2);
           Beam Beam2 = new Beam(Beam2P1, Beam2P2);

           Beam1.Profile.ProfileString = "HEA400";
           Beam1.Finish = "PAINT";
           Beam1.Name = "Beam 1";
           Beam2.Name = "Beam 2";

           Beam1.Insert();
           Beam2.Insert();

           Weld Weld = new Weld();
           Weld.MainObject = Beam1;
           Weld.SecondaryObject = Beam2;
           Weld.TypeAbove = BaseWeld.WeldTypeEnum.WELD_TYPE_SQUARE_GROOVE_SQUARE_BUTT;

           Weld.Insert();

           Weld.LengthAbove = 12;
           Weld.TypeBelow = BaseWeld.WeldTypeEnum.WELD_TYPE_SLOT;

           Weld.Modify();
       }
}

Собственно для создания сварного шва в виде полигональной линии

using Tekla.Structures.Model;
using Tekla.Structures.Geometry3d;

public class Example
{
       public void Example1()
       {
           Point Beam1P1 = new Point(6000, 12000, 0);
           Point Beam1P2 = new Point(9000, 12000, 0);

           Point Beam2P1 = new Point(9000, 12000, 0);
           Point Beam2P2 = new Point(9000, 18000, 0);

           Beam Beam1 = new Beam(Beam1P1, Beam1P2);
           Beam Beam2 = new Beam(Beam2P1, Beam2P2);

           Beam1.Profile.ProfileString = "HEA400";
           Beam1.Finish = "PAINT";
           Beam1.Name = "Beam 1";
           Beam2.Name = "Beam 2";

           Beam1.Insert();
           Beam2.Insert();

           PolygonWeld PolygonWeld = new PolygonWeld();
           PolygonWeld.MainObject = Beam1;
           PolygonWeld.SecondaryObject = Beam2;
           Point WeldP1 = new Point(9000, 11850, 0);
           Point WeldP2 = new Point(9000, 12000, 0);
           Point WeldP3 = new Point(9150, 12000, 0);
           PolygonWeld.Polygon.Points.Add(WeldP1);
           PolygonWeld.Polygon.Points.Add(WeldP2);
           PolygonWeld.Polygon.Points.Add(WeldP3);
           PolygonWeld.TypeAbove = PolygonWeld.WeldTypeEnum.WELD_TYPE_SQUARE_GROOVE_SQUARE_BUTT;

           PolygonWeld.Insert();

           PolygonWeld.TypeBelow = PolygonWeld.WeldTypeEnum.WELD_TYPE_SLOT;

           PolygonWeld.Modify();
       }
}