fLOD is a python tool for generating furniture level of detail (fLOD) representations from 3D mesh models for indoor CFD applications. The tool uses the following definition of fLOD:
- fLOD = 1: The oriented bounding box of the mesh
- fLOD = 2: Furniture-part segmentation with 0.05 filtering radius
- fLOD = 3: Furniture-part segmentation with 0.005 filtering radius
(a) is the decision tree to guide the choice of the fLODs.
(b) is a simplified process of the fLOD generation.
This tool processes STL mesh files of furniture by:
- Voxelising the input mesh
- Generating a skeleton using distance transform and local maxima detection
- Segmenting the mesh into distinct parts based on skeleton branches
- Filtering parts by geometric criteria (projection fitting within a circle)
- Healing mesh by filling holes with constrained Delaunay triangulation
Run the following:
pip install -r requirements.txt
(Only tested with python 3.12)
python fLOD_generation.py --fLOD [fLOD_number] --path [path_to_stl]