Bl
Bl
Bl
Bl
Bl
You are here:   Home »  Products »  PolyTrans|CAD+DCC  
Bl

Home > Supported File Formats > IFC to OpenGL C Code


How to convert IFC (Industry Foundation Classes) to OpenGL C Code (.cpp)?


PolyTrans|CAD+DCC performs mathematically precise CAD, DCC/Animation, GIS and BIM 3D file conversions into all key downstream 3D packages and file formats. Okino software is used and trusted throughout the world by many tens of thousands of 3D professionals in mission & production critical environments, backed by respectable personal support directly from our core development team.

     

IFC

The Industry Foundation Classes (IFC) is a CAD data exchange object-based file format with a data model developed by buildingSMART to facilitate interoperability in the architecture, engineering and construction (AEC) industry, and is a commonly used collaboration format in Building information modeling (BIM) based projects.

IFC files can be written out by such industry standard programs as: ArchiCAD, Allplan, Autodesk's AutoCAD and Revit, Microstation, Tekla Structures, SmartPlant3D and Vectorworks.

Please note: you would always want to use the DWF-3D file format and the Okino DWF-3D file importer to import 3D model data from Autodesk's AutoCAD, Navisworks and Revit, as well as AVEVA's PDMS software.

It is may be safe to say that few 3D graphics users properly understand IFC or why/how it should be used, when it should be used or how it is to be used. In simplistic terms, IFC is NOT a universal data interchange file format like COLLADA, FBX, 3ds, OBJ, DXF, DWG, etc. Rather, IFC is more of an "abstraction" for an architectural model so that BIM companies can exchange IFC files for design iterations without any loss in overall geometric quality. Hence, the basis of IFC is to make an abstract building with stories, floors, doors, columns, windows, etc. From these hang "abstractions" such as 2D plan views and 3D renderable geometric data.

While IFC can be considered a standardized file format by BuildingSmart, not all 3D programs or 3D viewers will "interpret" an IFC file in the same manner due to the abstract nature of the file format and also by the generally loose manner in which a model can be defined and with different contexts and representations.

     

OpenGL C Code

OpenGL is a cross-platform application programming interface (API) for rendering 2D and 3D vector graphics. The API is typically used to interact with a graphics processing unit (GPU), to achieve hardware-accelerated rendering.

Okino's OpenGL export converter writes out the scene database as a C code program in the Open GL scene description language. The resulting program can then be compiled and used to draw the 3D database directly using OpenGL. The database is output as a series of polygons with vertex positions, normals, colors and texture coordinates. In addition, the surface definitions (materials) associated with each polygon is used to set up the OpenGL shading parameters. Please note that each object is output as a separate C code function in the resulting file.