vocalisation ifc files
use ifcconvert , we don't remove any furniture or windows or door
we parse the outputed surface into memory, if u want to check, u can call voxelgrid.out_put_all_voxel_to_obj to output voxel in selected label
cd build make hw03 + the obj file from converted ifc file u can generate several result:
- a cityjson file with building exterior wall and building parts's reconstructed surface
- seperate cityjson files with different building part
- the obj form of reconstruction surface
- the voxel of the exterior surface of wall and each building rooms named "voxellabelled" exterior wall:
voxels_labelled: the intermediate voxel of labelled room and wall envelope(voxels_labelled.obj. the obj file of voxels labelled as different building part, 1 is wall, 0 is exterior, bigger than 1 is different rooms, -1 is unlabelled meaning wall in the interior of building or small room that is too small to reach x,y,z threhold in threhold, the -1 labelled is not oupt and remained as vaccum, different labels is outputted differently) voxel_label_part: result of marching cube(label_voxel_part_label.obj, the isosurface of marching suce) cityjson file: the output result on cityjson(building_final_result.json is assembled cityjson including all building part, label_voxel_part_num.json is different parts/rooms of building)
the default resolution is 0.25, u can open main.cpp and change variable unit to adjust resolution but we strongly dont recommend u to do that, because we dont implement octree method to merge those adjacent voxels, so the output result consist of many small meshes and take loads of space, that's why we only use 0.25, but u can have a try to do that, as long as ur computer has enough memory