mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-09-19 14:41:25 +00:00
Finish Qto_SlabBaseQuantities quantities (#2567)
This commit is contained in:
committed by
Dion Moult
parent
57917f89e5
commit
ada8e1e923
@@ -243,14 +243,14 @@ mapper = {
|
|||||||
'GrossWeight' : None,
|
'GrossWeight' : None,
|
||||||
},
|
},
|
||||||
'Qto_SlabBaseQuantities' : {
|
'Qto_SlabBaseQuantities' : {
|
||||||
'Width' : None,
|
'Width' : "get_height",
|
||||||
'Length' : None,
|
'Length' : "get_length",
|
||||||
'Depth' : "get_height",
|
'Depth' : "get_width",
|
||||||
'Perimeter' : None,
|
'Perimeter' : "get_gross_perimeter",
|
||||||
'GrossArea' : None,
|
'GrossArea' : "get_gross_footprint_area",
|
||||||
'NetArea' : None,
|
'NetArea' : "get_net_footprint_area",
|
||||||
'GrossVolume' : None,
|
'GrossVolume' : "get_gross_volume",
|
||||||
'NetVolume' : None,
|
'NetVolume' : "get_net_volume",
|
||||||
'GrossWeight' : None,
|
'GrossWeight' : None,
|
||||||
'NetWeight' : None,
|
'NetWeight' : None,
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -69,7 +69,7 @@ class QtoCalculator:
|
|||||||
elif "height" in prop_name or "depth" in prop_name:
|
elif "height" in prop_name or "depth" in prop_name:
|
||||||
return self.get_height(obj)
|
return self.get_height(obj)
|
||||||
elif "perimeter" in prop_name:
|
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):
|
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)
|
return self.get_net_footprint_area(obj)
|
||||||
elif "area" in prop_name and "side" in prop_name:
|
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
|
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 = []
|
parsed_edges = []
|
||||||
shared_edges = []
|
shared_edges = []
|
||||||
perimeter = 0
|
perimeter = 0
|
||||||
@@ -146,6 +146,14 @@ class QtoCalculator:
|
|||||||
perimeter -= self.get_edge_key_distance(o, edge_key)
|
perimeter -= self.get_edge_key_distance(o, edge_key)
|
||||||
return perimeter
|
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):
|
def get_lowest_polygons(self, o):
|
||||||
lowest_polygons = []
|
lowest_polygons = []
|
||||||
lowest_z = None
|
lowest_z = None
|
||||||
|
|||||||
Reference in New Issue
Block a user