benvautrin / pmuc

Plant Mock-Up Converter
GNU Lesser General Public License v2.1
35 stars 21 forks source link

IFC representation for Sphere #17

Closed Supporting closed 8 years ago

Supporting commented 8 years ago

Currently, Sphere primitives get tessellated and are represented as IfcConnectedFaceset. Find a suitable representation that represents the torus more efficient and information conserving.

Supporting commented 8 years ago

RVM Spheres could be represented using the IfcSphere entity. The tool support for this entity is however poor:

Here a simple generated IFC file used for testing: sphere-sphere.zip

Here the mapping in PMUC source code.

sphere-fzkviewer

Supporting commented 8 years ago

Alternatively, a sphere can be represented by an revolution of the circle with an offset of zero (degenerated torus). The tool support is similar to the CircularTorus, however, the degenerated torus is not rendered correctly in FZKViewer and TeklaBIM.

Here a simple generated IFC file used for testing: sphere-degenerated-torus.zip

Renders correctly in AssimpViewer: sphere-degenerated-torus

Supporting commented 8 years ago

A third alternative is revolving a trimmed circle curve, i.e. a 180° arc.

The tool support for the IfcTrimmedCurve is poor. Only FZKViewer and IfcOpenShell were able to deal with this alternative.

Here a simple generated IFC file used for testing: sphere-revolved-trimmedcurve.zip

File above tessellated to Wavefront OBJ using IfcOpenShell and displayed in Assimp Viewer: sphere-trimmedcurve

Supporting commented 8 years ago

Another alternative is revolving a IfcArbitraryClosedProfileDef constructued from an IfcCompositeCurve. The curve composite describes half a circle using a trimmed circle and a polyline.

Compared to the other approaches, Tekla BIMSight also understands this representaton:

Here a simple generated IFC file used for testing: sphere-revolved-compositecurve.zip

Result in Tekla BIMsight: sphere-revolved-compositecurve