Class SolidConvert
- Namespace
- GeometryHelper.TeklaConvert
- Assembly
- GeometryHelper.TeklaConvert.dll
Reads the surface of a Tekla solid into a GeoSolid3.
The two descriptions line up almost exactly. Tekla walks a solid as faces, and each face as loops: the first loop is its outer edge and any further loop is a hole. That is what a GeoFace3 is, so the shape of the conversion is a walk rather than a rebuild. They part only over flatness: a face Tekla gives out of flat comes as triangles on its own corners.
What has to be checked rather than trusted is orientation. GeometryHelper reads volume and containment from the assumption that face normals point out of the body, and a body whose normals point the other way measures the same volume but reports every point as being on the wrong side of it. Each face is therefore turned to agree with the normal Tekla gives it, and the finished body is turned inside out if its signed volume says the whole surface came in reversed.
public static class SolidConvert
- Inheritance
-
SolidConvert
- Inherited Members
Methods
- ToGeoAabb3(ISolid)
Reads the bounding box a Tekla solid reports.
- ToGeoSolids(IEnumerable<ISolid>, Tolerance)
Converts every solid of a sequence, skipping the ones that cannot be read.
- TryToGeoSolid3(ISolid, out GeoSolid3)
Converts a Tekla solid, using the default tolerance.
- TryToGeoSolid3(ISolid, out GeoSolid3, Tolerance)
Converts a Tekla solid, within a tolerance.