I've generated the wall for width = 200 and height = 248. With that I'm getting an error "969 open edges", Facets: 12152 (137 shells) when importing the 3MF into PrusaSlicer. In some cases it failed to properly slice.
With the following 2 changes, I'm not getting any error and Facets: 10680 (1 shell):
1) In wall() completely remove the filleting difference, those walls are only ever joined at 120° so the filleting is not needed, it does in fact creates issues when the fillets are just about touching when assembling the hexagon. This resolves most errors flagged by PrusaSlicer.
2) change the polygon() in wall() to produce a tiny overlap when assembling the hexagons: polygon([[-0.01,0], [-0.01,hmax], ...), this removes the remaining errors. (edited)
Exhaust vent. PETG