From 9f43aa58e2e960b51ae099cb5d813cb0ffdf3d1b Mon Sep 17 00:00:00 2001 From: PH Tools Date: Tue, 4 Oct 2022 12:03:00 +0200 Subject: [PATCH] fix(window display_name): Fix window component display_names --- PHX/from_HBJSON/create_assemblies.py | 2 ++ PHX/model/constructions.py | 18 ++++++++++++++++++ PHX/to_PHPP/phpp_app.py | 4 ++-- PHX/to_PHPP/phpp_model/component_frame.py | 2 +- PHX/to_PHPP/phpp_model/component_glazing.py | 2 +- PHX/to_PHPP/phpp_model/windows_rows.py | 4 ++-- _testing_to_PHPP.py | 8 ++++---- 7 files changed, 30 insertions(+), 10 deletions(-) diff --git a/PHX/from_HBJSON/create_assemblies.py b/PHX/from_HBJSON/create_assemblies.py index 47c91ea..eb77c64 100644 --- a/PHX/from_HBJSON/create_assemblies.py +++ b/PHX/from_HBJSON/create_assemblies.py @@ -136,6 +136,7 @@ def build_phx_window_type_from_hb_win_construction(_hb_win_const: window.WindowC # -- Glass ---------------------------------------------------------------- if ph_params.ph_glazing: # -- Use Detailed PH-Params + phx_window_type.glazing_type_display_name = ph_params.ph_glazing.display_name phx_window_type.u_value_glass = ph_params.ph_glazing.u_factor phx_window_type.glass_g_value = ph_params.ph_glazing.g_value else: @@ -146,6 +147,7 @@ def build_phx_window_type_from_hb_win_construction(_hb_win_const: window.WindowC # -- Frames --------------------------------------------------------------- if ph_params.ph_frame: # -- Use Detailed PH-Params + phx_window_type.frame_type_display_name = ph_params.ph_frame.display_name phx_window_type.frame_top.u_value = ph_params.ph_frame.top.u_factor phx_window_type.frame_top.width = ph_params.ph_frame.top.width phx_window_type.frame_top.psi_glazing = ph_params.ph_frame.top.psi_glazing diff --git a/PHX/model/constructions.py b/PHX/model/constructions.py index 18ae629..b20a493 100644 --- a/PHX/model/constructions.py +++ b/PHX/model/constructions.py @@ -76,6 +76,8 @@ class PhxConstructionWindow: _count: ClassVar[int] = 0 id_num: int = field(init=False, default=0) display_name: str = "" + _glazing_type_display_name: str = "" + _frame_type_display_name: str = "" use_detailed_uw: bool = True use_detailed_frame: bool = True @@ -100,3 +102,19 @@ class PhxConstructionWindow: def __post_init__(self) -> None: self.__class__._count += 1 self.id_num = self.__class__._count + + @property + def glazing_type_display_name(self) -> str: + return self._glazing_type_display_name or self.display_name + + @glazing_type_display_name.setter + def glazing_type_display_name(self, _in:str) -> None: + self._glazing_type_display_name = _in + + @property + def frame_type_display_name(self) -> str: + return self._frame_type_display_name or self.display_name + + @frame_type_display_name.setter + def frame_type_display_name(self, _in: str) -> None: + self._frame_type_display_name = _in \ No newline at end of file diff --git a/PHX/to_PHPP/phpp_app.py b/PHX/to_PHPP/phpp_app.py index d813de0..eda0d87 100644 --- a/PHX/to_PHPP/phpp_app.py +++ b/PHX/to_PHPP/phpp_app.py @@ -402,10 +402,10 @@ def write_project_window_surfaces(self, phx_project: project.PhxProject) -> None host_polygon.display_name ) phpp_id_frame = self.components.frames.get_frame_phpp_id_by_name( - phx_aperture.window_type.display_name + phx_aperture.window_type.frame_type_display_name ) phpp_id_glazing = self.components.glazings.get_glazing_phpp_id_by_name( - phx_aperture.window_type.display_name + phx_aperture.window_type.glazing_type_display_name ) phpp_windows.append( diff --git a/PHX/to_PHPP/phpp_model/component_frame.py b/PHX/to_PHPP/phpp_model/component_frame.py index f715a0f..bf85c8e 100644 --- a/PHX/to_PHPP/phpp_model/component_frame.py +++ b/PHX/to_PHPP/phpp_model/component_frame.py @@ -44,7 +44,7 @@ def create_xl_items(self, _sheet_name: str, _row_num: int) -> List[xl_data.XlIte create_range = partial(self._create_range, _row_num=_row_num) XLItemCompo = partial(xl_data.XlItem, _sheet_name) xl_item_list: List[xl_data.XlItem] = [ - XLItemCompo(create_range('description'), self.phx_construction.display_name), + XLItemCompo(create_range('description'), self.phx_construction.frame_type_display_name), XLItemCompo(create_range('u_value_left'), self.phx_construction.frame_left.u_value, "W/M2K", self._get_target_unit("u_value_left")), XLItemCompo(create_range('u_value_right'), self.phx_construction.frame_right.u_value, "W/M2K", self._get_target_unit("u_value_right")), XLItemCompo(create_range('u_value_bottom'), self.phx_construction.frame_bottom.u_value, "W/M2K", self._get_target_unit("u_value_bottom")), diff --git a/PHX/to_PHPP/phpp_model/component_glazing.py b/PHX/to_PHPP/phpp_model/component_glazing.py index 605512f..75e5859 100644 --- a/PHX/to_PHPP/phpp_model/component_glazing.py +++ b/PHX/to_PHPP/phpp_model/component_glazing.py @@ -44,7 +44,7 @@ def create_xl_items(self, _sheet_name: str, _row_num: int) -> List[xl_data.XlIte create_range = partial(self._create_range, _row_num=_row_num) XLItemCompo = partial(xl_data.XlItem, _sheet_name) xl_item_list: List[xl_data.XlItem] = [ - XLItemCompo(create_range("description"), self.phx_construction.display_name), + XLItemCompo(create_range("description"), self.phx_construction.glazing_type_display_name), XLItemCompo(create_range("g_value"), self.phx_construction.glass_g_value), XLItemCompo( create_range("u_value"), diff --git a/PHX/to_PHPP/phpp_model/windows_rows.py b/PHX/to_PHPP/phpp_model/windows_rows.py index b9ebb8a..135ae0c 100644 --- a/PHX/to_PHPP/phpp_model/windows_rows.py +++ b/PHX/to_PHPP/phpp_model/windows_rows.py @@ -54,8 +54,8 @@ def create_xl_items(self, _sheet_name: str, _row_num: int) -> List[xl_data.XlIte XLItemWindows(create_range("quantity"), 1), XLItemWindows(create_range("description"), self.phx_polygon.display_name), XLItemWindows(create_range("host"), self.phpp_host_surface_id_name), - XLItemWindows(create_range("glazing_id"), self.phpp_id_frame), - XLItemWindows(create_range("frame_id"), self.phpp_id_glazing), + XLItemWindows(create_range("glazing_id"), self.phpp_id_glazing), + XLItemWindows(create_range("frame_id"), self.phpp_id_frame), XLItemWindows(create_range("width"), self.phx_polygon.width, "M", self._get_target_unit("width")), XLItemWindows(create_range("height"), self.phx_polygon.height, "M", self._get_target_unit("height")), diff --git a/_testing_to_PHPP.py b/_testing_to_PHPP.py index 288fb36..ae2f5ca 100644 --- a/_testing_to_PHPP.py +++ b/_testing_to_PHPP.py @@ -16,7 +16,7 @@ # "/Users/em/Dropbox/bldgtyp-00/00_PH_Tools/PHX/tests/_source_hbjson/Default_Model_Single_Zone.hbjson" # ) SOURCE_FILE = pathlib.Path( - "/Users/em/Dropbox/bldgtyp-00/00_PH_Tools/PHX/sample/hbjson/220926_Penziner.hbjson" + "/Users/em/Dropbox/bldgtyp-00/00_PH_Tools/PHX/sample/hbjson/221004_Penziner.hbjson" ) if __name__ == '__main__': @@ -47,14 +47,14 @@ with phpp_conn.xl.in_silent_mode(): # phpp_conn.xl.unprotect_all_sheets() - phpp_conn.write_certification_config(phx_project) + # phpp_conn.write_certification_config(phx_project) # phpp_conn.write_climate_data(phx_project) # phpp_conn.write_project_constructions(phx_project) # phpp_conn.write_project_tfa(phx_project) # phpp_conn.write_project_opaque_surfaces(phx_project) # phpp_conn.write_project_thermal_bridges(phx_project) - # phpp_conn.write_project_window_components(phx_project) - # phpp_conn.write_project_window_surfaces(phx_project) + phpp_conn.write_project_window_components(phx_project) + phpp_conn.write_project_window_surfaces(phx_project) # phpp_conn.write_project_window_shading(phx_project) # phpp_conn.write_project_ventilation_components(phx_project) # phpp_conn.write_project_ventilators(phx_project)