Finish Qto_SlabBaseQuantities quantities (#2567)

This commit is contained in:
Massimo Fabbro
2022-11-08 12:21:00 +01:00
committed by GitHub
parent c7eca135de
commit d97594df96
2 changed files with 18 additions and 10 deletions
@@ -243,14 +243,14 @@ mapper = {
'GrossWeight' : None,
},
'Qto_SlabBaseQuantities' : {
'Width' : None,
'Length' : None,
'Depth' : "get_height",
'Perimeter' : None,
'GrossArea' : None,
'NetArea' : None,
'GrossVolume' : None,
'NetVolume' : None,
'Width' : "get_height",
'Length' : "get_length",
'Depth' : "get_width",
'Perimeter' : "get_gross_perimeter",
'GrossArea' : "get_gross_footprint_area",
'NetArea' : "get_net_footprint_area",
'GrossVolume' : "get_gross_volume",
'NetVolume' : "get_net_volume",
'GrossWeight' : None,
'NetWeight' : None,
},
@@ -69,7 +69,7 @@ class QtoCalculator:
elif "height" in prop_name or "depth" in prop_name:
return self.get_height(obj)
elif "perimeter" in prop_name:
return self.get_perimeter(obj)
return self.get_net_perimeter(obj)
elif "area" in prop_name and ("footprint" in prop_name or "section" in prop_name or "floor" in prop_name):
return self.get_net_footprint_area(obj)
elif "area" in prop_name and "side" in prop_name:
@@ -131,7 +131,7 @@ class QtoCalculator:
"""
return (Vector(o.bound_box[1]) - Vector(o.bound_box[0])).length
def get_perimeter(self, o):
def get_net_perimeter(self, o):
parsed_edges = []
shared_edges = []
perimeter = 0
@@ -146,6 +146,14 @@ class QtoCalculator:
perimeter -= self.get_edge_key_distance(o, edge_key)
return perimeter
def get_gross_perimeter(self, o):
element = tool.Ifc.get_entity(o)
mesh = self.get_gross_element_mesh(element)
gross_obj = bpy.data.objects.new("GrossObj", mesh)
gross_perimeter = self.get_net_perimeter(gross_obj)
self.delete_obj(gross_obj)
return gross_perimeter
def get_lowest_polygons(self, o):
lowest_polygons = []
lowest_z = None