Skip to content

Generalize IfcRepresentationItem interpretation results #129

@aothms

Description

@aothms

As part of 0.6 refactoring

Aims:

  1. Abstraction to have a OpenCascade-agnostic interface
    • To allow for a mesh based kernel (e.g. CGAL). OpenCascade carries a lot of overhead for simple faceted geometries in IFC. A hybrid BRep-mesh based approach would alleviate the remaining performance bottlenecks
    • Companies might want to use proprietary geometry kernels for reliability and integration with their products
  2. Maintain IFC-instance to TopoDS_Shape mapping
    • IfcGeom::IfcRepresentationShapeItem (a {placement, shape, style}-tuple) not particularly granular. E.g material overrides for specific faces within a shell cannot be recorded.
    • Now, faces with boolean results from operands with different styles cannot retain association to original operand and therefore loose style association.
    • Provides benefits in advanced visualisation where e.g an IfcCartesianPoint of a IfcPolyline in an IfcExtrudedAreaSolid can be traced back to the IFC instance.

Implementation:

Mesh based

To be determined

Open Cascade

Every operation results in a TopoDS_Compound and a mapping of TopoDS_Shape -> IfcRepresentationItem*. At the moment of triangulation, individual faces can retrieve their IfcSurfaceStyle from the mapping.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions