For older versions, please visit Tekla Warehouse.

# 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.
Classes
Class Description
AABB
The AABB class represents an axis-aligned 3d bounding box.
Arc
Represents an arc geometry
CoordinateSystem
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.
Distance
The Distance class contains methods for calculating the distance between geometric objects.
FacetedBrep
The FacetedBrep class defines a faceted BREP.
FacetedBrepFace
The FacetedBrepFace class defines a face of a faceted BREP. A FacetedBrepFace cannot be instantiated directly. They are managed internally by a FacetedBrep.
FacetedBrepFaceHole
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.
FacetedBrepWithNormals
The FacetedBRepWithNormals class defines a faceted BREP that has also vertex normal vectors.
GeometricPlane
The GeometricPlane class represents a 3d geometric plane.
GeometryConstants
The Constants class of Geometry3d holds certain constant values that are used internally by the other geometry classes.
IndirectPolymeshEdge
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.
Intersection
The Intersection class contains methods for calculating intersections between geometric objects.
Line
The Line class represents a single infinite line in 3D space. See LineSegment for the implementation of a segment of a line.
LineSegment
The LineSegment class represents a single finite segment of a line in 3D space. See Line for the implementation of a straight line.
Matrix
The Matrix class represents a 4x3 matrix.
MatrixFactory
The MatrixFactory class provides a convenient way to generate different kinds of transformation matrices.
OBB
The OBB class represents an oriented 3d bounding box.
Parallel
The Parallel class contains methods for testing the parallelism of geometric objects.
Point
The Point class represents a single position in 3D space.
Polycurve
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.
PolycurveGeometryBuilder
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;
polycurve.Insert();
}
}```
PolyLine
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.
Projection
The Projection class contains methods for calculating the projection of geometric objects on other geometric objects.
Vector
The Vector class defines a direction and magnitude from the current origin.
Interfaces
Interface Description
IBoundingVolume
The BoundingVolume interface represents any generic 3D bounding volume.
ICurve
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.
Enumerations
Enumeration Description
PolymeshEdgeTypeEnum
The type of the polymesh edge. This should always correspond 1:1 with geometry::IndirectEdge_s::EdgeType_e on the Tekla Structures Core side