Correct bug in shadding object creation when no archetype available

This commit is contained in:
Guille Gutierrez 2024-07-04 09:53:45 +02:00
parent 26b2af1e2b
commit 6d2bb98470
2 changed files with 3 additions and 1 deletions

View File

@ -132,6 +132,8 @@ class InternalZone:
_thermal_boundary = ThermalBoundary(surface, surface.solid_polygon.area, windows_areas) _thermal_boundary = ThermalBoundary(surface, surface.solid_polygon.area, windows_areas)
surface.associated_thermal_boundaries = [_thermal_boundary] surface.associated_thermal_boundaries = [_thermal_boundary]
_thermal_boundaries.append(_thermal_boundary) _thermal_boundaries.append(_thermal_boundary)
if self.thermal_archetype is None:
return None # there are no archetype
_number_of_storeys = int(self.volume / self.area / self.thermal_archetype.average_storey_height) _number_of_storeys = int(self.volume / self.area / self.thermal_archetype.average_storey_height)
_thermal_zone = ThermalZone(_thermal_boundaries, self, self.volume, self.area, _number_of_storeys) _thermal_zone = ThermalZone(_thermal_boundaries, self, self.volume, self.area, _number_of_storeys)
for thermal_boundary in _thermal_zone.thermal_boundaries: for thermal_boundary in _thermal_zone.thermal_boundaries:

View File

@ -513,7 +513,7 @@ class Idf:
self._lod = self._city.level_of_detail.geometry self._lod = self._city.level_of_detail.geometry
for building in self._city.buildings: for building in self._city.buildings:
for internal_zone in building.internal_zones: for internal_zone in building.internal_zones:
if internal_zone.thermal_zones_from_internal_zones is None or len(internal_zone.thermal_zones_from_internal_zones.thermal_boundaries) == 0: if internal_zone.thermal_zones_from_internal_zones is None:
self._add_shading(building) # if the building has not archetype use it as shadow object self._add_shading(building) # if the building has not archetype use it as shadow object
continue continue
for thermal_zone in internal_zone.thermal_zones_from_internal_zones: for thermal_zone in internal_zone.thermal_zones_from_internal_zones: