Extruding 3D buildings from shp files with separate heights

Hello, I’m trying to create a 3D model of building massings using a ShapeFile of building footprints. I mostly referenced this tutorial, and have used the @it component. I have a separate excel for the height.

One of the important steps, naturally, is to use the boundary surface component to create surfaces from the polylines imported before the extrusion. However, the boundary surface component doesn’t work well, and creates strange shapes (see image). This of course, causes the extrusion to not be able to work. It works perfectly well when i extract a smaller section of the entire parcel (e.g. 20-30 buildings) with perfectly independent polygons.

I guess one main reason is that the number of polygons from the ShapeFile is more than the attributes and the height fields (see images). Another could be overlapping polygons, or polygons within other polygons.

I have already cleaned the ShapeFile to remove garage, patios etc, leaving only building footprints. Has anyone encountered similar problems, and managed to find a solution?

thank you

I did not encounter this specific problem using a shape file as I normally used the Elk plugin for this sort of task, but @it seems to be quite powerful.
However I had similar problems with boundary surfaces. What I found to be helpful at times is to explode the polylines and rejoin them (I know this doesn’t really sound too professional, but a lot of the cases this already got me a good result).
Wish you luck finding a solution.

I have tried Elk, but sadly OSM has too many missing building footprints for the area i’m looking, while the shp file has complete data. I also tried exploding the polylines though, but it gave errors as well (heights don’t make with number of polygons). Nevertheless, thanks for your suggestions!

what you could to for the mismatching numbers is maybe that you create a text tag for each surface (maybe with the centre point using area) that is displaying the index number. when you see two text tags in the same place you know that there must be something wrong and can edit manually. Maybe this helps, this is an approach that I sometimes use.

Hmmm would you have an example? thank you