bug in idf.py and added uuid to building_name in geojson importer

This commit is contained in:
Pilar Monsalvete 2023-06-09 13:12:00 -04:00
parent 7eafd33b33
commit db1d2362c8
2 changed files with 20 additions and 24 deletions

View File

@ -446,31 +446,24 @@ class Idf:
)
def _add_infiltration(self, thermal_zone, zone_name):
for zone in self._idf.idfobjects["ZONE"]:
if zone.Name == f'{zone_name}_infiltration':
return
schedule = f'Infiltration schedules {thermal_zone.usage_name}'
self._idf.newidfobject(self._INFILTRATION,
Name=f'{zone_name}_infiltration',
Zone_or_ZoneList_Name=zone_name,
Schedule_Name=schedule,
Design_Flow_Rate_Calculation_Method='AirChanges/Hour',
Air_Changes_per_Hour=thermal_zone.infiltration_rate_system_off
)
schedule = f'Infiltration schedules {thermal_zone.usage_name}'
self._idf.newidfobject(self._INFILTRATION,
Name=f'{zone_name}_infiltration',
Zone_or_ZoneList_Name=zone_name,
Schedule_Name=schedule,
Design_Flow_Rate_Calculation_Method='AirChanges/Hour',
Air_Changes_per_Hour=thermal_zone.infiltration_rate_system_off
)
def _add_ventilation(self, thermal_zone, zone_name):
for zone in self._idf.idfobjects["ZONE"]:
if zone.Name == f'{zone_name}_ventilation':
return
schedule = f'Ventilation schedules {thermal_zone.usage_name}'
self._idf.newidfobject(self._VENTILATION,
Name=f'{zone_name}_ventilation',
Zone_or_ZoneList_Name=zone_name,
Schedule_Name=schedule,
Design_Flow_Rate_Calculation_Method='AirChanges/Hour',
Air_Changes_per_Hour=thermal_zone.mechanical_air_change
)
schedule = f'Ventilation schedules {thermal_zone.usage_name}'
self._idf.newidfobject(self._VENTILATION,
Name=f'{zone_name}_ventilation',
Zone_or_ZoneList_Name=zone_name,
Schedule_Name=schedule,
Design_Flow_Rate_Calculation_Method='AirChanges/Hour',
Air_Changes_per_Hour=thermal_zone.mechanical_air_change
)
def _add_dhw(self, thermal_zone, zone_name):
peak_flow_rate = thermal_zone.domestic_hot_water.peak_flow * thermal_zone.total_floor_area
@ -514,6 +507,7 @@ class Idf:
self._rename_building(self._city.name)
self._lod = self._city.level_of_detail.geometry
for building in self._city.buildings:
print('building name', building.name)
for internal_zone in building.internal_zones:
if internal_zone.thermal_zones is None:
continue

View File

@ -5,6 +5,7 @@ Copyright © 2022 Concordia CERC group
Project Coder Guillermo Gutierrez Guillermo.GutierrezMorote@concordia.ca
"""
import uuid
import json
import numpy as np
@ -126,10 +127,11 @@ class Geojson:
if function in self._function_to_hub:
function = self._function_to_hub[function]
geometry = feature['geometry']
building_name = ''
building_aliases = []
if 'id' in feature:
building_name = feature['id']
else:
building_name = uuid.uuid4()
if self._aliases_field is not None:
for alias_field in self._aliases_field: