Tekla.Structures.Geometry3d Namespace

The Tekla.Structures.Geometry3d namespace contains the required basic 3D geometric classes that are used by Tekla Structures. Additionally, some helper functionality to ease the usage of these classes is provided.
Public classCode exampleAABB
The AABB class represents an axis-aligned 3d bounding box.
Public classArc
Represents an arc geometry
Public classCode exampleCoordinateSystem
The CoordinateSystem class defines a coordinate system in space. The system is defined by an origin, an X-axis and a Y-axis. The Z-axis is the cross product of the X-axis and the Y-axis.
Public classDistance
The Distance class contains methods for calculating the distance between geometric objects.
Public classCode exampleFacetedBrep
The FacetedBrep class defines a faceted BREP.
Public classCode exampleFacetedBrepFace
The FacetedBrepFace class defines a face of a faceted BREP. A FacetedBrepFace cannot be instantiated directly. They are managed internally by a FacetedBrep.
Public classCode exampleFacetedBrepFaceHole
The FacetedBrepFaceHole class defines a hole on a faceted BREP face. A FacetedBrepFaceHole cannot be instantiated directly. They are managed internally by a FacetedBrepFace. You can look also at the code example for the class FacetedBrepFace to see more examples.
Public classCode exampleFacetedBrepWithNormals
The FacetedBRepWithNormals class defines a faceted BREP that has also vertex normal vectors.
Public classGeometricPlane
The GeometricPlane class represents a 3d geometric plane.
Public classGeometryConstants
The Constants class of Geometry3d holds certain constant values that are used internally by the other geometry classes.
Public classCode exampleIndirectPolymeshEdge
The IndirectEdge class represents a single global edge in a solid using integer indexes to reference to vertices instead of directly using geometric (coordinate) values.
Public classIntersection
The Intersection class contains methods for calculating intersections between geometric objects.
Public classLine
The Line class represents a single infinite line in 3D space. See LineSegment for the implementation of a segment of a line.
Public classLineSegment
The LineSegment class represents a single finite segment of a line in 3D space. See Line for the implementation of a straight line.
Public classMatrix
The Matrix class represents a 4x3 matrix.
Public classCode exampleMatrixFactory
The MatrixFactory class provides a convenient way to generate different kinds of transformation matrices.
Public classCode exampleOBB
The OBB class represents an oriented 3d bounding box.
Public classParallel
The Parallel class contains methods for testing the parallelism of geometric objects.
Public classPoint
The Point class represents a single position in 3D space.
Public classPolycurve
Represents 3D polycurve geometry, which itself is composed of one or more connected curves. The class offers facilities for iteration through the polycurve, and implements the ICurve interface. Once this class is constructed, it represents an immutable polycurve. The curves that can be obtained during iteration are mere copies of the curves in the polycurve, and mutating them won't affect the polycurve. Please use the PolycurveGeometryBuilder class to build and manipulate this objects of this class. Since it implements IEnumerable, the curves can be iterated using foreach loops, and it supports all of the LINQ operations, and it is possible to build arbitrarily complex queries over the curves of this class.
Public classPolycurveGeometryBuilder
The polycurve geometry builder class is in charge of building the geometry list of a polycurve. All the geometries that the builder connects must be connected on the correct end points. The builder has a fluent interface, and can be used as follows:
using Tekla.Structures.Geometry3d;
using Tekla.Structures.Model;

public class Example
    static void Main(string[] args)
        var segment = new LineSegment(new Point(0, 0, 0), new Point(1000, 0, 0));
        var arc = new Arc(new Point(1000, 0, 0), new Point(2000, 1000, 0), new Point(1707.1, 292.89, 0));

        var geometryList = new PolycurveGeometrySolver().Append(arc).Append(segment).GetPolycurve();

        var polycurve = new ControlPolycurve();
        polycurve.Geometry = geometryList;
Public classPolyLine
The PolyLine class represents a line that consists of one or more line segments. To create a polyline, you have to give a list of the points that will form the polyline. The first point in the list will be connected with the second point in the list, the second point in the list will be connected with the third point in the list, etc.
Public classProjection
The Projection class contains methods for calculating the projection of geometric objects on other geometric objects.
Public classVector
The Vector class defines a direction and magnitude from the current origin.
Public interfaceIBoundingVolume
The BoundingVolume interface represents any generic 3D bounding volume.
Public interfaceICurve
Interface that represents an abstract curved geometry defined by a set of points. This interface is intended to be the base class of 3D curves.
Public enumerationPolymeshEdgeTypeEnum
The type of the polymesh edge. This should always correspond 1:1 with geometry::IndirectEdge_s::EdgeType_e on the Tekla Structures Core side
Was this helpful?
The feedback you give here is not visible to other users. We use your comments to improve the content.