Dangl.TeamProject.GaebToBim
This is a web application that combines the XBim viewer for IFC files with the AVACloud GAEB SaaS service by DanglIT to combine the visualization of BIM models and their accompanying bills of quantities.
Swagger API Definition
The complete API is available as Swagger document at /swagger
.
Development environment
The app is available in a development environment at https://gaeb-to-bim-dev.dangl-it.com
Build & Run
- To run the frontend, install all dependencies with
npm i
in the/src/Dangl.TeamProject.GaebToBim.UI
folder, then runng serve
. - To run the backend, open it in Visual Studio and run the debug configuration.
Both must be run at the same time to work together.
Due to the way NuGet package paths are referenced in the project file, NuGet above 4.9 is required. This means that when you're developing in Visual Studio 2017, the project will fail to build because it can not resolve the paths to the Xbim C++ interop dlls in their NuGet package folder.
Usage
The app is currently in an early prototype stage. This video describes the basic workflow:
To use the app, the following must be done:
- Upload an IFC file
- Upload a GAEB file
- When you select a Cost Element in the middle section, all matching Positions in the right section will be selected and the viewer will highlight all IfcElements that match. The matching sub-quantity is displayed in the right section
- When you click on an element in the viewer, the matching positions will be highlighted
The link between IFC and GAEB is done completely with standard GAEB features. Customers with source code access can take a look at this class to see how it is generated:Dangl.AVA.Converter.Tests.Utilities.TutorialFiles.ConnectedToBimModel
The GAEB file specifies two catalogues, one for Cost Elements and one for Building Elements.
<Ctlg>
<CtlgID>5ee8866c-15d7-4808-86e5-36c7d3c56f77</CtlgID>
<CtlgType>cost unit</CtlgType>
<CtlgName>Cost Elements</CtlgName>
</Ctlg>
<Ctlg>
<CtlgID>811b4861-f770-469c-89a5-aa26583413a5</CtlgID>
<CtlgType>miscellaneous</CtlgType>
<CtlgName>Building Elements</CtlgName>
</Ctlg>
Positions have QtySplit elements that specify CtlgAssign links to Cost Elements and Building Elements.
<Item ID="ID_74d97dda-39cc-4985-8e6e-6c34eccd3937" RNoPart="02">
<Qty>852</Qty>
<QtySplit>
<Qty>38</Qty>
<CtlgAssign>
<CtlgID>5ee8866c-15d7-4808-86e5-36c7d3c56f77</CtlgID>
<CtlgCode>01;Foundation Walls</CtlgCode>
</CtlgAssign>
<CtlgAssign>
<CtlgID>811b4861-f770-469c-89a5-aa26583413a5</CtlgID>
<CtlgCode>2O2Fr$t4X7Zf8NOew3FK80</CtlgCode>
</CtlgAssign>
</QtySplit>
<QU>m²</QU>
<UP>14.33</UP>
<IT>12209.16</IT>
<Description>
<OutlineText>
<OutlTSA>No</OutlTSA>
<OutlTxt>
<TextOutlTxt>
<span>Casing</span>
</TextOutlTxt>
</OutlTxt>
</OutlineText>
</Description>
</Item>
This position is linked via a CtlgAssign
to Cost Elements and Building Elements. The total quantity of the position is 852
, the linked quantity is 38
.