OSArch Community

area calculation blenderbim vs ifcopenshell

  1. A

    I was doing a comparison on the volume and area calculation between blenderbim and ifcopenshell on the demo model AC20-FZK-Haus.ifc

    I am getting difference in the areas for NetSideArea and NetFootprintArea. The difference in NetFootprintArea is almost 40% different

    Am I doing anything wrong here?

  2. M

    @Arv hi... well, the quantities that are stored in the Pset called "BaseQuantities" are just float number properties, just like the others...i mean, you could manually edit a single property (for example BaseQuantities.Length) to, let's say, 4 and you would have the length property set to 4 and this would be obviously wrong ...

    I said that just to help you understand that properties could come from every kind of source and so they could be wrong...

    Said that, in order to better understand the problem, it would be helpful to know where the functions shape.get_volume(), shape.get_side_area() and shape.get_footprint_area() comes from ... in other words, could you copy also the line where shape is defined? thanks ...

  3. C

    @Massimo I think shape should be ifcopenshell.util.shape

  4. M
  5. M

    well but i tried to run the following script with the same wall selected

    _import blenderbim.tool as tool

    import ifcopenshell

    obj = C.active_object

    entity = tool.Ifc.get_entity(obj)

    settings = ifcopenshell.geom.settings()

    net_shape = ifcopenshell.geom.create_shape(settings, entity)

    net_volume = ifcopenshell.util.shape.get_volume(netshape.geometry)

    and net_volume is 6.42 so there is something wrong in your script ...

    Try to select the wall with

    _import blenderbim.tool as tool

    model = tool.Ifc.get()

    wall = model.byguid("25fsbPyk15VvuXI$yNKenK")

  6. A

    @cvillagrasa said:

    @Massimo I think shape should be ifcopenshell.util.shape

    I have imported shape as from ifcopenshell.util import shape

    @Massimo said:

    and net_volume is 6.42 so there is something wrong in your script ...

    I do get the net_volume same as yours which also matches the model . Its the shape.get_side_area and shape.get_footprint_area values which is different

  7. M

    This is a little unfortunate, basically footprint area counts any faces projected onto the view direction, including overlapping faces (hence the double count). Therefore the faces of the window voids are also counted as a footprint. This is unintuitive and I'd say it's a bug, but hopefully this image explains it. Therefore if you supply a gross shape (i.e. without the window openings) you get a more sensible number.

    Bug fixed: https://github.com/IfcOpenShell/IfcOpenShell/commit/f0028c00947508302cbb719d6959a4eb93581d79

  8. A

    Thanks @Moult

  9. M

    @Arv well i guess i didn't pay the necessary attention to it :-)

    Nice that this problem finished to a fixed bug

    And of course thanks to @Moult :-)

Login or Register to reply.