Class IfcConvertOptions
- Namespace
- GeometryHelper.IfcConvert.Core
- Assembly
- GeometryHelper.IfcConvert.dll
Configuration options for converting IFC geometry to GeometryHelper GeometryHelper.
public sealed class IfcConvertOptions
- Inheritance
-
IfcConvertOptions
- Inherited Members
Constructors
- IfcConvertOptions()
Creates a default conversion options instance. Set the other options through their properties, and add names with AddSkipNames(params string[]) and AddOnlyNames(params string[]).
Properties
- ApplyVoids
Gets or sets whether to subtract voids and openings (IfcRelVoidsElement / IfcOpeningElement) from the host element, so that a wall comes back with its window openings and a plate with its bolt holes and cuts, as a viewer shows them. Defaults to
false, for speed: every opening costs a boolean operation (on a Tekla steel model, 500 beams took 29 s with openings cut and 1.5 s without), and cut bodies can come back not closed. Set it totruewhen the openings matter.
- CoordinateSpace
Gets or sets the target coordinate space (Global or Local). Defaults to Global.
- DeflectionTolerance
Gets or sets the maximum distance between a curved surface and its triangles when tessellating, in output units (the units of the returned geometry, after TargetUnit and ScaleFactor). Smaller values yield smoother curved surfaces at the cost of more triangles. Zero or negative (the default) uses the deflection xBIM derives for the model from its length unit (a few millimetres), which gives volumes of round sections within about 0.5 %.
- IncludeAggregatedParts
Gets or sets whether a product's geometry also includes the parts it aggregates (IfcRelAggregates), recursively. Tekla exports an assembly as an IfcElementAssembly with no body of its own whose plates and profiles are aggregated parts; with this option its GlobalId returns the whole assembly. Defaults to
false. Model-wide queries visit the parts themselves too, so enabling it there counts each part twice.
- IncludeNonPhysicalProducts
Gets or sets whether model-wide queries (
GetAllSolids,EnumerateSolids,EnumerateGeometries) also return products that are not physical elements: openings and voiding features, spatial elements (site, building, storey, space, zone), annotations, grids, virtual elements and structural analysis items. Defaults tofalse, so an opening's or a room's volume is not counted as material. Queries by GlobalId or by explicit type name are not affected.
- OnlyNames
Gets the set of product names or wildcard patterns to convert exclusively. When it holds a pattern, a product whose name matches none of them comes back empty, as a skipped one does. Empty, the default, converts every product. AddOnlyNames(params string[]) adds names trimmed and without blanks.
Matching works as for SkipNames: case-insensitive, with the '*' wildcard ("B*" matches "BEAM" and "Bolt assembly"). A product with no name matches only "*". SkipNames still applies, so a name matching both is skipped.
The name is checked before any geometry is built, so products left out cost next to nothing. Reading every product of a 115 MB Tekla steel model took about 17 minutes, 96 % of it on 5,512 bolts; keeping only the main members ("BEAM", "GIRDER", "PRD_COLUMN", "COLUMN") took 3.5 s.
Like SkipNames, it also applies to the parts an assembly aggregates (IncludeAggregatedParts): list the names of the parts wanted as well as the assembly's. It never applies to the openings that cut a product (ApplyVoids).
- ScaleFactor
Gets or sets a uniform scale factor applied to coordinates. Default is 1.0 (no scaling). Set to 1000.0 to convert meters to millimeters.
- SkipNames
Gets the set of product names or wildcard patterns to skip during conversion. Case-insensitive. Supports '' wildcard (e.g. "W" matches "W1", "W2"). See OnlyNames for the opposite: converting only the products named. AddSkipNames(params string[]) adds names trimmed and without blanks.
- TargetUnit
Gets or sets the target length unit for automatic scaling. Defaults to Original.
- TessellateNonPlanarFaces
Gets or sets whether non-planar (curved) faces should be tessellated into planar triangles. Defaults to
true.
- Tolerance
Gets or sets the geometric tolerance used for planar checks, equality, and loop closures. Defaults to Global.
Methods
- AddOnlyNames(IEnumerable<string>)
Adds product names or wildcard patterns to OnlyNames. Blank entries are ignored and the others trimmed, so names read from a settings file or a text box can be passed as they are.
- AddOnlyNames(params string[])
Adds product names or wildcard patterns to OnlyNames. Blank entries are ignored and the others trimmed, so names read from a settings file or a text box can be passed as they are.
- AddSkipNames(IEnumerable<string>)
Adds product names or wildcard patterns to SkipNames. Blank entries are ignored and the others trimmed, so names read from a settings file or a text box can be passed as they are.
- AddSkipNames(params string[])
Adds product names or wildcard patterns to SkipNames. Blank entries are ignored and the others trimmed, so names read from a settings file or a text box can be passed as they are.