Convert a BIM model(IFC file) to a CityJSON file.
This project can be cloned at: https://github.com/SEUZFY/BIMConvertToGeo.git.
Compile and run it directly, no extra parameters are needed.
This program has been successfully run on a x64 - windows 10 @Intel core
platform, specific settings are available here.
NB :
-
Before you compile this program, please make sure that you have the dependencies.
-
If the compilation fails, you might want to check the CMakeLists.txt file.
data
: All input and output files.
figure
: All relevant figures.
include
: External dependencies for this project.
report
: The report of this project.
src
: All source files.
CGAL
- https://www.cgal.org/
nlohmann json
- https://github.com/nlohmann/json
The data folder contains three folders.
KIT.ifc
: the IFC file downloaded here.
KIT.obj
: he converted file generated by IfcConvert
.
KIT.mtl
: the corresponding material file of KIT.obj
, help to color the materials when opened in MeshLab.
This program takes the KIT.obj
file as the input file.
The files in this folder are generated by the program to help for the follow-up process.
1~33.obj
: the OBJ files generated by the program indicating the 33 shells in the input KIT.obj
file.
KIT.output.obj
: Basically the same file as KIT.obj
, mainly for testing whether the loading functions are right or not.
KIT.repeated.vertices.txt
: Contains repeated vertices info in KIT.obj
file, including the vertex indices and coordinates.
KIT.repeated.faces.txt
: Contains the faces which have repeated vertices, with original indices and new indices(after repeated process).
KIT.new.vertices.txt
: Contains the vertices info after cleaning.
KIT.new.faces.txt
: Contains the faces info after cleaning.
mybuilding.city.json
: the result file of the converting process.
mybuilding.ExcludeExterior.city.json
: a modified result file, mainly help for visualization in ninja.
The converted CityJSON file - mybuilding.city.json
:
Internal Structures - mybuilding.ExcludeExterior.city.json
:
Visualized in ninja.
Ken Arroyo Ohori - [email protected] --> more info
Ken's kindly given guidance helps us to develop our code and our questions are always answered quickly and accurately, without which this project would not have been possible to be delivered.
Yitong - [email protected]
As for reading input OBJ file and build convex hulls directly, please refer to: https://github.com/YitongXia/BIM_processing.git
Fengyan - [email protected]