Viewing IFC using xeoconvert and XGFLoader
Introduction
In this tutorial, we'll view an IFC4 model in the browser using a xeokit Viewer
@xeokit/sdk / viewManager / Viewer / null Viewer @xeokit/sdk / data / DataModelParams / Interface DataModelParams Parameters used to define a DataModel.
- Use
xeoconvertwith option--pipeline ifc2xgfto convert IFC into XGF and JSON DataModelParams files. - Use XGFLoader
@xeokit/sdk / xgf / XGFLoader /
Class XGFLoader
Loads an XGF file into a SceneModel and/or a DataModel.
and DataModelParamsLoader@xeokit/sdk / datamodel / DataModelParamsLoader /
Class DataModelParamsLoader
Reads DataModelParams | DataModelParams into a DataModel.
to load the XGF and JSON DataModelParams@xeokit/sdk / data / DataModelParams /
Interface DataModelParams
Parameters used to define a DataModel.
files into a xeokit Viewer in a webpage.
Example IFC Model
For this tutorial, we'll use the IfcOpenHouse4 Bridge IFC model (source: http://drumbeat.cs.hut.fi/ifc/).
Below is the final result— the model loaded from XGF and DataModelParams JSON files into a xeokit Viewer. In the following steps, we'll walk through the process of achieving this.
example-run:ifc2xgf_IfcOpenHouse4
Step 1. Convert IFC into XGF and DataModelParams Files
The first step is to convert our IFC file into a set of intermediate XGF geometry and JSON DataModelParams files. We'll use the xeoconvert CLI tool to do this conversion step:
npm xeoconvert --pipeline ifc2xgf --ifc IfcOpenHouse4.ifc --xgf model.xgf --datamodel model.json
The parameters we provided the tool are:
--pipelineselects the conversion pipeline,ifc2xgf--ifcpath to source IFC file--xktpath to target XKT file--datamodelpath to target DataModelParams@xeokit/sdk / data / DataModelParams /
Interface DataModelParams
Parameters used to define a DataModel.
file (optional)
Step 2. View the XGF and DataModelParams Files
Now we'll create a Web page containing a xeokit Viewer
@xeokit/sdk / viewManager / Viewer / null Viewer
HTML
Create an HTML page in index.html that contains a canvas element:
example-html:ifc2xgf_IfcOpenHouse4
JavaScript
Then create JavaScript in @xeokit/sdk / viewManager / Viewer / null Viewerindex.js to create the Viewer
The steps in the JavaScript are as follows.
example-javascript:ifc2xgf_IfcOpenHouse4