Skip to content

Rotate building working correctly?

Created by: marcusfuchs

I am trying to rotate a building with

bldg = prj.add_non_residential(
        method="bmvbs",
        usage="office",
        name=f"East",
        year_of_construction=year,
        number_of_floors=2,
        height_of_floors=3.5,
        net_leased_area=1000.0,
        window_layout=2,
    )
bldg.rotate_building(angle=90)

Now I am trying to verify whether the rotation is working correctly. When looking at e.g. the Office zone's data record, without the rotation I get the following external wall areas:

AExt = {55.95947018972092, 287.5, 55.95947018972092, 16.447218194891885, 287.5, 16.447218194891885},

I was not able to find a definitive documentation for the order of orientations in this dataset, but I would expect the 2nd and 5th item (287.5) to define the area of the roof and ground, while the other 4 elements would be the 4 wall orientations.

When I rotate the building by 90 °, I would expect to get something like this, where the 4 wall orientations have switched places:

AExt = {16.447218194891885, 287.5, 16.447218194891885, 55.95947018972092, 287.5, 55.95947018972092},

Instead, what I get is this:

AExt = {16.447218194891885, 287.5, 287.5, 55.95947018972092, 55.95947018972092, 16.447218194891885},

Here, the larger areas which I assume to be for roof and ground have different positions. My guess would be that this is not correct. But maybe some other place in the record or model is also updated and this is what should be expected? Could someone with knowledge of this function help to verify whether this is an error or expected behavior?