Showing posts with label Rendering. Show all posts
Showing posts with label Rendering. Show all posts

Wednesday, October 7, 2015

Separating elements by their material layers

An advantage that IfcOpenShell has over the many mesh-based viewers is that it is backed by a powerful modelling kernel called Open Cascade. This has already proven its significance for example in the ease of creating 2d floor plans from 3d elements in the SVG exporter. Now, a new feature in IfcOpenShell is introduced, once again demonstrating IfcOpenShell as a forerunner in terms of accurate and advanced visualisation of IFC geometry.

As building professionals readily know, building elements such as walls and slabs can be built up using several layers, for example including brick, thermal insulation and an air gap. This information is typically represented in IFC using an IfcMaterialLayerSet, which describes the thickness of such layers relatively to the axis of the wall. Therefore, it is not a direct part of the geometric representation of the element and therefore not visible in most IFC viewers. Alternatively, IFC exporters can choose to decompose the wall element into several IfcBuildingElementParts describing every of such layers as a separate product.

IfcOpenShell now introduces the possibility to separate the body representation according to its layers, with the appropriate style information applied. Furthermore, topological information that describes how wall end points connect to one another is used to fold such layers around corners where connecting walls meet. To our knowledge this is functionality that is currently not offered in any other IFC viewer, let me know if otherwise.

Currently this feature is in extended testing and is available in a development branch. It will be part of the upcoming new build once testing is complete. Note that it is potentially a time intensive operation and hence will have to be enable with the flag --enable-layerset-slicing in the IfcConvert utility.


Visuals rendered using IfcBlender of the Duplex apartment building model by USACE ERDC and buildingSMART Alliance. 1. A view from the outside with one window removed. 2. An exploded view of the lower level walls showcasing how layers are folded based on topological connectivity with other walls. 3. An image for contrast from a common IFC viewer with only a single surface style per product.
.

Friday, February 7, 2014

Surface styles

Support for IfcSurfaceStyles, when importing geometry from IFC files, is a feature that has been requested much over the years. Starting with IfcOpenShell 0.4 surface styles are supported. Some refer to these styles as materials, but within the realms of IFC, surface styles and materials are actually two different beasts. Materials (IfcMaterialDefinition) describe metadata that pertain to the physically built structure. For example: the composite structure of an insulated brick wall can be described using an IfcMaterialLayerSet.


Surface styles on the other hand govern the way that surfaces or solids are visualised in IFC viewers. Often there is some correlation between the two: that the style of a surface is actually an indication of the material, but this is not necessarily the case. For example in MEP models, surface styles can also be used to colour code the contents or direction of flow segments, as can be seen above. In this post you find two images attached that derive their colouring straight from the IFC file: the Hitos HVAC model and an interior part of the Cobie Duplex Architectural model. In the image below you can also see how multiple distinct styles can be applied to different items within the same product.


Subsequent releases of IfcOpenShell will also account for surface styles linked to IfcMaterials and will provide an option to slice the geometric representation of elements according to their compound layer structure defined in the IfcMaterialLayerSet.