diff --git a/doc/changelog.d/6495.added.md b/doc/changelog.d/6495.added.md new file mode 100644 index 00000000000..c59ed7ef174 --- /dev/null +++ b/doc/changelog.d/6495.added.md @@ -0,0 +1 @@ +Icepak model reviewer extension diff --git a/doc/source/User_guide/pyaedt_extensions_doc/icepak/icepak_model_reviewer.rst b/doc/source/User_guide/pyaedt_extensions_doc/icepak/icepak_model_reviewer.rst new file mode 100644 index 00000000000..9bbf18e363c --- /dev/null +++ b/doc/source/User_guide/pyaedt_extensions_doc/icepak/icepak_model_reviewer.rst @@ -0,0 +1,112 @@ +Icepak Model Reviewer +===================== + +The Icepak Model Reviewer extension allows users to inspect and modify details of an Icepak project. It enables +reviewing critical data such as boundary conditions, materials, and model-specific properties. + +The extension provides a graphical user interface (GUI) where the user can load a project, review its components, +and make necessary updates. + +The following image shows the extension GUI: + +.. image:: ../../../_static/extensions/icepak_model_reviewer_initial_panel.png + :width: 800 + :alt: Icepak Model Reviewer UI + +After the project is loaded by clicking, the GUI show tables +.. image:: ../../../_static/extensions/icepak_model_reviewer_ui_with_table.png + :width: 800 + :alt: Icepak Model Reviewer UI After loading Project + +Features +-------- + +- Load and inspect an Icepak project. +- Display editable tables showing: + - Boundary conditions + - Material properties + - Model details +- Update project parameters. + +Using extension +------------------- + +1. Open the **Automation** tab in the Icepak interface. +2. Click on the **Icepak model reviewer** icon under the Extension Manager. +3. In the GUI, interact with the following elements: + - **Load Project**: Load the Icepak project into the GUI. + - **Update Project**: Push any modifications made in the tables back to the project. +4. After the project is loaded: + - The GUI displays three main tables: + - **Boundary Conditions**: Lists all the boundary condition settings applied in the model. + - **Materials**: Shows the materials used and their key properties. + - **Models**: Displays model-specific data and configurations. + +Each table allows inline editing of values. To commit changes, click the **Update Project** button. +Commit changes apply all modifications to the currently loaded project. + +Tables overview +--------------- + +**Boundary Conditions Table** + +This table displays the thermal boundary conditions defined in the Icepak project. +The data is organized with both read-only and editable fields to help users review and make updates. ++--------------------------+----------------------------------------------------------------------------------+ +| **Property** | **Description** | ++==========================+==================================================================================+ +| **Name** | Name of the boundary. This field is **read-only** and cannot be modified. | ++--------------------------+----------------------------------------------------------------------------------+ +| **Boundary Type** | Indicates whether the boundary is a *Block* or a *Source*. This is | +| | also a **read-only** field. | ++--------------------------+----------------------------------------------------------------------------------+ +| **BC Name 1 / BC Name 2**| Names of the boundary conditions applied (*Total Power*, *Power Density*, | +| | *Heat Transfer Coefficient*, *Temperature*). These fields are **read-only** | ++--------------------------+----------------------------------------------------------------------------------+ +| **Value 1 / Value 2** | Corresponding values for the selected boundary conditions. These fields | +| | are **editable**. | ++--------------------------+----------------------------------------------------------------------------------+ + + +**Materials Table** + + +This table displays material properties for all objects used in the Icepak project. +Some fields are read-only and provided for reference, while others can be modified depending on the simulation setup. + ++----------------------------------+--------------------------------------------------------------+ +| **Property** | **Description** | ++==================================+==============================================================+ +| **Name** | Material name (**read-only**) | ++----------------------------------+--------------------------------------------------------------+ +| **Material Type** | Indicates if the material is *Solid* or *Fluid* | +| | (**read-only**) | ++----------------------------------+--------------------------------------------------------------+ +| **Thermal Conductivity** | Thermal conductivity in **W/mยทK** | ++----------------------------------+--------------------------------------------------------------+ +| **Mass Density** | Density in **kg/mยณ** | ++----------------------------------+--------------------------------------------------------------+ +| **Specific Heat** | Specific heat capacity in **J/kgยทK** | ++----------------------------------+--------------------------------------------------------------+ +| **Thermal Expansion Coefficient**| Coefficient of thermal expansion in **1/K** | ++----------------------------------+--------------------------------------------------------------+ +| **Thermal Diffusivity** | Thermal diffusivity in **mยฒ/s** | ++----------------------------------+--------------------------------------------------------------+ +| **Viscosity** | Dynamic viscosity in **Kg/m-s** | ++----------------------------------+--------------------------------------------------------------+ + + +**Models Table** + +This table lists the object-level settings related to modeling in the Icepak project. +It shows the assigned bulk and surface materials. Information about whether an object is model/ non-model object. + + + +Notes +----- + +- Ensure the CSV file for power map creation is formatted correctly before importing. +- Changes made in the tables are not applied to the project until the **Update Project** button is clicked. +- This extension is intended for reviewing model data efficiently without the need to navigate complex menus. + diff --git a/doc/source/_static/extensions/icepak_model_reviewer_initial_panel.png b/doc/source/_static/extensions/icepak_model_reviewer_initial_panel.png new file mode 100644 index 00000000000..1f44e1b785a Binary files /dev/null and b/doc/source/_static/extensions/icepak_model_reviewer_initial_panel.png differ diff --git a/doc/source/_static/extensions/icepak_model_reviewer_ui_with_table.png b/doc/source/_static/extensions/icepak_model_reviewer_ui_with_table.png new file mode 100644 index 00000000000..41690962900 Binary files /dev/null and b/doc/source/_static/extensions/icepak_model_reviewer_ui_with_table.png differ diff --git a/src/ansys/aedt/core/extensions/icepak/icepak_model_reviewer.py b/src/ansys/aedt/core/extensions/icepak/icepak_model_reviewer.py new file mode 100644 index 00000000000..4bc1c9ca355 --- /dev/null +++ b/src/ansys/aedt/core/extensions/icepak/icepak_model_reviewer.py @@ -0,0 +1,416 @@ +# -*- coding: utf-8 -*- +# +# Copyright (C) 2021 - 2025 ANSYS, Inc. and/or its affiliates. +# SPDX-License-Identifier: MIT +# +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + +import os +import tkinter as tk +from tkinter import ttk + +from ansys.aedt.core import Desktop +from ansys.aedt.core import Icepak +from ansys.aedt.core.extensions.icepak.model_reviewer.backend import export_config_file +from ansys.aedt.core.extensions.icepak.model_reviewer.backend import get_object_id_mapping +from ansys.aedt.core.extensions.icepak.model_reviewer.backend import import_config_file +from ansys.aedt.core.extensions.icepak.model_reviewer.configuration_data_processing import ( + compare_and_update_boundary_data, +) +from ansys.aedt.core.extensions.icepak.model_reviewer.configuration_data_processing import ( + compare_and_update_material_data, +) +from ansys.aedt.core.extensions.icepak.model_reviewer.configuration_data_processing import compare_and_update_model_data +from ansys.aedt.core.extensions.icepak.model_reviewer.configuration_data_processing import extract_boundary_data +from ansys.aedt.core.extensions.icepak.model_reviewer.configuration_data_processing import extract_material_data +from ansys.aedt.core.extensions.icepak.model_reviewer.configuration_data_processing import extract_model_data +from ansys.aedt.core.extensions.misc import ExtensionCommon +from ansys.aedt.core.extensions.misc import ExtensionTheme +from ansys.aedt.core.extensions.misc import get_aedt_version +from ansys.aedt.core.extensions.misc import get_port +from ansys.aedt.core.extensions.misc import get_process_id +from ansys.aedt.core.extensions.misc import is_student +from ansys.aedt.core.internal.errors import AEDTRuntimeError + +port = get_port() +version = get_aedt_version() +aedt_process_id = get_process_id() +theme = ExtensionTheme() +EXTENSION_TITLE = "Icepak Model Reviewer" + + +def flatten_list(mixed_list): + flat_list = [] + for row in mixed_list: + result = [] + for item in row: + if isinstance(item, list): + result.append(",".join(str(sub) for sub in item)) + else: + result.append(str(item)) + flat_list.append(result) + return flat_list + + +def expand_list(flat_list): + mixed_list = [] + for row in flat_list: + result = [] + for item in row: + if isinstance(item, str) and "," in item: + parts = [s.strip() for s in item.split(",")] + result.append(parts) + else: + result.append(str(item)) + mixed_list.append(result) + return mixed_list + + +def add_icon_to_cells(data, icon_indices, icon="๐Ÿ”’"): + """ + Adds an icon to specified cells in the data. + + Parameters + ---------- + - data: list of list of strings (table rows) + - icon_indices: list of list of ints, where each inner list contains read only column indices + - icon: string icon to prepend (default '๐Ÿ”’') + + Returns + ------- + - new_data: deep copy of data with icons added + """ + from copy import deepcopy + + new_data = deepcopy(data) + + for row_idx, cols in enumerate(icon_indices): + for col_idx in cols: + cell = new_data[row_idx][col_idx - 1] + if isinstance(cell, str): + new_data[row_idx][col_idx - 1] = f"{cell}{icon}" + elif isinstance(cell, list): + cell[-1] += icon + new_data[row_idx][col_idx - 1] = cell + return new_data + + +def remove_icon_from_cells(data, icon="๐Ÿ”’"): + """ + Removes the icon from all cells that start with it. + + Parameters + ---------- + - data: list of list of strings + - icon: the icon to remove (default '๐Ÿ”’') + + Returns + ------- + - new_data: deep copy of data with icons removed + """ + from copy import deepcopy + + new_data = deepcopy(data) + + for i, row in enumerate(new_data): + for j, cell in enumerate(row): + if isinstance(cell, str): + if cell.endswith(f"{icon}"): # cells can also be list in case of multiple selection + new_data[i][j] = cell[: -(len(icon))] + if isinstance(cell, list): + if cell[-1].endswith(icon): + cell[-1] = cell[-1][: -(len(icon))] + return new_data + + +def add_table_to_tab(tab, table_data): + for child in tab.winfo_children(): + child.destroy() + headings, type_list, selection_dict, row_data, read_only_cols = table_data + table = Table(tab, headings, type_list, read_only_cols) + table.pack(fill=tk.BOTH, expand=True) + for column_name, options in selection_dict.items(): + table.set_multi_select_options(column_name, options) + row_data_with_icon = add_icon_to_cells(flatten_list(row_data), read_only_cols) + for row in row_data_with_icon: + table.add_row(row) + return table + + +class Table(ttk.Frame): + def __init__(self, parent, headers, types, read_only_data): + super().__init__(parent, style="PyAEDT.TFrame") + self.headers = ["โœ”"] + headers + self.types = ["checkbox"] + types + self.read_only_data = [set(r) for r in read_only_data] + self.tree = ttk.Treeview( + self, columns=self.headers, show="headings", selectmode="browse", style="PyAEDT.Treeview" + ) + for i, header in enumerate(self.headers): + self.tree.heading(header, text=header) + self.tree.column(header, width=50 if i == 0 else 140, anchor=tk.CENTER) + + self.tree.pack(fill=tk.BOTH, expand=True) + self.tree.bind("", self.edit_cell) + + self.rows_data = [] + self.multi_select_options = {} + self.selected_rows = set() + + def set_multi_select_options(self, header, options): + self.multi_select_options[header] = options + + def add_row(self, row_data): + if len(row_data) != len(self.headers) - 1: + raise ValueError("Row data must match the number of non-checkbox columns") + + full_data = ["โฌœ"] + row_data + self.rows_data.append(full_data) + self.tree.insert("", "end", values=full_data) + + def toggle_row(self, row_id, item_index): + if row_id in self.selected_rows: + self.selected_rows.remove(row_id) + self.tree.set(row_id, 0, "โฌœ") + else: + self.selected_rows.add(row_id) + self.tree.set(row_id, 0, "โœ…") + + def get_modified_data(self): + return [self.tree.item(row)["values"][1:] for row in self.tree.get_children()] + + def edit_cell(self, event): + region = self.tree.identify("region", event.x, event.y) + if region != "cell": + return + + row_id = self.tree.identify_row(event.y) + col = int(self.tree.identify_column(event.x)[1:]) - 1 + item_index = self.tree.index(row_id) + + if col == 0: + self.toggle_row(row_id, item_index) + return + + if col in self.read_only_data[item_index]: + return + + bbox = self.tree.bbox(row_id, f"#{col + 1}") + if not bbox: + return + + x, y, width, height = bbox + abs_x = self.tree.winfo_rootx() + x + abs_y = self.tree.winfo_rooty() + y + + item = self.tree.item(row_id) + value = item["values"][col] + type_ = self.types[col] + + def apply_to_selected(new_value): + for rid in self.tree.get_children(): + if row_id in self.selected_rows: + targets = self.selected_rows + else: + targets = {row_id} + if rid in targets: + idx = self.tree.index(rid) + if col not in self.read_only_data[idx]: + self.tree.set(rid, col, new_value) + self.rows_data[idx][col] = new_value + + if type_ == "text": + entry = tk.Entry(self.tree) + entry.insert(0, value) + entry.place(x=x, y=y, width=width, height=height) + entry.focus_set() + + def on_return(event): + new_value = entry.get() + apply_to_selected(new_value) + entry.destroy() + + entry.bind("", on_return) + entry.bind("", lambda e: entry.destroy()) + + elif type_ == "combo": + options = self.multi_select_options.get(self.headers[col], []) + combo = ttk.Combobox( + self.tree, values=options, state="readonly", style="PyAEDT.TCombobox", font=theme.default_font + ) + combo.place(x=x, y=y, width=width, height=height) + combo.set(value) + + def on_select(event=None): + new_value = combo.get() + apply_to_selected(new_value) + combo.destroy() + + combo.bind("<>", on_select) + combo.bind("", lambda e: combo.destroy()) + combo.focus_set() + + elif type_ == "multiple_text": + options = self.multi_select_options.get(self.headers[col], []) + top = tk.Toplevel(self) + top.title("Select Multiple") + top.geometry(f"200x300+{abs_x}+{abs_y}") + + listbox = tk.Listbox(top, selectmode="multiple", font=theme.default_font) + for opt in options: + listbox.insert(tk.END, opt) + listbox.pack(fill="both", expand=True) + + current_vals = [val.strip() for val in value.split(",")] + for idx, opt in enumerate(options): + if opt in current_vals: + listbox.selection_set(idx) + + def confirm(): + selected = [options[i] for i in listbox.curselection()] + value_str = ", ".join(selected) + apply_to_selected(value_str) + top.destroy() + + ttk.Button(top, text="OK", command=confirm).pack() + top.transient(self) + top.grab_set() + self.wait_window(top) + + +class IcepakModelReviewer(ExtensionCommon): + def __init__(self, withdraw: bool = False): + # Initialize the common extension class with the title and theme color + super().__init__( + EXTENSION_TITLE, + theme_color="light", + withdraw=withdraw, + add_custom_content=False, + ) + + self.differences = None + self.combined_data = None + self.add_extension_content() + + def add_extension_content(self): + # --- Top Button Panel --- + button_frame = ttk.Frame(self.root, style="PyAEDT.TFrame") + button_frame.pack(fill=tk.X, padx=10, pady=5) + notebook = ttk.Notebook(self.root, style="TNotebook") + notebook.pack(fill=tk.BOTH, expand=True) + self.root.boundary_tab = ttk.Frame(notebook, style="PyAEDT.TFrame") + notebook.add(self.root.boundary_tab, text="Boundary") + self.root.materials_tab = ttk.Frame(notebook, style="PyAEDT.TFrame") + notebook.add(self.root.materials_tab, text="Material") + self.root.models_tab = ttk.Frame(notebook, style="PyAEDT.TFrame") + notebook.add(self.root.models_tab, text="Models") + self.load_button = ttk.Button( + button_frame, text="Load Project", command=self.load_project, style="PyAEDT.TButton" + ) + self.load_button.pack(side=tk.LEFT, padx=5) + self.update_button = ttk.Button( + button_frame, text="Update Project", command=self.update_project, style="PyAEDT.TButton" + ) + self.update_button.pack(side=tk.LEFT, padx=5) + lower_frame = ttk.Frame(self.root, style="PyAEDT.TFrame") + lower_frame.pack(fill=tk.X, padx=10, pady=5) + self.add_toggle_theme_button(lower_frame, 0, 0) + + def check_design_type(self): + """Check if the active design is an Icepak design.""" + if self.aedt_application.design_type != "Icepak": + raise AEDTRuntimeError("This extension can only be used with Icepak designs.") + + def get_project_data(self): + desktop = Desktop( + new_desktop=False, + version=version, + port=port, + aedt_process_id=aedt_process_id, + student_version=is_student(), + ) + ipk = Icepak() + data = export_config_file(ipk) + ipk.logger.info("Loading project details into Table") + if "PYTEST_CURRENT_TEST" not in os.environ: + desktop.release_desktop(close_projects=False, close_on_exit=False) + return data + + def import_data_to_project(self, combined_data, differences): + desktop = Desktop( + new_desktop=False, + version=version, + port=port, + aedt_process_id=aedt_process_id, + student_version=is_student(), + ) + ipk = Icepak() + ipk.logger.info("Updating the project based on modified table data") + ipk.logger.info("Following modifications are made in the table") + ipk.logger.info(differences) + import_config_file(ipk, combined_data) + if "PYTEST_CURRENT_TEST" not in os.environ: + desktop.release_desktop(False, False) + + def object_id_mapping(self): + desktop = Desktop( + new_desktop=False, + version=version, + port=port, + aedt_process_id=aedt_process_id, + student_version=is_student(), + ) + ipk = Icepak() + mapping = get_object_id_mapping(ipk) + if "PYTEST_CURRENT_TEST" not in os.environ: + desktop.release_desktop(False, False) + return mapping + + def load_project(self): + data = self.get_project_data() + self.root.json_data = data + + # --- Tabbed Interface --- + table_data = extract_boundary_data(data) + self.root.bc_table = add_table_to_tab(self.root.boundary_tab, table_data) + table_data = extract_material_data(data) + self.root.mat_table = add_table_to_tab(self.root.materials_tab, table_data) + table_data = extract_model_data(data) + self.root.model_table = add_table_to_tab(self.root.models_tab, table_data) + + def update_project(self): + obj_mapping = self.object_id_mapping() + bc_data = self.root.bc_table.get_modified_data() + bc_data = expand_list(remove_icon_from_cells(bc_data)) + bc_differences, new_bc_data = compare_and_update_boundary_data(self.root.json_data, bc_data, obj_mapping) + mat_data = self.root.mat_table.get_modified_data() + mat_data = expand_list(remove_icon_from_cells(mat_data)) + mat_differences, new_mat_data = compare_and_update_material_data(self.root.json_data, mat_data) + model_data = self.root.model_table.get_modified_data() + model_data = expand_list(remove_icon_from_cells(model_data)) + model_differences, new_model_data = compare_and_update_model_data(self.root.json_data, model_data) + self.combined_data = {**new_model_data, **new_mat_data, **new_bc_data} + self.differences = bc_differences + mat_differences + model_differences + self.import_data_to_project(self.combined_data, self.differences) + + +if __name__ == "__main__": + extension = IcepakModelReviewer(withdraw=False) + tk.mainloop() diff --git a/src/ansys/aedt/core/extensions/icepak/model_reviewer/__init__.py b/src/ansys/aedt/core/extensions/icepak/model_reviewer/__init__.py new file mode 100644 index 00000000000..b78d8fed76c --- /dev/null +++ b/src/ansys/aedt/core/extensions/icepak/model_reviewer/__init__.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- +# +# Copyright (C) 2021 - 2025 ANSYS, Inc. and/or its affiliates. +# SPDX-License-Identifier: MIT +# +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. diff --git a/src/ansys/aedt/core/extensions/icepak/model_reviewer/backend.py b/src/ansys/aedt/core/extensions/icepak/model_reviewer/backend.py new file mode 100644 index 00000000000..eab14885ea4 --- /dev/null +++ b/src/ansys/aedt/core/extensions/icepak/model_reviewer/backend.py @@ -0,0 +1,58 @@ +# -*- coding: utf-8 -*- +# +# Copyright (C) 2021 - 2025 ANSYS, Inc. and/or its affiliates. +# SPDX-License-Identifier: MIT +# +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + +import json +import os + + +def export_config_file(aedtapp): + aedtapp.configurations.options.export_monitor = False + aedtapp.configurations.options.export_native_components = False + aedtapp.configurations.options.export_datasets = False + aedtapp.configurations.options.export_parametrics = False + aedtapp.configurations.options.export_variables = False + aedtapp.configurations.options.export_mesh_operations = False + aedtapp.configurations.options.export_optimizations = False + config_file = aedtapp.configurations.export_config() + with open(config_file, "r") as file: + data = json.load(file) + return data + + +def import_config_file(aedtapp, json_data): + full_path = os.path.abspath("load.json") + with open(full_path, "w") as file: + json.dump(json_data, file) + out = aedtapp.configurations.import_config(full_path) + result = aedtapp.configurations.validate(out) + if result: + aedtapp.logger.info("Sucessfully imported configuration") + else: + aedtapp.logger.info("Import has issues") + return None + + +def get_object_id_mapping(aedtapp): + object_id_map = {name: aedtapp.modeler.get_obj_id(name) for name in aedtapp.modeler.object_names} + return object_id_map diff --git a/src/ansys/aedt/core/extensions/icepak/model_reviewer/configuration_data_processing.py b/src/ansys/aedt/core/extensions/icepak/model_reviewer/configuration_data_processing.py new file mode 100644 index 00000000000..89e275b1980 --- /dev/null +++ b/src/ansys/aedt/core/extensions/icepak/model_reviewer/configuration_data_processing.py @@ -0,0 +1,434 @@ +# -*- coding: utf-8 -*- +# +# Copyright (C) 2021 - 2025 ANSYS, Inc. and/or its affiliates. +# SPDX-License-Identifier: MIT +# +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + +import copy + + +def extract_boundary_data(data): + boundary_data = [] + object_mapping = data.get("general", {}).get("object_mapping", {}) + read_only_cols = [] + selection_dict = {} + headings = ["Boundary Name", "Boundary Type", "Selected Objects", "BC Name 1", "Value 1", "BC Name 2", "Value 2"] + type_list = ["text", "text", "multiple_text", "text", "text", "text", "text"] + + # Convert mapping to ensure all values are names (some are lists) + id_to_name = {} + for obj_id, value in object_mapping.items(): + if isinstance(value, list): # Some entries have extra data in a list + id_to_name[obj_id] = value[0] # Extract the name + else: + id_to_name[obj_id] = value # Direct mapping + + all_objects = [obj_name for obj_name, obj_details in data.get("objects", {}).items()] + selection_dict["Selected Objects"] = all_objects + + for boundary_name, boundary_details in data.get("boundaries", {}).items(): + cols = [1, 2, 4, 6] + boundary_type = boundary_details.get("BoundType", "") + if boundary_type == "Block": + use_total_power = boundary_details.get("Use Total Power", "") + use_external_conditions = boundary_details.get("Use External Conditions", "") + if use_total_power: + bc_name1 = "Total Power" + bc_name2 = "N/A" + value2 = "0.0" + value1 = boundary_details.get("Total Power", "0W") # Default to "0W" if missing + object_ids = boundary_details.get("Objects", []) # Default to empty list if missing + selected_objects = [id_to_name[str(obj_id)] for obj_id in object_ids] + boundary_data.append( + [boundary_name, boundary_type, selected_objects, bc_name1, value1, bc_name2, value2] + ) + cols.append(7) + read_only_cols.append(cols) + elif use_external_conditions: + bc_name1 = "Heat Transfer Coefficient" + bc_name2 = "Temperature" + value1 = boundary_details.get("Heat Transfer Coefficient", "0w_per_m2k") + value2 = boundary_details.get("Temperature", "0cel") + object_ids = boundary_details.get("Objects", []) # Default to empty list if missing + selected_objects = [id_to_name[str(obj_id)] for obj_id in object_ids] + boundary_data.append( + [boundary_name, boundary_type, selected_objects, bc_name1, value1, bc_name2, value2] + ) + read_only_cols.append(cols) + else: + bc_name1 = "Power Density" + bc_name2 = "N/A" + value2 = "0.0" + value1 = boundary_details.get("Power Density", "0w_per_m3") + object_ids = boundary_details.get("Objects", []) # Default to empty list if missing + selected_objects = [id_to_name[str(obj_id)] for obj_id in object_ids] + boundary_data.append( + [boundary_name, boundary_type, selected_objects, bc_name1, value1, bc_name2, value2] + ) + cols.append(7) + read_only_cols.append(cols) + + if boundary_type == "Source": + thermal_condition = boundary_details.get("Thermal Condition", "") + if thermal_condition == "Surface Flux": + bc_name1 = "Surface Heat" + bc_name2 = "N/A" + value1 = boundary_details.get("Surface Heat", "0kW_per_m2") + value2 = "0.0" + object_ids = boundary_details.get("Faces", []) # Default to empty list if missing + selected_objects = [str(ids) for ids in object_ids] + boundary_data.append( + [boundary_name, boundary_type, selected_objects, bc_name1, value1, bc_name2, value2] + ) + cols.append(3) + cols.append(7) + read_only_cols.append(cols) + if thermal_condition == "Total Power": + bc_name1 = "Total Power" + bc_name2 = "N/A" + value1 = boundary_details.get("Total Power", "0W") + value2 = "0.0" + object_ids = boundary_details.get("Faces", []) # Default to empty list if missing + selected_objects = [str(ids) for ids in object_ids] + boundary_data.append( + [boundary_name, boundary_type, selected_objects, bc_name1, value1, bc_name2, value2] + ) + cols.append(3) + cols.append(7) + read_only_cols.append(cols) + if thermal_condition == "Fixed Temperature": + bc_name1 = "Fixed Temperature" + bc_name2 = "N/A" + value1 = boundary_details.get("Temperature", "0cel") + value2 = "0.0" + object_ids = boundary_details.get("Faces", []) # Default to empty list if missing + selected_objects = [str(ids) for ids in object_ids] + boundary_data.append( + [boundary_name, boundary_type, selected_objects, bc_name1, value1, bc_name2, value2] + ) + cols.append(3) + cols.append(7) + read_only_cols.append(cols) + return headings, type_list, selection_dict, boundary_data, read_only_cols + + +def extract_model_data(data): + object_data = [] + bulk_materials = set() + surface_materials = set() + headings = ["Object Name", "Bulk Material", "Surface Material", "Solve Inside", "Modeling"] + type_list = ["text", "combo", "combo", "combo", "combo"] + selection_dict = {"Solve Inside": ["True", "False"], "Modeling": ["Model", "Non-Model"]} + read_only_cols = [] + + for obj_name, obj_details in data.get("objects", {}).items(): + cols = [1] + component_name = obj_name + bulk_material = obj_details.get("Material", "") + surface_material = obj_details.get("SurfaceMaterial", "") + solve = obj_details.get("SolveInside", "") + if solve: + solve_inside = "True" + else: + solve_inside = "False" + + model = obj_details.get("Model", "") + + if model: + modelling = "Model" + else: + modelling = "Non-Model" + + if bulk_material == '""' or bulk_material == "": + bulk_material = "Not Specified" + bulk_materials.add(bulk_material) + else: + bulk_materials.add(bulk_material) + + if surface_material == '""': + surface_material = surface_material.strip('"') + data["objects"][obj_name]["SurfaceMaterial"] = surface_material + surface_material = "Not Specified" + surface_materials.add(surface_material) + elif surface_material == "": + surface_material = "Not Specified" + surface_materials.add(surface_material) + elif surface_material is None: + surface_material = "Not Specified" + surface_materials.add(surface_material) + else: + surface_material = surface_material.strip('"') + data["objects"][obj_name]["SurfaceMaterial"] = surface_material # removing "" in the source + surface_materials.add(surface_material) + + object_data.append([component_name, bulk_material, surface_material, solve_inside, modelling]) + read_only_cols.append(cols) + selection_dict["Bulk Material"] = list(bulk_materials) + selection_dict["Surface Material"] = list(surface_materials) + return headings, type_list, selection_dict, object_data, read_only_cols + + +def extract_material_data(data): + materials = data.get("materials", {}) + extracted_data = [] + read_only_cols = [] + headings = [ + "Material Name", + "Material Type", + "Thermal Conductivity", + "Mass Density", + "Specific Heat", + "Thermal Expansion Coefficient", + "Diffusivity", + "Viscosity", + ] + type_list = ["text", "text", "text", "text", "text", "text", "text", "text"] + selection_dict = {} + + for mat_name, mat_details in materials.items(): + cols = [1] + material_type = mat_details.get("thermal_material_type", {}).get("Choice", "N/A") + # make material type read only + cols.append(2) + if material_type == "Solid" or material_type == "N/A": + cols.append(8) + thermal_conductivity = mat_details.get("thermal_conductivity", "N/A") + # Handle anisotropic thermal conductivity case + if isinstance(thermal_conductivity, dict): + thermal_conductivity = thermal_conductivity["property_type"] + cols.append(3) + mass_density = mat_details.get("mass_density", "N/A") + specific_heat = mat_details.get("specific_heat", "N/A") + thermal_expansion_coefficient = mat_details.get("thermal_expansion_coefficient", "N/A") + + diffusivity = mat_details.get("diffusivity", "N/A") + viscosity = mat_details.get("viscosity", "N/A") + + extracted_data.append( + [ + mat_name, + material_type, + thermal_conductivity, + mass_density, + specific_heat, + thermal_expansion_coefficient, + diffusivity, + viscosity, + ] + ) + read_only_cols.append(cols) + return headings, type_list, selection_dict, extracted_data, read_only_cols + + +def compare_and_update_boundary_data(original_data, modified_object_data, object_mapping): + """ + Compares modified object data with the original data and identifies differences. + Also returns the updated original data with the modifications applied. + """ + # updated_data = copy.deepcopy(original_data) # Make a copy to avoid modifying original + differences = [] + inverse_mapping = {str(v): k for k, v in object_mapping.items()} + + updated_data = {"boundaries": {}, "general": {}} + updated_data["general"]["object_mapping"] = {**original_data["general"]["object_mapping"], **inverse_mapping} + modified_boundary = set() + for row in modified_object_data: + (boundary_name, boundary_type, selected_objects, bc_name1, value1, bc_name2, value2) = row + + original_obj = original_data["boundaries"][boundary_name] + updated_data["boundaries"][boundary_name] = copy.deepcopy(original_data["boundaries"][boundary_name]) + + # Convert string values back to boolean where necessary + + # Check for differences and update + if isinstance(selected_objects, list): + selected_object_ids = [int(i) if str(i).isdigit() else object_mapping[i] for i in selected_objects] + + if isinstance(selected_objects, str): + selected_object_ids = [ + int(i.strip()) if str(i.strip()).isdigit() else object_mapping[i.strip()] + for i in selected_objects.split(",") + ] + + original_obj_ids = original_obj.get("Objects", []) + if original_obj_ids: + if set(original_obj_ids) != set(selected_object_ids): + differences.append(f"{boundary_name}: {bc_name1} selected objects changed to '{selected_objects}'") + updated_data["boundaries"][boundary_name]["Objects"] = selected_object_ids + modified_boundary.add(boundary_name) + + if original_obj.get(bc_name1, "") != value1: + differences.append( + f"{boundary_name}: {bc_name1} changed from '{original_obj.get(bc_name1, '')}' to '{value1}'" + ) + updated_data["boundaries"][boundary_name][bc_name1] = value1 + modified_boundary.add(boundary_name) + + if bc_name2 != "N/A": + if original_obj.get(bc_name2, "") != value2: + differences.append( + f"{boundary_name}: {bc_name1} changed from '{original_obj.get(bc_name1, '')}' to '{value1}'" + ) + updated_data["boundaries"][boundary_name][bc_name2] = value2 + modified_boundary.add(boundary_name) + + modified_data = {"boundaries": {}, "general": {}} + modified_data["general"]["object_mapping"] = {**original_data["general"]["object_mapping"], **inverse_mapping} + for boundary_name in modified_boundary: + modified_data["boundaries"][boundary_name] = copy.deepcopy(updated_data["boundaries"][boundary_name]) + + return differences, modified_data + + +def compare_and_update_model_data(original_data, modified_object_data): + """ + Compares modified object data with the original data and identifies differences. + Also returns the updated original data with the modifications applied. + """ + updated_data = {"objects": {}} + differences = [] + modified_objects = set() + + for row in modified_object_data: + obj_name, bulk_material, surface_material, solve_inside, modelling = row + + original_obj = original_data["objects"][obj_name] + updated_data["objects"][obj_name] = copy.deepcopy(original_data["objects"][obj_name]) + + # Convert string values back to boolean where necessary + solve_inside_bool = solve_inside == "True" + modelling_bool = modelling == "Model" + + # Check for differences and update + if not bulk_material == "Not Specified": + if original_obj.get("Material", "") != bulk_material: + differences.append( + f"{obj_name}: Bulk Material changed from '{original_obj.get('Material', '')}' to '{bulk_material}'" + ) + updated_data["objects"][obj_name]["Material"] = bulk_material + modified_objects.add(obj_name) + + if not surface_material == "Not Specified": + if original_obj.get("SurfaceMaterial", "") != surface_material: + differences.append( + f"""{obj_name}: Surface Material changed from '{original_obj.get("SurfaceMaterial", "")}' to + '{surface_material}'""" + ) + updated_data["objects"][obj_name]["SurfaceMaterial"] = surface_material + modified_objects.add(obj_name) + + if original_obj.get("SolveInside", "") != solve_inside_bool: + differences.append( + f"""{obj_name}: Solve Inside changed from '{original_obj.get("SolveInside", "")}' + to '{solve_inside_bool}'""" + ) + updated_data["objects"][obj_name]["SolveInside"] = str(solve_inside_bool) + modified_objects.add(obj_name) + + if original_obj.get("Model", "") != modelling_bool: + differences.append( + f"{obj_name}: Modeling changed from '{original_obj.get('Model', '')}' to '{modelling_bool}'" + ) + updated_data["objects"][obj_name]["Model"] = str(modelling_bool) + updated_data["objects"][obj_name]["SurfaceMaterial"] = None + modified_objects.add(obj_name) + + modified_data = {"objects": {}} + for obj_name in modified_objects: + modified_data["objects"][obj_name] = copy.deepcopy(updated_data["objects"][obj_name]) + + return differences, modified_data + + +def compare_and_update_material_data(original_data, modified_object_data): + """ + Compares modified object data with the original data and identifies differences. + Also returns the updated original data with the modifications applied. + """ + differences = [] + updated_data = {"materials": {}} + + modified_materials = set() + for row in modified_object_data: + ( + mat_name, + material_type, + thermal_conductivity, + mass_density, + specific_heat, + thermal_expansion_coefficient, + diffusivity, + viscosity, + ) = row + + original_obj = original_data["materials"][mat_name] + updated_data["materials"][mat_name] = copy.deepcopy(original_data["materials"][mat_name]) + + # Check for differences and update + if not isinstance(original_obj.get("thermal_conductivity"), dict): + if original_obj.get("thermal_conductivity", "") != thermal_conductivity: + differences.append( + f"""{mat_name}: Thermal Conductivity changed from '{original_obj.get("thermal_conductivity", "")}' + to '{thermal_conductivity}'""" + ) + updated_data["materials"][mat_name]["thermal_conductivity"] = thermal_conductivity + modified_materials.add(mat_name) + + if original_obj.get("mass_density", "") != mass_density: + differences.append( + f"{mat_name}: Mass density changed from '{original_obj.get('mass_density', '')}' to '{mass_density}'" + ) + updated_data["materials"][mat_name]["mass_density"] = mass_density + modified_materials.add(mat_name) + + if original_obj.get("specific_heat", "") != specific_heat: + differences.append( + f"{mat_name}: specific heat changed from '{original_obj.get('specific_heat', '')}' to '{specific_heat}'" + ) + updated_data["materials"][mat_name]["specific_heat"] = specific_heat + modified_materials.add(mat_name) + + if original_obj.get("thermal_expansion_coefficient", "") != thermal_expansion_coefficient: + differences.append( + f"{mat_name}: Thermal expansion coefficient changed " + f"from '{original_obj.get('thermal_expansion_coefficient', '')}' to '{thermal_expansion_coefficient}'" + ) + updated_data["materials"][mat_name]["thermal_expansion_coefficient"] = thermal_expansion_coefficient + modified_materials.add(mat_name) + + if original_obj.get("diffusivity", "") != diffusivity: + differences.append( + f"{mat_name}: diffusivity changed from '{original_obj.get('diffusivity', '')}' to '{diffusivity}'" + ) + updated_data["materials"][mat_name]["diffusivity"] = diffusivity + modified_materials.add(mat_name) + + if original_obj.get("viscosity", "") != viscosity: + differences.append( + f"{mat_name}: viscosity changed from '{original_obj.get('diffusivity', '')}' to '{diffusivity}'" + ) + updated_data["materials"][mat_name]["viscosity"] = viscosity + modified_materials.add(mat_name) + + modified_data = {"materials": {}} + for mat_name in modified_materials: + modified_data["materials"][mat_name] = copy.deepcopy(updated_data["materials"][mat_name]) + return differences, modified_data diff --git a/src/ansys/aedt/core/extensions/icepak/toolkits_catalog.toml b/src/ansys/aedt/core/extensions/icepak/toolkits_catalog.toml index 5f80444b917..4eb4b74e94f 100644 --- a/src/ansys/aedt/core/extensions/icepak/toolkits_catalog.toml +++ b/src/ansys/aedt/core/extensions/icepak/toolkits_catalog.toml @@ -1,20 +1,11 @@ [CreatePowerMap] -icon = "images/large/power_map.png" name = "Create Power Map from CSV file" script = "power_map_from_csv.py" +icon = "images/large/power_map.png" template = "run_pyaedt_toolkit_script" -url = "https://aedt.docs.pyansys.com/version/stable/User_guide/pyaedt_extensions_doc/icepak/create_power_map.html" - -[FieldsCalculator] # HFSS, Icepak, HFSS 3D, Maxwell 3D, Q3D, Maxwell 2D, Q2D, Mechanical -icon = "../common/images/large/fields.png" -name = "Advanced Fields Calculator" -script = "../common/advanced_fields_calculator.py" -template = "run_pyaedt_toolkit_script" -url = "https://aedt.docs.pyansys.com/version/stable/User_guide/pyaedt_extensions_doc/project/advanced_fields_calculator.html" -[PointCloudGenerator] # HFSS, Icepak, HFSS 3D, Maxwell 3D, Q3D, Mechanical, Maxwell 2D -icon = "../common/images/large/cloud.png" -name = "Point Cloud Generator" -script = "../common/points_cloud.py" -template = "run_pyaedt_toolkit_script" -url = "https://aedt.docs.pyansys.com/version/stable/User_guide/pyaedt_extensions_doc/project/point_cloud_generator.html" +[IcepakModelReviewer] +name = "Icepak Model Reviewer" +script = "icepak_model_reviewer.py" +icon = "images/large/push.png" +template = "run_pyaedt_toolkit_script" \ No newline at end of file diff --git a/src/ansys/aedt/core/extensions/misc.py b/src/ansys/aedt/core/extensions/misc.py index fee9cacd9f5..e8cb2f902da 100644 --- a/src/ansys/aedt/core/extensions/misc.py +++ b/src/ansys/aedt/core/extensions/misc.py @@ -1038,6 +1038,19 @@ def _apply_theme(self, style, colors): foreground=[("active", "black"), ("!active", "black")], ) + style.configure( + "PyAEDT.Treeview", + background=colors["widget_bg"], + fieldbackground=colors["widget_bg"], + foreground=colors["text"], + font=self.default_font, + ) + + # Treeview headings + style.configure( + "PyAEDT.Treeview.Heading", background=colors["widget_bg"], foreground=colors["text"], font=self.default_font + ) + def __string_to_bool(v): # pragma: no cover """Change string to bool.""" diff --git a/src/ansys/aedt/core/generic/configurations.py b/src/ansys/aedt/core/generic/configurations.py index f9e2accd1cd..597f4a4d6e5 100644 --- a/src/ansys/aedt/core/generic/configurations.py +++ b/src/ansys/aedt/core/generic/configurations.py @@ -896,6 +896,7 @@ def _update_boundaries(self, name, props): if not self.options.skip_import_if_exists: bound.props.update({k: props[k] for k in bound.props if k in props}) bound.update() + bound.update_assignment() return True bound = BoundaryObject(self._app, name, props, props["BoundType"]) if bound.props.get("Independent", None): diff --git a/tests/system/extensions/example_models/T45/Graphics_Card.aedt b/tests/system/extensions/example_models/T45/Graphics_Card.aedt new file mode 100644 index 00000000000..daec8388b4c --- /dev/null +++ b/tests/system/extensions/example_models/T45/Graphics_Card.aedt @@ -0,0 +1,3098 @@ +$begin 'AnsoftProject' + Created='Thu Mar 02 13:18:51 2017' + Product='ElectronicsDesktop' + FileOwnedByWorkbench=false + $begin 'Desktop' + Version(2025, 1) + InfrastructureVersion(1, 0) + $begin 'FactoryHeader' + $begin 'geometry3deditor' + KernelVersion(2, 0) + ProjectContainsGeometry3D='1' + $end 'geometry3deditor' + $end 'FactoryHeader' + $end 'Desktop' + UsesAdvancedFeatures=false + NextUniqueID=0 + MoveBackwards=false + $begin 'HFSSEnvironment' + Version(1, 0) + $end 'HFSSEnvironment' + $begin 'PlanarEMEnvironment' + Version(1, 0) + $end 'PlanarEMEnvironment' + $begin 'Q3DEnvironment' + Version(1, 0) + $end 'Q3DEnvironment' + $begin '2DExtractorEnvironment' + Version(1, 0) + $end '2DExtractorEnvironment' + $begin 'NexximEnvironment' + Version(1, 0) + $end 'NexximEnvironment' + $begin 'NexximNetlistEnvironment' + Version(1, 0) + $end 'NexximNetlistEnvironment' + $begin 'EmitEnvironment' + Version(1, 0) + $end 'EmitEnvironment' + $begin 'Maxwell3DEnvironment' + Version(1, 0) + $end 'Maxwell3DEnvironment' + $begin 'Maxwell2DEnvironment' + Version(1, 0) + $end 'Maxwell2DEnvironment' + $begin 'RMxprtEnvironment' + Version(1, 0) + $end 'RMxprtEnvironment' + $begin 'MaxCirEnvironment' + Version(1, 0) + $end 'MaxCirEnvironment' + $begin 'SimplorerEnvironment' + Version(1, 0) + $end 'SimplorerEnvironment' + $begin 'IcepakEnvironment' + Version(1, 0) + $end 'IcepakEnvironment' + $begin 'MechanicalEnvironment' + Version(1, 0) + $end 'MechanicalEnvironment' + $begin 'SchematicEnvironment' + Version(1, 0) + $end 'SchematicEnvironment' + $begin 'geometry3deditor' + Version(1, 0) + $end 'geometry3deditor' + ReadVersion=12 + $begin 'DesignMgrEnvironment' + CompInstCounter=1 + GPortCounter=0 + NetCounter=0 + Alias('Ieee;Simplorer Elements\\Ieee', 'Std;Simplorer Elements\\Std', 'Basic_VHDLAMS;Simplorer Elements\\Basic Elements VHDLAMS\\Basic Elements VHDLAMS', 'Digital_Elements;Simplorer Elements\\Digital Elements\\Digital Elements', 'Transformations;Simplorer Elements\\Tools\\Transformations\\Transformations', 'HEV_VHDLAMS;Simplorer Elements\\HEV VHDLAMS\\HEV VHDLAMS', 'automotive_vda;Simplorer Elements\\VDALibs VHDLAMS\\automotive_vda', 'example_boardnet;Simplorer Elements\\VDALibs VHDLAMS\\example_boardnet', 'example_ecar;Simplorer Elements\\VDALibs VHDLAMS\\example_ecar', 'fundamentals_vda;Simplorer Elements\\VDALibs VHDLAMS\\fundamentals_vda', 'hybrid_emc_vda;Simplorer Elements\\VDALibs VHDLAMS\\hybrid_emc_vda', 'megma;Simplorer Elements\\VDALibs VHDLAMS\\megma', 'modelica_rotational;Simplorer Elements\\VDALibs VHDLAMS\\modelica_rotational', 'modelica_thermal;Simplorer Elements\\VDALibs VHDLAMS\\modelica_thermal', 'modelica_translational;Simplorer Elements\\VDALibs VHDLAMS\\modelica_translational', 'spice2vhd;Simplorer Elements\\VDALibs VHDLAMS\\spice2vhd', 'spice2vhd_devices;Simplorer Elements\\VDALibs VHDLAMS\\spice2vhd_devices', 'aircraft_electrical_vhdlams;Simplorer Elements\\Aircraft Electrical VHDLAMS\\Aircraft Electrical VHDLAMS', 'power_system_vhdlams;Simplorer Elements\\Power System VHDLAMS\\Power System VHDLAMS') + $end 'DesignMgrEnvironment' + $begin 'ProjectDatasets' + NextUniqueID=1 + MoveBackwards=false + DatasetType='ProjectDatasetType' + $begin 'DatasetDefinitions' + $begin '$Ceramic_material_39' + ID=0 + $begin 'Coordinates' + DimUnits[2: '', ''] + Points[8: -273.15, 0.067032967032967, -196.15, 0.067032967032967, 99.85, 1, 726.85, 1] + $end 'Coordinates' + $end '$Ceramic_material_39' + $end 'DatasetDefinitions' + $end 'ProjectDatasets' + VariableOrders[0:] + $begin 'Definitions' + $begin 'Materials' + $begin 'Al-Extruded' + CoordinateSystemType='Cartesian' + BulkOrSurfaceType=1 + $begin 'PhysicsTypes' + set('Thermal') + $end 'PhysicsTypes' + $begin 'AttachedData' + $begin 'MatAppearanceData' + property_data='appearance_data' + Red=232 + Green=235 + Blue=235 + $end 'MatAppearanceData' + $end 'AttachedData' + permittivity='1' + permeability='1' + conductivity='0' + dielectric_loss_tangent='0' + magnetic_loss_tangent='0' + thermal_conductivity='152' + mass_density='2000' + specific_heat='900' + youngs_modulus='0' + poissons_ratio='0' + thermal_expansion_coefficient='0' + $begin 'thermal_material_type' + property_type='ChoiceProperty' + Choice='Solid' + $end 'thermal_material_type' + diffusivity='0.8' + molecular_mass='0' + viscosity='0' + $begin 'clarity_type' + property_type='ChoiceProperty' + Choice='Opaque' + $end 'clarity_type' + ModTime=1753886315 + Library='' + LibLocation='Project' + ModSinceLib=true + $end 'Al-Extruded' + $begin 'air' + CoordinateSystemType='Cartesian' + BulkOrSurfaceType=1 + $begin 'PhysicsTypes' + set('Electromagnetic', 'Thermal') + $end 'PhysicsTypes' + $begin 'AttachedData' + $begin 'MatAppearanceData' + property_data='appearance_data' + Red=230 + Green=230 + Blue=230 + Transparency=0.949999988079071 + $end 'MatAppearanceData' + $end 'AttachedData' + permittivity='1.0006' + permeability='1.0000004' + conductivity='0' + dielectric_loss_tangent='0' + magnetic_loss_tangent='0' + thermal_conductivity='0.0261' + mass_density='1.1614' + specific_heat='1005' + youngs_modulus='0' + poissons_ratio='0' + thermal_expansion_coefficient='0.00333' + $begin 'thermal_material_type' + property_type='ChoiceProperty' + Choice='Fluid' + $end 'thermal_material_type' + diffusivity='2.88e-05' + molecular_mass='0.028966' + viscosity='1.84e-05' + material_refractive_index='1.000293' + $begin 'clarity_type' + property_type='ChoiceProperty' + Choice='Transparent' + $end 'clarity_type' + ModTime=1753886316 + Library='' + LibLocation='Project' + ModSinceLib=true + $end 'air' + $begin 'PCB_Material' + CoordinateSystemType='Cartesian' + BulkOrSurfaceType=1 + $begin 'PhysicsTypes' + set('Thermal') + $end 'PhysicsTypes' + $begin 'AttachedData' + $begin 'MatAppearanceData' + property_data='appearance_data' + Red=210 + Green=105 + Blue=30 + Transparency=0 + $end 'MatAppearanceData' + $end 'AttachedData' + permittivity='1' + permeability='1' + conductivity='0' + dielectric_loss_tangent='0' + magnetic_loss_tangent='0' + thermal_conductivity='0.01' + mass_density='1' + specific_heat='2' + youngs_modulus='0' + poissons_ratio='0' + thermal_expansion_coefficient='1' + diffusivity='0.8' + molecular_mass='0' + viscosity='0' + ModTime=1753886315 + Library='' + LibLocation='Project' + ModSinceLib=true + $end 'PCB_Material' + $begin 'Ceramic_material' + CoordinateSystemType='Cartesian' + BulkOrSurfaceType=1 + $begin 'PhysicsTypes' + set('Thermal') + $end 'PhysicsTypes' + $begin 'AttachedData' + $begin 'MatAppearanceData' + property_data='appearance_data' + Red=0 + Green=100 + Blue=0 + Transparency=0 + $end 'MatAppearanceData' + $end 'AttachedData' + $begin 'ModifierData' + $begin 'ThermalModifierData' + modifier_data='thermal_modifier_data' + $begin 'all_thermal_modifiers' + $end 'all_thermal_modifiers' + $end 'ThermalModifierData' + $end 'ModifierData' + permittivity='1' + permeability='1' + conductivity='0' + dielectric_loss_tangent='0' + magnetic_loss_tangent='0' + thermal_conductivity='15' + mass_density='2500' + specific_heat='910' + youngs_modulus='0' + poissons_ratio='0' + thermal_expansion_coefficient='0' + $begin 'thermal_material_type' + property_type='ChoiceProperty' + Choice='Solid' + $end 'thermal_material_type' + diffusivity='0.8' + molecular_mass='0' + viscosity='0' + ModTime=1753886315 + Library='' + LibLocation='Project' + ModSinceLib=true + $end 'Ceramic_material' + $end 'Materials' + $begin 'SurfaceMaterials' + $begin 'Steel-oxidised-surface' + CoordinateSystemType='Cartesian' + BulkOrSurfaceType=2 + $begin 'PhysicsTypes' + set('Thermal') + $end 'PhysicsTypes' + surface_emissivity='0.8' + ModTime=1461288057 + Library='SurfaceMaterials' + LibLocation='SysLibrary' + ModSinceLib=false + $end 'Steel-oxidised-surface' + $begin 'Shellac dull-surface' + CoordinateSystemType='Cartesian' + BulkOrSurfaceType=2 + $begin 'PhysicsTypes' + set('Thermal') + $end 'PhysicsTypes' + surface_emissivity='0.91' + ModTime=1461288057 + Library='SurfaceMaterials' + LibLocation='SysLibrary' + ModSinceLib=false + $end 'Shellac dull-surface' + $begin 'Shellac-Bright-surface' + CoordinateSystemType='Cartesian' + BulkOrSurfaceType=2 + $begin 'PhysicsTypes' + set('Thermal') + $end 'PhysicsTypes' + surface_emissivity='0.82' + ModTime=1461288057 + Library='SurfaceMaterials' + LibLocation='SysLibrary' + ModSinceLib=false + $end 'Shellac-Bright-surface' + $begin 'Soft Rubber-Gray-surface' + CoordinateSystemType='Cartesian' + BulkOrSurfaceType=2 + $begin 'PhysicsTypes' + set('Thermal') + $end 'PhysicsTypes' + surface_emissivity='0.86' + ModTime=1461288057 + Library='SurfaceMaterials' + LibLocation='SysLibrary' + ModSinceLib=false + $end 'Soft Rubber-Gray-surface' + $end 'SurfaceMaterials' + $begin 'Scripts' + $end 'Scripts' + $begin 'Symbols' + $begin 'IcepakDesign1' + ModTime=1488469606 + Library='' + ModSinceLib=false + LibLocation='Project' + HighestLevel=1 + Normalize=true + InitialLevels(0, 1) + $begin 'Graphics' + Rect(0, 0, 0, 0, 0.00254, 0.00254, 0.00508, 0.00508, 0, 0, 0) + Rect(0, 1, 0, 0, 0.000423333333333333, 0.00254, 0.000423333333333333, 0.000423333333333334, 0, 0, 0) + $end 'Graphics' + $end 'IcepakDesign1' + $end 'Symbols' + $begin 'DefInfo' + IcepakDesign1(1002, 0, 0, 0, '', 1488469606, '', 'IcepakDesign1', '', '', '', '', '', 'Design.bmp', '', 'Project', '', '', 1488469606, '', 0, 0) + $end 'DefInfo' + $begin 'Compdefs' + $begin 'IcepakDesign1' + Library='' + CircuitEnv=0 + Refbase='U' + NumParts=1 + ModSinceLib=true + $begin 'Properties' + TextProp('Representation', 'SRD', '', 'IcepakDesign1') + TextProp('Owner', 'SRD', '', 'Icepak') + $end 'Properties' + CompExtID=6 + $begin 'Parameters' + ButtonProp('CosimDefinition', 'D', '', 'Edit', 'Edit', 40501, ButtonPropClientData()) + MenuProp('CoSimulator', 'D', '', 'DefaultNetlist', 0) + $end 'Parameters' + $begin 'CosimDefinitions' + $begin 'CosimDefinition' + CosimulatorType=4 + CosimDefName='DefaultNetlist' + IsDefinition=true + Connect=true + Data() + GRef() + $end 'CosimDefinition' + DefaultCosim='DefaultNetlist' + $end 'CosimDefinitions' + $end 'IcepakDesign1' + $end 'Compdefs' + $end 'Definitions' + DesignIDServer=2 + MoveBackwards=false + $begin 'IcepakModel' + RepRewriteV2=true + Name='IcepakDesign1' + DesignID=0 + 'Perform Minimal validation'=true + 'Default Fluid Material'='air' + 'Default Solid Material'='Al-Extruded' + 'Default Surface Material'='Steel-Oxidised-surface' + AmbientTemperature='20cel' + AmbientPressure='0n_per_meter_sq' + AmbientRadiationTemperature='20cel' + 'Gravity Vector CS ID'=1 + 'Gravity Vector Axis'='Y' + Positive=false + ExportOnSimulationComplete=false + ExportDirectory='' + SherlockExportOnSimulationComplete=false + SherlockExportAsFatigue=true + SherlockExportDirectory='D:/Siva_Coding/Graphics_Card.aedtexport/IcepakDesign1/' + AutoLaunchMeshViewer=true + MeshCadAsLightWeight=true + EnableTransitionTemplate=false + TempSecondaryGradientSkewMesh=false + EnableMeshByLayerFor2DMLM=false + BoundaryBasedMeshRefinement=false + EnableAltitudeEffects=false + UpdateFanCurve=false + Altitude='0meter' + EnableIdealGasLaw=false + OperatingPressure='101325n_per_meter_sq' + EnableOperatingDensity=false + OperatingDensity='1.225kg_per_m3' + AppendTemplateToFieldsSummaryReport=false + EnableLoadSolution=false + $begin 'SolutionTypeOption' + SolutionTypeOption='SteadyState' + ProblemOption='TemperatureAndFlow' + $end 'SolutionTypeOption' + $begin 'OutputVariable' + NextUniqueID=0 + MoveBackwards=false + $end 'OutputVariable' + $begin 'ModelSetup' + $begin 'DesignDatasets' + NextUniqueID=0 + MoveBackwards=false + DatasetType='DesignDatasetType' + $begin 'DatasetDefinitions' + $end 'DatasetDefinitions' + $end 'DesignDatasets' + VariableOrders[0:] + $begin 'Editor3D Doc Preferences' + BackgroundColorVersion=1 + 'Plane Background'=0 + 'Need Lights'=true + 'Ambient Light'=9671571 + 'Num Lights'=4 + Light0[4: 6710886, 0, -1, -0.150000005960464] + Light1[4: 6710886, -0.600000023841858, 0.100000001490116, -0.5] + Light2[4: 6710886, 0.5, 0.100000001490116, -0.5] + Light3[4: 6710886, 0.200000002980232, 0.400000005960464, 1] + Ver=2 + $end 'Editor3D Doc Preferences' + SnapMode=31 + WorkingCS=1 + $begin 'GeometryCore' + BlockVersionID=3 + DataVersion=170 + NativeKernel='PARASOLID' + NativeKernelVersionID=25 + Units='mm' + ModelExtents=10000 + InstanceID=-1 + $begin 'ValidationOptions' + EntityCheckLevel='Basic' + IgnoreUnclassifiedObjects=true + SkipIntersectionChecks=true + $end 'ValidationOptions' + ContainsGeomLinkUDM=false + $begin 'GeometryOperations' + BlockVersionID=2 + $begin 'AnsoftRangedIDServerManager' + $begin 'AnsoftRangedIDServer' + IDServerObjectTypeID=0 + IDServerRangeMin=0 + IDServerRangeMax=2146483647 + NextUniqueID=609 + MoveBackwards=false + $end 'AnsoftRangedIDServer' + $begin 'AnsoftRangedIDServer' + IDServerObjectTypeID=1 + IDServerRangeMin=2146483648 + IDServerRangeMax=2146485547 + NextUniqueID=2146483654 + MoveBackwards=false + $end 'AnsoftRangedIDServer' + $end 'AnsoftRangedIDServerManager' + StartBackGroundFaceID=2146483648 + $begin 'CoordinateSystems' + $end 'CoordinateSystems' + $begin 'OperandCSs' + $end 'OperandCSs' + $begin 'SubModelDefinitions' + $end 'SubModelDefinitions' + $begin 'Groups' + $begin 'Group' + GroupID=477 + $begin 'Attributes' + Name='graphics_card_simple' + ParentGroupID=-1 + $end 'Attributes' + $end 'Group' + $end 'Groups' + $begin 'UserDefinedModels' + $end 'UserDefinedModels' + $begin 'OperandUserDefinedModels' + $end 'OperandUserDefinedModels' + $begin 'ToplevelParts' + $begin 'GeometryPart' + $begin 'Attributes' + Name='Region' + Flags='Wireframe#' + Color='(0 0 0)' + Transparency=0 + PartCoordinateSystem=1 + UDMId=-1 + GroupId=-1 + MaterialValue='"air"' + SurfaceMaterialValue='""' + SolveInside=true + ShellElement=false + ShellElementThickness='0mm' + ReferenceTemperature='20cel' + IsMaterialEditable=true + IsSurfaceMaterialEditable=true + UseMaterialAppearance=false + IsLightweight=false + IsAlwaysHidden=false + $end 'Attributes' + $begin 'PhysicsAttributes' + SuppressedForPhysics='False' + SuppressedForPhysicsEditable=true + $end 'PhysicsAttributes' + $begin 'Operations' + $begin 'Operation' + OperationType='Region' + ID=5 + ReferenceCoordSystemID=1 + $begin 'RegionParameters' + KernelVersion=9 + '+XPaddingType'='Percentage Offset' + '+XPadding'='50' + '-XPaddingType'='Percentage Offset' + '-XPadding'='50' + '+YPaddingType'='Percentage Offset' + '+YPadding'='50' + '-YPaddingType'='Percentage Offset' + '-YPadding'='50' + '+ZPaddingType'='Percentage Offset' + '+ZPadding'='50' + '-ZPaddingType'='Percentage Offset' + '-ZPadding'='50' + $begin 'BoxForVirtualObjects' + LowPoint[3: 1, 1, 1] + HighPoint[3: -1, -1, -1] + $end 'BoxForVirtualObjects' + $end 'RegionParameters' + ParentPartID=6 + ReferenceUDMID=-1 + IsSuppressed=false + $begin 'OperationIdentity' + $begin 'Topology' + NumLumps=1 + NumShells=1 + NumFaces=6 + NumWires=0 + NumLoops=6 + NumCoedges=24 + NumEdges=12 + NumVertices=8 + $end 'Topology' + BodyID=6 + StartFaceID=7 + StartEdgeID=13 + StartVertexID=25 + NumNewFaces=6 + NumNewEdges=12 + NumNewVertices=8 + FaceNameAndIDMap() + EdgeNameAndIDMap() + VertexNameAndIDMap() + IsXZ2DModeler=false + $end 'OperationIdentity' + $end 'Operation' + $end 'Operations' + $begin 'SubregionDependencyInformation' + ChildSubregions[0:] + $end 'SubregionDependencyInformation' + $end 'GeometryPart' + $begin 'GeometryPart' + $begin 'Attributes' + Name='SERIAL_PORT' + Flags='' + Color='(175 175 175)' + Transparency=0 + PartCoordinateSystem=1 + UDMId=-1 + GroupId=477 + MaterialValue='"Al-Extruded"' + SurfaceMaterialValue='"Soft Rubber-Gray-surface"' + SolveInside=true + ShellElement=false + ShellElementThickness='0mm' + ReferenceTemperature='20cel' + IsMaterialEditable=true + IsSurfaceMaterialEditable=true + UseMaterialAppearance=false + IsLightweight=false + IsAlwaysHidden=false + $end 'Attributes' + $begin 'PhysicsAttributes' + SuppressedForPhysics='False' + SuppressedForPhysicsEditable=true + $end 'PhysicsAttributes' + $begin 'Operations' + $begin 'Operation' + OperationType='NativeBody' + ID=33 + ReferenceCoordSystemID=1 + $begin 'NativeBodyParameters' + KernelVersion=9 + SourceFile='D:\\AnsysEM\\AnsysEM18.1\\Win64\\Examples\\Icepak\\Graphics Card\\graphics_card_simple.stp' + $end 'NativeBodyParameters' + ParentPartID=34 + ReferenceUDMID=-1 + IsSuppressed=false + $begin 'OperationIdentity' + $begin 'Topology' + NumLumps=1 + NumShells=1 + NumFaces=6 + NumWires=0 + NumLoops=6 + NumCoedges=24 + NumEdges=12 + NumVertices=8 + $end 'Topology' + BodyID=-1 + StartFaceID=-1 + StartEdgeID=-1 + StartVertexID=-1 + NumNewFaces=0 + NumNewEdges=0 + NumNewVertices=0 + FaceNameAndIDMap() + EdgeNameAndIDMap() + VertexNameAndIDMap() + $end 'OperationIdentity' + BodyType='BRepBody' + $begin 'BodyBlock' + BodyFileNamesVec[1: '0000034.x_b'] + $end 'BodyBlock' + $end 'Operation' + $end 'Operations' + $begin 'SubregionDependencyInformation' + ChildSubregions[0:] + $end 'SubregionDependencyInformation' + $end 'GeometryPart' + $begin 'GeometryPart' + $begin 'Attributes' + Name='MEMORY1' + Flags='' + Color='(175 175 175)' + Transparency=0 + PartCoordinateSystem=1 + UDMId=-1 + GroupId=477 + MaterialValue='"Ceramic_material"' + SurfaceMaterialValue='"Soft Rubber-Gray-surface"' + SolveInside=true + ShellElement=false + ShellElementThickness='0mm' + ReferenceTemperature='20cel' + IsMaterialEditable=true + IsSurfaceMaterialEditable=true + UseMaterialAppearance=false + IsLightweight=false + IsAlwaysHidden=false + $end 'Attributes' + $begin 'PhysicsAttributes' + SuppressedForPhysics='False' + SuppressedForPhysicsEditable=true + $end 'PhysicsAttributes' + $begin 'Operations' + $begin 'Operation' + OperationType='NativeBody' + ID=61 + ReferenceCoordSystemID=1 + $begin 'NativeBodyParameters' + KernelVersion=9 + SourceFile='D:\\AnsysEM\\AnsysEM18.1\\Win64\\Examples\\Icepak\\Graphics Card\\graphics_card_simple.stp' + $end 'NativeBodyParameters' + ParentPartID=62 + ReferenceUDMID=-1 + IsSuppressed=false + $begin 'OperationIdentity' + $begin 'Topology' + NumLumps=1 + NumShells=1 + NumFaces=6 + NumWires=0 + NumLoops=6 + NumCoedges=24 + NumEdges=12 + NumVertices=8 + $end 'Topology' + BodyID=-1 + StartFaceID=-1 + StartEdgeID=-1 + StartVertexID=-1 + NumNewFaces=0 + NumNewEdges=0 + NumNewVertices=0 + FaceNameAndIDMap() + EdgeNameAndIDMap() + VertexNameAndIDMap() + $end 'OperationIdentity' + BodyType='BRepBody' + $begin 'BodyBlock' + BodyFileNamesVec[1: '0000062.x_b'] + $end 'BodyBlock' + $end 'Operation' + $end 'Operations' + $begin 'SubregionDependencyInformation' + ChildSubregions[0:] + $end 'SubregionDependencyInformation' + $end 'GeometryPart' + $begin 'GeometryPart' + $begin 'Attributes' + Name='MEMORY1_1' + Flags='' + Color='(175 175 175)' + Transparency=0 + PartCoordinateSystem=1 + UDMId=-1 + GroupId=477 + MaterialValue='"Ceramic_material"' + SurfaceMaterialValue='"Soft Rubber-Gray-surface"' + SolveInside=true + ShellElement=false + ShellElementThickness='0mm' + ReferenceTemperature='20cel' + IsMaterialEditable=true + IsSurfaceMaterialEditable=true + UseMaterialAppearance=false + IsLightweight=false + IsAlwaysHidden=false + $end 'Attributes' + $begin 'PhysicsAttributes' + SuppressedForPhysics='False' + SuppressedForPhysicsEditable=true + $end 'PhysicsAttributes' + $begin 'Operations' + $begin 'Operation' + OperationType='NativeBody' + ID=89 + ReferenceCoordSystemID=1 + $begin 'NativeBodyParameters' + KernelVersion=9 + SourceFile='D:\\AnsysEM\\AnsysEM18.1\\Win64\\Examples\\Icepak\\Graphics Card\\graphics_card_simple.stp' + $end 'NativeBodyParameters' + ParentPartID=90 + ReferenceUDMID=-1 + IsSuppressed=false + $begin 'OperationIdentity' + $begin 'Topology' + NumLumps=1 + NumShells=1 + NumFaces=6 + NumWires=0 + NumLoops=6 + NumCoedges=24 + NumEdges=12 + NumVertices=8 + $end 'Topology' + BodyID=-1 + StartFaceID=-1 + StartEdgeID=-1 + StartVertexID=-1 + NumNewFaces=0 + NumNewEdges=0 + NumNewVertices=0 + FaceNameAndIDMap() + EdgeNameAndIDMap() + VertexNameAndIDMap() + $end 'OperationIdentity' + BodyType='BRepBody' + $begin 'BodyBlock' + BodyFileNamesVec[1: '0000090.x_b'] + $end 'BodyBlock' + $end 'Operation' + $end 'Operations' + $begin 'SubregionDependencyInformation' + ChildSubregions[0:] + $end 'SubregionDependencyInformation' + $end 'GeometryPart' + $begin 'GeometryPart' + $begin 'Attributes' + Name='CAPACITOR' + Flags='' + Color='(175 175 175)' + Transparency=0 + PartCoordinateSystem=1 + UDMId=-1 + GroupId=477 + MaterialValue='"Ceramic_material"' + SurfaceMaterialValue='"Soft Rubber-Gray-surface"' + SolveInside=true + ShellElement=false + ShellElementThickness='0mm' + ReferenceTemperature='20cel' + IsMaterialEditable=true + IsSurfaceMaterialEditable=true + UseMaterialAppearance=false + IsLightweight=false + IsAlwaysHidden=false + $end 'Attributes' + $begin 'PhysicsAttributes' + SuppressedForPhysics='False' + SuppressedForPhysicsEditable=true + $end 'PhysicsAttributes' + $begin 'Operations' + $begin 'Operation' + OperationType='NativeBody' + ID=117 + ReferenceCoordSystemID=1 + $begin 'NativeBodyParameters' + KernelVersion=9 + SourceFile='D:\\AnsysEM\\AnsysEM18.1\\Win64\\Examples\\Icepak\\Graphics Card\\graphics_card_simple.stp' + $end 'NativeBodyParameters' + ParentPartID=118 + ReferenceUDMID=-1 + IsSuppressed=false + $begin 'OperationIdentity' + $begin 'Topology' + NumLumps=1 + NumShells=1 + NumFaces=4 + NumWires=0 + NumLoops=4 + NumCoedges=12 + NumEdges=6 + NumVertices=4 + $end 'Topology' + BodyID=-1 + StartFaceID=-1 + StartEdgeID=-1 + StartVertexID=-1 + NumNewFaces=0 + NumNewEdges=0 + NumNewVertices=0 + FaceNameAndIDMap() + EdgeNameAndIDMap() + VertexNameAndIDMap() + $end 'OperationIdentity' + BodyType='BRepBody' + $begin 'BodyBlock' + BodyFileNamesVec[1: '0000118.x_b'] + $end 'BodyBlock' + $end 'Operation' + $end 'Operations' + $begin 'SubregionDependencyInformation' + ChildSubregions[0:] + $end 'SubregionDependencyInformation' + $end 'GeometryPart' + $begin 'GeometryPart' + $begin 'Attributes' + Name='CAPACITOR_1' + Flags='' + Color='(175 175 175)' + Transparency=0 + PartCoordinateSystem=1 + UDMId=-1 + GroupId=477 + MaterialValue='"Ceramic_material"' + SurfaceMaterialValue='"Soft Rubber-Gray-surface"' + SolveInside=true + ShellElement=false + ShellElementThickness='0mm' + ReferenceTemperature='20cel' + IsMaterialEditable=true + IsSurfaceMaterialEditable=true + UseMaterialAppearance=false + IsLightweight=false + IsAlwaysHidden=false + $end 'Attributes' + $begin 'PhysicsAttributes' + SuppressedForPhysics='False' + SuppressedForPhysicsEditable=true + $end 'PhysicsAttributes' + $begin 'Operations' + $begin 'Operation' + OperationType='NativeBody' + ID=133 + ReferenceCoordSystemID=1 + $begin 'NativeBodyParameters' + KernelVersion=9 + SourceFile='D:\\AnsysEM\\AnsysEM18.1\\Win64\\Examples\\Icepak\\Graphics Card\\graphics_card_simple.stp' + $end 'NativeBodyParameters' + ParentPartID=134 + ReferenceUDMID=-1 + IsSuppressed=false + $begin 'OperationIdentity' + $begin 'Topology' + NumLumps=1 + NumShells=1 + NumFaces=4 + NumWires=0 + NumLoops=4 + NumCoedges=12 + NumEdges=6 + NumVertices=4 + $end 'Topology' + BodyID=-1 + StartFaceID=-1 + StartEdgeID=-1 + StartVertexID=-1 + NumNewFaces=0 + NumNewEdges=0 + NumNewVertices=0 + FaceNameAndIDMap() + EdgeNameAndIDMap() + VertexNameAndIDMap() + $end 'OperationIdentity' + BodyType='BRepBody' + $begin 'BodyBlock' + BodyFileNamesVec[1: '0000134.x_b'] + $end 'BodyBlock' + $end 'Operation' + $end 'Operations' + $begin 'SubregionDependencyInformation' + ChildSubregions[0:] + $end 'SubregionDependencyInformation' + $end 'GeometryPart' + $begin 'GeometryPart' + $begin 'Attributes' + Name='KB' + Flags='' + Color='(175 175 175)' + Transparency=0 + PartCoordinateSystem=1 + UDMId=-1 + GroupId=477 + MaterialValue='"Al-Extruded"' + SurfaceMaterialValue='"Soft Rubber-Gray-surface"' + SolveInside=true + ShellElement=false + ShellElementThickness='0mm' + ReferenceTemperature='20cel' + IsMaterialEditable=true + IsSurfaceMaterialEditable=true + UseMaterialAppearance=false + IsLightweight=false + IsAlwaysHidden=false + $end 'Attributes' + $begin 'PhysicsAttributes' + SuppressedForPhysics='False' + SuppressedForPhysicsEditable=true + $end 'PhysicsAttributes' + $begin 'Operations' + $begin 'Operation' + OperationType='NativeBody' + ID=149 + ReferenceCoordSystemID=1 + $begin 'NativeBodyParameters' + KernelVersion=9 + SourceFile='D:\\AnsysEM\\AnsysEM18.1\\Win64\\Examples\\Icepak\\Graphics Card\\graphics_card_simple.stp' + $end 'NativeBodyParameters' + ParentPartID=150 + ReferenceUDMID=-1 + IsSuppressed=false + $begin 'OperationIdentity' + $begin 'Topology' + NumLumps=1 + NumShells=1 + NumFaces=6 + NumWires=0 + NumLoops=6 + NumCoedges=24 + NumEdges=12 + NumVertices=8 + $end 'Topology' + BodyID=-1 + StartFaceID=-1 + StartEdgeID=-1 + StartVertexID=-1 + NumNewFaces=0 + NumNewEdges=0 + NumNewVertices=0 + FaceNameAndIDMap() + EdgeNameAndIDMap() + VertexNameAndIDMap() + $end 'OperationIdentity' + BodyType='BRepBody' + $begin 'BodyBlock' + BodyFileNamesVec[1: '0000150.x_b'] + $end 'BodyBlock' + $end 'Operation' + $end 'Operations' + $begin 'SubregionDependencyInformation' + ChildSubregions[0:] + $end 'SubregionDependencyInformation' + $end 'GeometryPart' + $begin 'GeometryPart' + $begin 'Attributes' + Name='HEAT_SINK' + Flags='' + Color='(175 175 175)' + Transparency=0 + PartCoordinateSystem=1 + UDMId=-1 + GroupId=477 + MaterialValue='"Al-Extruded"' + SurfaceMaterialValue='"Soft Rubber-Gray-surface"' + SolveInside=true + ShellElement=false + ShellElementThickness='0mm' + ReferenceTemperature='20cel' + IsMaterialEditable=true + IsSurfaceMaterialEditable=true + UseMaterialAppearance=false + IsLightweight=false + IsAlwaysHidden=false + $end 'Attributes' + $begin 'PhysicsAttributes' + SuppressedForPhysics='False' + SuppressedForPhysicsEditable=true + $end 'PhysicsAttributes' + $begin 'Operations' + $begin 'Operation' + OperationType='NativeBody' + ID=177 + ReferenceCoordSystemID=1 + $begin 'NativeBodyParameters' + KernelVersion=9 + SourceFile='D:\\AnsysEM\\AnsysEM18.1\\Win64\\Examples\\Icepak\\Graphics Card\\graphics_card_simple.stp' + $end 'NativeBodyParameters' + ParentPartID=178 + ReferenceUDMID=-1 + IsSuppressed=false + $begin 'OperationIdentity' + $begin 'Topology' + NumLumps=1 + NumShells=1 + NumFaces=42 + NumWires=0 + NumLoops=42 + NumCoedges=240 + NumEdges=120 + NumVertices=80 + $end 'Topology' + BodyID=-1 + StartFaceID=-1 + StartEdgeID=-1 + StartVertexID=-1 + NumNewFaces=0 + NumNewEdges=0 + NumNewVertices=0 + FaceNameAndIDMap() + EdgeNameAndIDMap() + VertexNameAndIDMap() + $end 'OperationIdentity' + BodyType='BRepBody' + $begin 'BodyBlock' + BodyFileNamesVec[1: '0000178.x_b'] + $end 'BodyBlock' + $end 'Operation' + $end 'Operations' + $begin 'SubregionDependencyInformation' + ChildSubregions[1: 581] + $end 'SubregionDependencyInformation' + $end 'GeometryPart' + $begin 'GeometryPart' + $begin 'Attributes' + Name='CPU' + Flags='' + Color='(175 175 175)' + Transparency=0 + PartCoordinateSystem=1 + UDMId=-1 + GroupId=477 + MaterialValue='"Al-Extruded"' + SurfaceMaterialValue='"Steel-oxidised-surface"' + SolveInside=true + ShellElement=false + ShellElementThickness='0mm' + ReferenceTemperature='20cel' + IsMaterialEditable=true + IsSurfaceMaterialEditable=true + UseMaterialAppearance=false + IsLightweight=false + IsAlwaysHidden=false + $end 'Attributes' + $begin 'PhysicsAttributes' + SuppressedForPhysics='False' + SuppressedForPhysicsEditable=true + $end 'PhysicsAttributes' + $begin 'Operations' + $begin 'Operation' + OperationType='NativeBody' + ID=421 + ReferenceCoordSystemID=1 + $begin 'NativeBodyParameters' + KernelVersion=9 + SourceFile='D:\\AnsysEM\\AnsysEM18.1\\Win64\\Examples\\Icepak\\Graphics Card\\graphics_card_simple.stp' + $end 'NativeBodyParameters' + ParentPartID=422 + ReferenceUDMID=-1 + IsSuppressed=false + $begin 'OperationIdentity' + $begin 'Topology' + NumLumps=1 + NumShells=1 + NumFaces=6 + NumWires=0 + NumLoops=6 + NumCoedges=24 + NumEdges=12 + NumVertices=8 + $end 'Topology' + BodyID=-1 + StartFaceID=-1 + StartEdgeID=-1 + StartVertexID=-1 + NumNewFaces=0 + NumNewEdges=0 + NumNewVertices=0 + FaceNameAndIDMap() + EdgeNameAndIDMap() + VertexNameAndIDMap() + $end 'OperationIdentity' + BodyType='BRepBody' + $begin 'BodyBlock' + BodyFileNamesVec[1: '0000422.x_b'] + $end 'BodyBlock' + $end 'Operation' + $end 'Operations' + $begin 'SubregionDependencyInformation' + ChildSubregions[0:] + $end 'SubregionDependencyInformation' + $end 'GeometryPart' + $begin 'GeometryPart' + $begin 'Attributes' + Name='ALPHA_MAIN_PCB' + Flags='' + Color='(175 175 175)' + Transparency=0 + PartCoordinateSystem=1 + UDMId=-1 + GroupId=477 + MaterialValue='"Al-Extruded"' + SurfaceMaterialValue='"Steel-oxidised-surface"' + SolveInside=true + ShellElement=false + ShellElementThickness='0mm' + ReferenceTemperature='20cel' + IsMaterialEditable=true + IsSurfaceMaterialEditable=true + UseMaterialAppearance=false + IsLightweight=false + IsAlwaysHidden=false + $end 'Attributes' + $begin 'PhysicsAttributes' + SuppressedForPhysics='False' + SuppressedForPhysicsEditable=true + $end 'PhysicsAttributes' + $begin 'Operations' + $begin 'Operation' + OperationType='NativeBody' + ID=449 + ReferenceCoordSystemID=1 + $begin 'NativeBodyParameters' + KernelVersion=9 + SourceFile='D:\\AnsysEM\\AnsysEM18.1\\Win64\\Examples\\Icepak\\Graphics Card\\graphics_card_simple.stp' + $end 'NativeBodyParameters' + ParentPartID=450 + ReferenceUDMID=-1 + IsSuppressed=false + $begin 'OperationIdentity' + $begin 'Topology' + NumLumps=1 + NumShells=1 + NumFaces=6 + NumWires=0 + NumLoops=6 + NumCoedges=24 + NumEdges=12 + NumVertices=8 + $end 'Topology' + BodyID=-1 + StartFaceID=-1 + StartEdgeID=-1 + StartVertexID=-1 + NumNewFaces=0 + NumNewEdges=0 + NumNewVertices=0 + FaceNameAndIDMap() + EdgeNameAndIDMap() + VertexNameAndIDMap() + $end 'OperationIdentity' + BodyType='BRepBody' + $begin 'BodyBlock' + BodyFileNamesVec[1: '0000450.x_b'] + $end 'BodyBlock' + $end 'Operation' + $end 'Operations' + $begin 'SubregionDependencyInformation' + ChildSubregions[0:] + $end 'SubregionDependencyInformation' + $end 'GeometryPart' + $begin 'GeometryPart' + $begin 'Attributes' + Name='Box1' + Flags='NonModel#Wireframe#' + Color='(255 0 0)' + Transparency=0 + PartCoordinateSystem=1 + UDMId=-1 + GroupId=-1 + MaterialValue='""' + SurfaceMaterialValue='""' + SolveInside=false + ShellElement=false + ShellElementThickness='0mm' + ReferenceTemperature='20cel' + IsMaterialEditable=true + IsSurfaceMaterialEditable=true + UseMaterialAppearance=false + IsLightweight=false + IsAlwaysHidden=false + $end 'Attributes' + $begin 'PhysicsAttributes' + SuppressedForPhysics='False' + SuppressedForPhysicsEditable=true + $end 'PhysicsAttributes' + $begin 'Operations' + $begin 'Operation' + OperationType='Box' + ID=497 + ReferenceCoordSystemID=1 + $begin 'BoxParameters' + KernelVersion=9 + XPosition='-72mm' + YPosition='-5mm' + ZPosition='-63mm' + XSize='67mm' + YSize='38mm' + ZSize='52mm' + $end 'BoxParameters' + ParentPartID=498 + ReferenceUDMID=-1 + IsSuppressed=false + $begin 'OperationIdentity' + $begin 'Topology' + NumLumps=1 + NumShells=1 + NumFaces=6 + NumWires=0 + NumLoops=6 + NumCoedges=24 + NumEdges=12 + NumVertices=8 + $end 'Topology' + BodyID=498 + StartFaceID=499 + StartEdgeID=505 + StartVertexID=517 + NumNewFaces=6 + NumNewEdges=12 + NumNewVertices=8 + FaceNameAndIDMap() + EdgeNameAndIDMap() + VertexNameAndIDMap() + $end 'OperationIdentity' + $end 'Operation' + $end 'Operations' + $begin 'SubregionDependencyInformation' + ChildSubregions[1: 553] + $end 'SubregionDependencyInformation' + $end 'GeometryPart' + $begin 'GeometryPart' + $begin 'Attributes' + Name='MeshRegion1_SubRegion' + Flags='NonModel#Wireframe#' + Color='(255 0 0)' + Transparency=0 + PartCoordinateSystem=1 + UDMId=-1 + GroupId=-1 + MaterialValue='""' + SurfaceMaterialValue='""' + SolveInside=true + ShellElement=false + ShellElementThickness='nan ' + ReferenceTemperature='20cel' + IsMaterialEditable=true + IsSurfaceMaterialEditable=true + UseMaterialAppearance=false + IsLightweight=false + IsAlwaysHidden=false + $end 'Attributes' + $begin 'PhysicsAttributes' + SuppressedForPhysics='False' + SuppressedForPhysicsEditable=true + $end 'PhysicsAttributes' + $begin 'Operations' + $begin 'Operation' + OperationType='SubRegion' + ID=553 + ReferenceCoordSystemID=1 + $begin 'SubRegionParameters' + KernelVersion=24 + '+XPaddingType'='Absolute Offset' + '+XPadding'='0mm' + '-XPaddingType'='Absolute Offset' + '-XPadding'='0mm' + '+YPaddingType'='Absolute Offset' + '+YPadding'='0mm' + '-YPaddingType'='Absolute Offset' + '-YPadding'='0mm' + '+ZPaddingType'='Absolute Offset' + '+ZPadding'='0mm' + '-ZPaddingType'='Absolute Offset' + '-ZPadding'='0mm' + $begin 'BoxForVirtualObjects' + LowPoint[3: 1, 1, 1] + HighPoint[3: -1, -1, -1] + $end 'BoxForVirtualObjects' + SubRegionParts[1: 498] + SubRegionSubmodels[0:] + $end 'SubRegionParameters' + ParentPartID=554 + ReferenceUDMID=-1 + IsSuppressed=false + $begin 'OperationIdentity' + $begin 'Topology' + NumLumps=1 + NumShells=1 + NumFaces=6 + NumWires=0 + NumLoops=6 + NumCoedges=24 + NumEdges=12 + NumVertices=8 + $end 'Topology' + BodyID=554 + StartFaceID=555 + StartEdgeID=561 + StartVertexID=573 + NumNewFaces=6 + NumNewEdges=12 + NumNewVertices=8 + FaceNameAndIDMap() + EdgeNameAndIDMap() + VertexNameAndIDMap() + IsXZ2DModeler=false + $end 'OperationIdentity' + $end 'Operation' + $end 'Operations' + $begin 'SubregionDependencyInformation' + ChildSubregions[0:] + $end 'SubregionDependencyInformation' + $end 'GeometryPart' + $begin 'GeometryPart' + $begin 'Attributes' + Name='MeshRegion2_SubRegion' + Flags='NonModel#Wireframe#' + Color='(143 175 143)' + Transparency=0 + PartCoordinateSystem=1 + UDMId=-1 + GroupId=-1 + MaterialValue='"air"' + SurfaceMaterialValue='""' + SolveInside=true + ShellElement=false + ShellElementThickness='nan ' + ReferenceTemperature='nan ' + IsMaterialEditable=true + IsSurfaceMaterialEditable=true + UseMaterialAppearance=false + IsLightweight=false + IsAlwaysHidden=false + $end 'Attributes' + $begin 'PhysicsAttributes' + SuppressedForPhysics='False' + SuppressedForPhysicsEditable=true + $end 'PhysicsAttributes' + $begin 'Operations' + $begin 'Operation' + OperationType='SubRegion' + ID=581 + ReferenceCoordSystemID=1 + $begin 'SubRegionParameters' + KernelVersion=25 + '+XPaddingType'='Percentage Offset' + '+XPadding'='1' + '-XPaddingType'='Percentage Offset' + '-XPadding'='1' + '+YPaddingType'='Percentage Offset' + '+YPadding'='1' + '-YPaddingType'='Percentage Offset' + '-YPadding'='1' + '+ZPaddingType'='Percentage Offset' + '+ZPadding'='1' + '-ZPaddingType'='Percentage Offset' + '-ZPadding'='1' + $begin 'BoxForVirtualObjects' + LowPoint[3: 1, 1, 1] + HighPoint[3: -1, -1, -1] + $end 'BoxForVirtualObjects' + SubRegionParts[1: 178] + SubRegionSubmodels[0:] + $end 'SubRegionParameters' + ParentPartID=582 + ReferenceUDMID=-1 + IsSuppressed=false + $begin 'OperationIdentity' + $begin 'Topology' + NumLumps=1 + NumShells=1 + NumFaces=6 + NumWires=0 + NumLoops=6 + NumCoedges=24 + NumEdges=12 + NumVertices=8 + $end 'Topology' + BodyID=582 + StartFaceID=583 + StartEdgeID=589 + StartVertexID=601 + NumNewFaces=6 + NumNewEdges=12 + NumNewVertices=8 + FaceNameAndIDMap() + EdgeNameAndIDMap() + VertexNameAndIDMap() + IsXZ2DModeler=false + $end 'OperationIdentity' + $end 'Operation' + $end 'Operations' + $begin 'SubregionDependencyInformation' + ChildSubregions[0:] + $end 'SubregionDependencyInformation' + $end 'GeometryPart' + $end 'ToplevelParts' + $begin 'OperandParts' + $end 'OperandParts' + $begin 'Planes' + $begin 'GeometryPlane' + $begin 'Attributes' + Name='Plane1' + Color='(143 175 143)' + $end 'Attributes' + $begin 'Operation' + OperationType='Plane' + ID=496 + ReferenceCoordSystemID=1 + $begin 'PlaneParameters' + KernelVersion=9 + PlaneBaseX='0mm' + PlaneBaseY='1.6mm' + PlaneBaseZ='-55mm' + PlaneNormalX='0mm' + PlaneNormalY='0mm' + PlaneNormalZ='5mm' + $end 'PlaneParameters' + ParentPartID=-1 + ReferenceUDMID=-1 + $end 'Operation' + $end 'GeometryPlane' + $end 'Planes' + $begin 'Points' + $begin 'GeometryPoint' + $begin 'Attributes' + Name='CPU_Monitor' + Color='(143 175 143)' + $end 'Attributes' + $begin 'Operation' + OperationType='Point' + ID=482 + ReferenceCoordSystemID=1 + $begin 'PointParameters' + KernelVersion=9 + PointX='-37mm' + PointY='3.086mm' + PointZ='-43mm' + $end 'PointParameters' + ParentPartID=-1 + ReferenceUDMID=-1 + $end 'Operation' + $end 'GeometryPoint' + $begin 'GeometryPoint' + $begin 'Attributes' + Name='Memory_Monitor' + Color='(143 175 143)' + $end 'Attributes' + $begin 'Operation' + OperationType='Point' + ID=483 + ReferenceCoordSystemID=1 + $begin 'PointParameters' + KernelVersion=9 + PointX='-35mm' + PointY='3.6mm' + PointZ='-86mm' + $end 'PointParameters' + ParentPartID=-1 + ReferenceUDMID=-1 + $end 'Operation' + $end 'GeometryPoint' + $begin 'GeometryPoint' + $begin 'Attributes' + Name='Point1' + Color='(143 175 143)' + $end 'Attributes' + $begin 'Operation' + OperationType='Point' + ID=485 + ReferenceCoordSystemID=1 + $begin 'PointParameters' + KernelVersion=9 + PointX='80mm' + PointY='14.243mm' + PointZ='-55mm' + $end 'PointParameters' + ParentPartID=-1 + ReferenceUDMID=-1 + $end 'Operation' + $end 'GeometryPoint' + $end 'Points' + $begin 'GeometryEntityLists' + $end 'GeometryEntityLists' + $begin 'RegionIdentity' + $begin 'Topology' + NumLumps=1 + NumShells=1 + NumFaces=6 + NumWires=0 + NumLoops=6 + NumCoedges=24 + NumEdges=12 + NumVertices=8 + $end 'Topology' + BodyID=6 + StartFaceID=7 + StartEdgeID=13 + StartVertexID=25 + NumNewFaces=6 + NumNewEdges=12 + NumNewVertices=8 + FaceNameAndIDMap() + EdgeNameAndIDMap() + VertexNameAndIDMap() + IsXZ2DModeler=false + $end 'RegionIdentity' + $begin 'CachedNames' + $begin 'allobjects' + allobjects(-1) + $end 'allobjects' + $begin 'alpha_main_pcb' + alpha_main_pcb(-1) + $end 'alpha_main_pcb' + $begin 'box' + box(1) + $end 'box' + $begin 'capacitor' + capacitor(-1) + $end 'capacitor' + $begin 'capacitor_' + capacitor_(1) + $end 'capacitor_' + $begin 'cpu' + cpu(-1) + $end 'cpu' + $begin 'cpu_monitor' + cpu_monitor(-1) + $end 'cpu_monitor' + $begin 'global' + global(-1) + $end 'global' + $begin 'graphics_card_simple' + graphics_card_simple(-1) + $end 'graphics_card_simple' + $begin 'heat_sink' + heat_sink(-1) + $end 'heat_sink' + $begin 'kb' + kb(-1) + $end 'kb' + $begin 'memory' + memory(1) + $end 'memory' + $begin 'memory1_' + memory1_(1) + $end 'memory1_' + $begin 'memory_monitor' + memory_monitor(-1) + $end 'memory_monitor' + $begin 'meshregion1_subregion' + meshregion1_subregion(-1) + $end 'meshregion1_subregion' + $begin 'meshregion2_subregion' + meshregion2_subregion(-1) + $end 'meshregion2_subregion' + $begin 'model' + model(-1) + $end 'model' + $begin 'plane' + plane(1) + $end 'plane' + $begin 'point' + point(1) + $end 'point' + $begin 'region' + region(-1) + $end 'region' + $begin 'serial_port' + serial_port(-1) + $end 'serial_port' + $end 'CachedNames' + $end 'GeometryOperations' + $begin 'GeometryDependencies' + $begin 'DependencyInformation' + NumParents=1 + DependencyObject('GeometryBodyOperation', 5) + DependencyObject('CoordinateSystem', 1) + $end 'DependencyInformation' + $begin 'DependencyInformation' + NumParents=1 + DependencyObject('GeometryBodyOperation', 33) + DependencyObject('CoordinateSystem', 1) + $end 'DependencyInformation' + $begin 'DependencyInformation' + NumParents=1 + DependencyObject('GeometryBodyOperation', 61) + DependencyObject('CoordinateSystem', 1) + $end 'DependencyInformation' + $begin 'DependencyInformation' + NumParents=1 + DependencyObject('GeometryBodyOperation', 89) + DependencyObject('CoordinateSystem', 1) + $end 'DependencyInformation' + $begin 'DependencyInformation' + NumParents=1 + DependencyObject('GeometryBodyOperation', 117) + DependencyObject('CoordinateSystem', 1) + $end 'DependencyInformation' + $begin 'DependencyInformation' + NumParents=1 + DependencyObject('GeometryBodyOperation', 133) + DependencyObject('CoordinateSystem', 1) + $end 'DependencyInformation' + $begin 'DependencyInformation' + NumParents=1 + DependencyObject('GeometryBodyOperation', 149) + DependencyObject('CoordinateSystem', 1) + $end 'DependencyInformation' + $begin 'DependencyInformation' + NumParents=1 + DependencyObject('GeometryBodyOperation', 177) + DependencyObject('CoordinateSystem', 1) + $end 'DependencyInformation' + $begin 'DependencyInformation' + NumParents=1 + DependencyObject('GeometryBodyOperation', 421) + DependencyObject('CoordinateSystem', 1) + $end 'DependencyInformation' + $begin 'DependencyInformation' + NumParents=1 + DependencyObject('GeometryBodyOperation', 449) + DependencyObject('CoordinateSystem', 1) + $end 'DependencyInformation' + $begin 'DependencyInformation' + NumParents=1 + DependencyObject('GeometryBodyOperation', 497) + DependencyObject('CoordinateSystem', 1) + $end 'DependencyInformation' + $begin 'DependencyInformation' + NumParents=1 + DependencyObject('GeometryBodyOperation', 553) + DependencyObject('CoordinateSystem', 1) + $end 'DependencyInformation' + $begin 'DependencyInformation' + NumParents=1 + DependencyObject('GeometryBodyOperation', 581) + DependencyObject('CoordinateSystem', 1) + $end 'DependencyInformation' + $begin 'DependencyInformation' + NumParents=1 + DependencyObject('GeometryOperation', 496) + DependencyObject('CoordinateSystem', 1) + $end 'DependencyInformation' + $begin 'DependencyInformation' + NumParents=1 + DependencyObject('GeometryOperation', 482) + DependencyObject('CoordinateSystem', 1) + $end 'DependencyInformation' + $begin 'DependencyInformation' + NumParents=1 + DependencyObject('GeometryOperation', 483) + DependencyObject('CoordinateSystem', 1) + $end 'DependencyInformation' + $begin 'DependencyInformation' + NumParents=1 + DependencyObject('GeometryOperation', 485) + DependencyObject('CoordinateSystem', 1) + $end 'DependencyInformation' + $end 'GeometryDependencies' + $end 'GeometryCore' + $begin 'AssignedEntities' + AssignedObject[7: 62, 90, 150, 178, 422, 554, 582] + $begin 'AssignedFace' + kID=10 + $begin 'FaceData' + ParentObjectID=6 + NormalValid=true + FaceNormal(-1, -0, -0) + $begin 'FaceGeomTopol' + FaceTopol(1, 4, 4, 4) + $begin 'FaceGeometry' + Area=16720 + FcUVMid(-240, 14, -55) + $begin 'FcTolVts' + TolVt(-240, -24, 55, 5e-07) + TolVt(-240, 52, 55, 5e-07) + TolVt(-240, 52, -165, 5e-07) + TolVt(-240, -24, -165, 5e-07) + $end 'FcTolVts' + $end 'FaceGeometry' + $end 'FaceGeomTopol' + $end 'FaceData' + $end 'AssignedFace' + $begin 'AssignedFace' + kID=12 + $begin 'FaceData' + ParentObjectID=6 + NormalValid=true + FaceNormal(1, 0, 0) + $begin 'FaceGeomTopol' + FaceTopol(1, 4, 4, 4) + $begin 'FaceGeometry' + Area=16720 + FcUVMid(80, 14, -55) + $begin 'FcTolVts' + TolVt(80, 52, -165, 5e-07) + TolVt(80, 52, 55, 5e-07) + TolVt(80, -24, 55, 5e-07) + TolVt(80, -24, -165, 5e-07) + $end 'FcTolVts' + $end 'FaceGeometry' + $end 'FaceGeomTopol' + $end 'FaceData' + $end 'AssignedFace' + $begin 'AssignedFace' + kID=155 + $begin 'FaceData' + ParentObjectID=150 + NormalValid=false + $begin 'FaceGeomTopol' + FaceTopol(1, 4, 4, 4) + $begin 'FaceGeometry' + Area=179.2 + FcUVMid(-153.6, 1.6, -102) + $begin 'FcTolVts' + TolVt(-147.2, 1.6, -109, 5e-07) + TolVt(-147.2, 1.6, -95, 5e-07) + TolVt(-160, 1.6, -95, 5e-07) + TolVt(-160, 1.6, -109, 5e-07) + $end 'FcTolVts' + $end 'FaceGeometry' + $end 'FaceGeomTopol' + $end 'FaceData' + $end 'AssignedFace' + $begin 'AssignedFace' + kID=455 + $begin 'FaceData' + ParentObjectID=450 + NormalValid=false + $begin 'FaceGeomTopol' + FaceTopol(1, 4, 4, 4) + $begin 'FaceGeometry' + Area=17600 + FcUVMid(-80, 1.6, -55) + $begin 'FcTolVts' + TolVt(-160, 1.6, 0, 5e-07) + TolVt(0, 1.6, 0, 5e-07) + TolVt(0, 1.6, -110, 5e-07) + TolVt(-160, 1.6, -110, 5e-07) + $end 'FcTolVts' + $end 'FaceGeometry' + $end 'FaceGeomTopol' + $end 'FaceData' + $end 'AssignedFace' + $end 'AssignedEntities' + GroupByMaterial=true + GroupSheetByMaterial=true + GroupCompByDefID=true + DoNotOrganizeUnderGroup=true + DoNotOrganizeUnderComponent=false + OrganizeLightweight=false + ShowGroup=true + $begin 'LastUserInputs' + $end 'LastUserInputs' + $end 'ModelSetup' + $begin '3DComponent' + $begin 'NativeComponentVisualization' + $end 'NativeComponentVisualization' + $end '3DComponent' + $begin 'BoundarySetup' + $begin 'GlobalBoundData' + $end 'GlobalBoundData' + $begin 'Boundaries' + NextUniqueID=6 + MoveBackwards=false + $begin 'Grille1' + ID=0 + BoundType='Grille' + IsComponent=false + Faces(12) + 'Pressure Loss Type'='Coeff' + 'Free Area Ratio'='0.8' + 'Resistance Type'='Perforated Thin Vent' + 'External Rad. Temperature'='AmbientTemp' + 'External Total Pressure'='AmbientPressure' + DimUnits[2: '', ''] + X() + Y() + $end 'Grille1' + $begin 'Opening1' + ID=1 + BoundType='Opening' + IsComponent=false + Faces(10) + Temperature='AmbientTemp' + 'External Rad. Temperature'='AmbientRadTemp' + 'Inlet Type'='Velocity' + 'Static Pressure'='AmbientPressure' + 'X Velocity'='2m_per_sec' + 'Y Velocity'='0m_per_sec' + 'Z Velocity'='0m_per_sec' + 'No Reverse Flow'=false + $end 'Opening1' + $begin 'CPU' + ID=2 + BoundType='Block' + IsComponent=false + Objects(422, 150, 178) + ParentBndID=-1 + 'Block Type'='Solid' + 'Use External Conditions'=false + 'Use Total Power'=true + 'Total Power'='4W' + $end 'CPU' + $begin 'Memory' + ID=3 + BoundType='Block' + IsComponent=false + Objects(62, 90) + ParentBndID=-1 + 'Block Type'='Solid' + 'Use External Conditions'=false + 'Use Total Power'=false + 'Power Density'='5w_per_m3' + $end 'Memory' + $begin 'Source1' + ID=5 + BoundType='Source' + IsComponent=false + Faces(155) + 'Thermal Condition'='Total Power' + 'Total Power'='1W' + 'Surface Heat'='0mW_per_m2' + Temperature='AmbientTemp' + $begin 'Radiation' + Radiate=false + $end 'Radiation' + 'Voltage/Current - Enabled'=false + 'Voltage/Current Option'='Current' + Current='0A' + Voltage='0V' + $end 'Source1' + $end 'Boundaries' + $begin 'ProductSpecificData' + $end 'ProductSpecificData' + $end 'BoundarySetup' + $begin 'Monitor' + $begin 'IcepakMonitors' + NextUniqueID=4 + MoveBackwards=false + $end 'IcepakMonitors' + $end 'Monitor' + $begin 'MeshRegion' + $begin 'MeshSetup' + NextUniqueID=3 + MoveBackwards=false + $begin 'Global' + DType='RegionT' + ID=0 + IsComponent=false + MeshMethod='MesherHD' + UserSpecifiedSettings=true + ComputeGap=true + MaxElementSizeX='16mm' + MaxElementSizeY='3.5mm' + MaxElementSizeZ='11mm' + MinElementsInGap='3' + MinElementsOnEdge='2' + MaxSizeRatio='2' + NoOGrids=false + EnableMLM=true + EnforeMLMType='3D' + MaxLevels='2' + BufferLayers='0' + UniformMeshParametersType='Average' + StairStepMeshing=false + MinGapX='1mm' + MinGapY='1mm' + MinGapZ='1mm' + Objects(6) + StairStepSliderMeshing=false + FacetLevel='3' + ProximitySizeFunction=true + CurvatureSizeFunction=true + EnableTransition=false + OptimizePCBMesh=true + Enable2DCutCell=false + EnforceCutCellMeshing=false + Enforce2dot5DCutCell=false + $end 'Global' + $begin 'MeshRegion1' + DType='RegionT' + ID=1 + IsComponent=false + Enable=true + MeshMethod='MesherHD' + UserSpecifiedSettings=true + MaxElementSizeX='3.35mm' + MaxElementSizeY='1.75mm' + MaxElementSizeZ='2.65mm' + MinElementsInGap='3' + MinElementsOnEdge='2' + MaxSizeRatio='2' + NoOGrids=false + EnableMLM=true + EnforeMLMType='3D' + MaxLevels='2' + BufferLayers='0' + UniformMeshParametersType='Average' + StairStepMeshing=false + '2DMLMType'='2DMLM_None' + MinGapX='1mm' + MinGapY='1mm' + MinGapZ='1mm' + Objects(554) + ProximitySizeFunction=true + CurvatureSizeFunction=true + EnableTransition=false + OptimizePCBMesh=true + Enable2DCutCell=false + EnforceCutCellMeshing=false + Enforce2dot5DCutCell=false + $end 'MeshRegion1' + $begin 'MeshRegion2' + DType='RegionT' + ID=2 + IsComponent=false + Enable=true + MeshMethod='MesherHD' + UserSpecifiedSettings=false + MeshRegionResolution=3 + GeometryBasedMeshing=false + MinGapX='1mm' + MinGapY='1mm' + MinGapZ='1mm' + Objects(582) + ProximitySizeFunction=true + CurvatureSizeFunction=true + EnableTransition=false + OptimizePCBMesh=true + Enable2DCutCell=false + EnforceCutCellMeshing=false + Enforce2dot5DCutCell=false + $end 'MeshRegion2' + $end 'MeshSetup' + $end 'MeshRegion' + $begin 'AnalysisSetup' + $begin 'DesignMeshLink' + ImportMesh=false + $end 'DesignMeshLink' + $begin 'SolveSetups' + NextUniqueID=2 + MoveBackwards=false + $begin 'Setup1' + ID=0 + SetupType='IcepakSteadyState' + Enabled=true + $begin 'MeshLink' + ImportMesh=false + $end 'MeshLink' + 'Flow Regime'='Turbulent' + 'Turbulent Model Eqn'='ZeroEquation' + 'Include Temperature'=true + 'Include Flow'=true + 'Include Gravity'=true + 'Include Solar'=false + 'Solution Initialization - X Velocity'='0m_per_sec' + 'Solution Initialization - Y Velocity'='0m_per_sec' + 'Solution Initialization - Z Velocity'='0m_per_sec' + 'Solution Initialization - Temperature'='AmbientTemp' + 'Solution Initialization - Turbulent Kinetic Energy'='0' + 'Solution Initialization - Turbulent Dissipation Rate'='0' + 'Solution Initialization - Specific Dissipation Rate'='0' + 'Solution Initialization - Use Model Based Flow Initialization'=false + 'Convergence Criteria - Flow'='0.001' + 'Convergence Criteria - Energy'='1e-07' + 'Convergence Criteria - Turbulent Kinetic Energy'='1e-07' + 'Convergence Criteria - Turbulent Dissipation Rate'='1e-07' + 'Convergence Criteria - Specific Dissipation Rate'='0.001' + 'Convergence Criteria - Discrete Ordinates'='1e-06' + 'Convergence Criteria - Joule Heating'='1e-07' + 'GPU Convergence Criteria - Flow'='0.001' + 'GPU Convergence Criteria - Energy'='1e-05' + 'GPU Convergence Criteria - Turbulent Kinetic Energy'='0.001' + 'GPU Convergence Criteria - Turbulent Dissipation Rate'='0.001' + 'GPU Convergence Criteria - Specific Dissipation Rate'='0.001' + 'GPU Convergence Criteria - Discrete Ordinates'='1e-05' + 'GPU Convergence Criteria - Joule Heating'='1e-07' + IsEnabled=false + 'Radiation Model'='Off' + 'Solar Radiation Model'='Solar Radiation Calculator' + 'Solar Enable Participating Solids'=false + 'Solar Radiation - Scattering Fraction'='0' + 'Solar Radiation - North X'='0' + 'Solar Radiation - North Y'='0' + 'Solar Radiation - North Z'='0' + 'Solar Radiation - Day'=1 + 'Solar Radiation - Month'=1 + 'Solar Radiation - Hours'=0 + 'Solar Radiation - Minutes'=0 + 'Solar Radiation - GMT'='0' + 'Solar Radiation - Latitude'='0' + 'Solar Radiation - Latitude Direction'='North' + 'Solar Radiation - Longitude'='0' + 'Solar Radiation - Longitude Direction'='East' + 'Solar Radiation - Ground Reflectance'='0' + 'Solar Radiation - Sunshine Fraction'='0' + 'Under-relaxation - Pressure'='0.3' + 'Under-relaxation - Momentum'='0.7' + 'Under-relaxation - Temperature'='1' + 'Under-relaxation - Turbulent Kinetic Energy'='0.8' + 'Under-relaxation - Turbulent Dissipation Rate'='0.8' + 'Under-relaxation - Specific Dissipation Rate'='0.8' + 'Under-relaxation - Joule Heating'='1' + 'Under-relaxation - Body Force'='1' + 'Under-relaxation - Turbulent Viscosity'='1' + 'Discretization Scheme - Pressure'='Standard' + 'Discretization Scheme - Momentum'='First' + 'Discretization Scheme - Temperature'='First' + 'Secondary Gradient'=false + 'Discretization Scheme - Turbulent Kinetic Energy'='First' + 'Discretization Scheme - Turbulent Dissipation Rate'='First' + 'Discretization Scheme - Specific Dissipation Rate'='First' + 'Discretization Scheme - Discrete Ordinates'='First' + 'Linear Solver Type - Pressure'='flex' + 'Linear Solver Type - Momentum'='flex' + 'Linear Solver Type - Temperature'='flex' + 'Linear Solver Type - Turbulent Kinetic Energy'='flex' + 'Linear Solver Type - Turbulent Dissipation Rate'='flex' + 'Linear Solver Type - Specific Dissipation Rate'='flex' + 'Linear Solver Type - Joule Heating'='F' + 'Linear Solver Termination Criterion - Pressure'='0.1' + 'Linear Solver Termination Criterion - Momentum'='0.1' + 'Linear Solver Termination Criterion - Temperature'='0.1' + 'Linear Solver Termination Criterion - Turbulent Kinetic Energy'='0.1' + 'Linear Solver Termination Criterion - Turbulent Dissipation Rate'='0.1' + 'Linear Solver Termination Criterion - Specific Dissipation Rate'='0.1' + 'Linear Solver Termination Criterion - Joule Heating'='1e-09' + 'Linear Solver Residual Reduction Tolerance - Pressure'='0.1' + 'Linear Solver Residual Reduction Tolerance - Momentum'='0.1' + 'Linear Solver Residual Reduction Tolerance - Temperature'='0.1' + 'Linear Solver Residual Reduction Tolerance - Turbulent Kinetic Energy'='0.1' + 'Linear Solver Residual Reduction Tolerance - Turbulent Dissipation Rate'='0.1' + 'Linear Solver Residual Reduction Tolerance - Specific Dissipation Rate'='0.1' + 'Linear Solver Residual Reduction Tolerance - Joule Heating'='1e-09' + 'Maximum Cycles'='30' + 'Linear Solver Stabilization - Pressure'='None' + 'Linear Solver Stabilization - Temperature'='None' + 'Linear Solver Stabilization - Joule Heating'='None' + 'Coupled pressure-velocity formulation'=false + 'Turn off auto-pairing for grid interface creation'=false + '2D Profile Interpolation Method'='Inverse Distance Weighted' + 'Frozen Flow Simulation'=false + 'TEC Coupling'=false + 'Sequential Solve of Flow and Energy Equations'=false + 'Convergence Criteria - Max Iterations'=100 + $end 'Setup1' + $end 'SolveSetups' + $end 'AnalysisSetup' + $begin 'Optimetrics' + $begin 'OptimetricsSetups' + NextUniqueID=0 + MoveBackwards=false + $end 'OptimetricsSetups' + $end 'Optimetrics' + $begin 'Solutions' + $begin 'FieldsSummarySetting' + $end 'FieldsSummarySetting' + $end 'Solutions' + $begin 'FieldsReporter' + $begin 'FieldsCalculator' + Line_Discretization=1000 + 'Show Stack'=true + $end 'FieldsCalculator' + $begin 'PlotDefaults' + Default_SolutionId=15 + Default_PlotFolder='Automatic' + $end 'PlotDefaults' + $begin 'FieldsPlotManagerID' + NextUniqueID=5 + MoveBackwards=false + NumQuantityType=1 + $begin 'QuantityFolder_1' + PlotFolder='Temperature' + PlotFolderInstance=1 + FolderSettingsType=11 + 'Real time mode'=true + $begin 'ColorMapSettings' + ColorMapType='Spectrum' + SpectrumType='Rainbow' + UniformColor(127, 255, 255) + RampColor(255, 127, 127) + $end 'ColorMapSettings' + $begin 'Scale3DSettings' + unit=80 + m_nLevels=15 + minvalue=20.3477725982666 + maxvalue=57.7943649291992 + log=false + IntrinsicMin=20.3477725982666 + IntrinsicMax=57.7943649291992 + LimitFieldValuePrecision=false + FieldValuePrecisionDigits=4 + dB=false + AnimationStaticScale=false + ScaleType=0 + UserSpecifyValues(16, 20.3477725982666, 22.8442115783691, 25.3406524658203, 27.8370914459229, 30.3335304260254, 32.8299713134766, 35.3264083862305, 37.8228530883789, 40.3192901611328, 42.8157272338867, 45.3121719360352, 47.8086090087891, 50.305046081543, 52.8014907836914, 55.2979278564453, 57.7943649291992) + ValueNumberFormatTypeAuto=1 + ValueNumberFormatTypeScientific=true + ValueNumberFormatWidth=12 + ValueNumberFormatPrecision=4 + $end 'Scale3DSettings' + $begin 'Marker3DSettings' + MarkerType=9 + MarkerMapSize=true + MarkerMapColor=false + MarkerSize=0.25 + $end 'Marker3DSettings' + $begin 'Arrow3DSettings' + ArrowType=1 + ArrowMapSize=true + ArrowMapColor=true + ShowArrowTail=true + ArrowSize=0.25 + ArrowMinMagnitude=19.8477725982666 + ArrowMaxMagnitude=58.2943649291992 + ArrowMagnitudeThreshold=19.8477725982666 + ArrowMagnitudeFilteringFlag=false + ArrowMinIntrinsicMagnitude=19.8477725982666 + ArrowMaxIntrinsicMagnitude=58.2943649291992 + $end 'Arrow3DSettings' + $end 'QuantityFolder_1' + NumPlots=1 + $begin 'PlotDefinition_1' + PlotDefinitionType='Mesh_field_type' + PlotName='Temperature1' + PlotDefinitionId=4 + VersionID=473 + SolutionId=15 + UserSpecifyName=0 + UserSpecifyFolder=0 + QuantityId=1 + PlotFolder='Temperature' + StreamlinePlot=false + AdjacentSidePlot=false + FullModelPlot=false + IntrinsicVar='' + FieldPlotGeometry(1, 128, 2, 1, 455) + FilterIds(0) + $begin 'PlotOnSurfaceSettings' + Filled=false + IsoValType='Fringe' + AddGrid=false + MapTransparency=true + Refinement=0 + Transparency=0 + SmoothingLevel=0 + ShadingType=0 + $begin 'Arrow3DSpacingSettings' + ArrowUniform=true + ArrowSpacing=2.91247320175171 + MinArrowSpacing=1.94164872169495 + MaxArrowSpacing=3.88329744338989 + $end 'Arrow3DSpacingSettings' + GridColor(255, 255, 255) + $end 'PlotOnSurfaceSettings' + EnableGaussianSmoothing=false + SurfaceOnly=false + $end 'PlotDefinition_1' + $end 'FieldsPlotManagerID' + $begin 'Report3dInGeomWnd' + Report3dNum=0 + $end 'Report3dInGeomWnd' + $begin 'Report2dInGeomWnd' + Report2dNum=0 + $end 'Report2dInGeomWnd' + $begin 'AntennaParametersInGeomWnd' + AntennaParametersNum=0 + $end 'AntennaParametersInGeomWnd' + AntennaParametersPlotTablesOrder() + $end 'FieldsReporter' + $begin 'SolutionManager' + $begin 'SimSetup' + TypeName='BaseSetup' + ID=14 + Name='Setup1' + $begin 'Solution' + ID=15 + Name='SteadyState' + $begin 'SimDataExtractor' + $begin 'QuantityIDs' + NextUniqueID=0 + MoveBackwards=false + IDMap() + $end 'QuantityIDs' + SimValue('Temperature', 1, 80, false, SimValueID=1083, 3, 0, 2, 0, false, false, 455, 1, 0, 1, 1, '', 0, 0) + $begin 'Sweeps' + $begin 'Sweep' + Variable='X' + Column='0' + Units='' + $end 'Sweep' + $end 'Sweeps' + $end 'SimDataExtractor' + $end 'Solution' + $end 'SimSetup' + $begin 'Version ID Map' + V=1085 + $begin 'Setup' + N='Setup1' + V=1084 + Soln(N='SteadyState', V=1085) + $end 'Setup' + $end 'Version ID Map' + $begin 'ID Map' + $begin 'Setup' + N='Setup1' + I=14 + Soln(N='SteadyState', I=15) + $end 'Setup' + $end 'ID Map' + ValidationCacheHeader='HDR18F0205928160286062711.tmp' + $end 'SolutionManager' + $begin 'UserDefinedSolutionMgr' + NextUniqueID=1000000 + MoveBackwards=false + $end 'UserDefinedSolutionMgr' + $begin 'DatasetSolutionMgr' + NextUniqueID=2000000 + MoveBackwards=false + $end 'DatasetSolutionMgr' + Notes=$begin_cdata$ $end_cdata$ + $begin 'AnimationSetups' + $end 'AnimationSetups' + CacheHeaderFile='HDR6EE53479217413415443.tmp' + $end 'IcepakModel' + $begin 'DataInstances' + DesignEditor='TopLevel' + Refdes('0', 'U1') + $begin 'CompInstances' + $begin 'Compinst' + ID='0' + Status='Status' + CompName='IcepakDesign1' + GatesInUse() + $begin 'Properties' + TextProp('ID', 'SRID', '', '0') + $end 'Properties' + $begin 'Parameters' + MenuProp('CoSimulator', 'OHD', '', 'DefaultNetlist', 0) + ButtonProp('CosimDefinition', 'OHD', '', 'Edit', 'Edit', 40501, ButtonPropClientData()) + $end 'Parameters' + $end 'Compinst' + $end 'CompInstances' + $begin 'Instance' + DesignEditor='IcepakDesign1' + ID='0' + $begin 'IcepakDesignInstance' + DesignInstanceID=1 + $begin 'WindowPosition' + $begin 'EditorWindow' + Circuit(Editor3d(View('View Orientation Gadget'=1, WindowPos(3, -1, -1, -9, -38, 200, 200, 992, 435), OrientationMatrix(0.00372929591685534, -0.00215311022475362, 0.0030449575278908, 0, 0.00372929591685534, 0.00215311022475362, -0.0030449575278908, 0, 0, 0.00430622044950724, 0.0030449575278908, 0, 0.246133506298065, 0.0344497710466385, -5.28414821624756, 1, 0, -1.55345916748047, 1.55345916748047, -1, 1, 0.520563125610352, 10.9551305770874), Drawings[12: 'Region', 'SERIAL_PORT', 'MEMORY1', 'MEMORY1_1', 'CAPACITOR', 'CAPACITOR_1', 'KB', 'HEAT_SINK', 'CPU', 'ALPHA_MAIN_PCB', 'Box1', 'MeshRegion2_SubRegion'], 'View Data'('Render Mode'=1, 'Show Ruler'=1, 'Coordinate Systems View Mode'=0, 'CS Triad View Mode'=0, 'Render Facets'=1, GridVisible=1, GridAutoAdjust=1, GridAutoExtents=1, GridType='Rect', GridStyle='Line', NumPixels=30, dXForGrid=20, dYForGrid=20, dZForGrid=20, dRForGrid=20, dThetaForGrid=10), ClipPlanes(ClipPlaneOptions(DisableWhenDrawingNewPlane=true, ForceOpqaueForUnclipped=false, ShowClipped=false, Transparency=0, HandleColor=16776960))))) + $end 'EditorWindow' + $end 'WindowPosition' + $begin 'ReportSetup' + $begin 'ReportManager' + $begin 'Reports' + $end 'Reports' + NextUniqueID=0 + MoveBackwards=false + $begin 'NextVersID' + NextUniqueID=0 + MoveBackwards=false + $end 'NextVersID' + $end 'ReportManager' + $begin 'Reports' + $end 'Reports' + $begin 'ReportsWindowInfoList' + $end 'ReportsWindowInfoList' + $end 'ReportSetup' + $begin 'Properties' + $end 'Properties' + $begin 'UserDefinedDocument' + $begin 'Data' + $end 'Data' + $end 'UserDefinedDocument' + $end 'IcepakDesignInstance' + $end 'Instance' + $begin 'SODInfo' + $begin 'IcepakDesign1' + $begin 'CosimDefinition' + CosimDefName='DefaultNetlist' + $begin 'SODInstanceMap' + $end 'SODInstanceMap' + SODComponentList() + $end 'CosimDefinition' + $end 'IcepakDesign1' + $end 'SODInfo' + $end 'DataInstances' + $begin 'WBSystemIDToDesignInstanceIDMap' + $end 'WBSystemIDToDesignInstanceIDMap' + $begin 'WBSysIDSysDetails' + $end 'WBSysIDSysDetails' + $begin 'WBConnIDConnDetails' + $end 'WBConnIDConnDetails' + $begin 'WBMaterialGuidDetails' + WBMaterialGuidMap() + $end 'WBMaterialGuidDetails' + $begin 'MinervaProjectSettingsBlk' + MinervaRemoteFilePath='' + FolderContainerString='' + $end 'MinervaProjectSettingsBlk' +$end 'AnsoftProject' +$begin 'AllReferencedFilesForProject' +$begin 'Design_0.setup/NativeGeometryFiles' +NumFiles= 9 +$begin 'x_b' +Design_0.setup/NativeGeometryFiles/0000034.x_b +BIN000000008453 +**ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz************************** +**PARASOLID !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~0123456789************************** +**PART1; +MC=unknown; +MC_MODEL=unknown; +MC_ID=unknown; +OS=unknown; +OS_RELEASE=unknown; +FRU=sdl_parasolid_customer_support; +APPL=Electronics Desktop; +SITE=unknown; +USER=unknown; +FORMAT=binary; +GUISE=transmit; +KEY=C:/Users/skrishna/AppData/Local/Temp/Gra0F28101217539472302.setup/Design_0.setup/NativeGeometryFiles/0000034.x_b; +FILE=C:/Users/skrishna/AppData/Local/Temp/Gra0F28101217539472302.setup/Design_0.setup/NativeGeometryFiles/0000034.x_b; +DATE=unknown; +**PART2; +SCH=SCH_3601185_36001; +USFLD_SIZE=0; +**PART3; +**END_OF_HEADER***************************************************************** +B3: TRANSMIT FILE created by modeller version 3601185SCH_3601185_36001_13006็ฐPART_XMT_BLOCK Part list n_entriesdindex_map_offsetd index_mapRschema_embedding_mapRmesh_offset_dataฮentriesํ $CCCIlatticeCCCImesh๎Ipolyline๐CCCCCCCDIownerCCCIboundary_latticeCCCI boundary_mesh๎Iboundary_polyline๐CCCAindex_map_offsetdA index_mapRAnode_id_index_mapRAschema_embedding_mapRAchild Alowest_node_iddAmesh_offset_dataฮZ@@:Œ0โŽyE> +   @@:Œ0โŽyE>QF CI list_typeuI +notransmitlCCCDCCDI finger_indexdI finger_block๔CZ  CCCCCCIframeๆCAowner ZVn™’ผยJCIindex_map_offsetdCCZQQPCCCCCDI legal_ownerslCZ DS@@O SDL/TYSA_DENSITYP!"(#TUNIT=mmO"AEDT_EntityName_V1P#$(#S{ฎGแz„?O$AEDT_ExtentScale_V1Q%&'F(( $)*2 *+,+{ฎGแz๖ฟฉ๑าMb?ฃEถ๓ิุฟ๐ฟ๐ฟ +>-.+{ฎGแz๖ฟปI +‡ฦ?{ฎGแzดฟ๐ฟ 2/0š™™™™™๙ฟปI +‡ฦ?{ฎGแzดฟ *1V 2n™’ผย34563/7n™’ผยQ6ƒ89:;3<=>? @+/:AB n™’ผย7.CDš™™™™™๙ฟฉ๑าMb?{ฎGแzดฟC-EF7{ฎGแz๖ฟฉ๑าMb?{ฎGแzดฟD/G7H{ฎGแz๖ฟปI +‡ฦ?{ฎGแzดฟG IJKLDn™’ผยH0BD0š™™™™™๙ฟปI +‡ฦ?ฃEถ๓ิุฟBMN/KHn™’ผย01LH {ฎGแz๖ฟปI +‡ฦ?ฃEถ๓ิุฟL OPGE0n™’ผยQOˆ8LIQRPSTULVWX+EQYLZCn™’ผยQQ‰8EO[\Y]^_E@`a+Z[bEcn™’ผยQ[Š8ZQdbef?ZghT+c+ZF{ฎGแz๖ฟฉ๑าMb?ฃEถ๓ิุฟF,KcCš™™™™™๙ฟฉ๑าMb?ฃEถ๓ิุฟKi?BGFn™’ผยQi†8KMIj?eb@K3 >-e@k@e?fY`_-><3NKUlg+<"N)N<>=BA4V+USPgB>l-lmn™’ผย>WhngSUTKbh-Sg+TSgPZopq+hrn™’ผยblstQr~8humvws vn™’ผย^h-xt:hyz+š™™™™™๙ฟฉ๑าMb?ฃEถ๓ิุฟ๐?y9Wxt+š™™™™™๙ฟปI +‡ฦ?ฃEถ๓ิุฟ๐?z;{t|+š™™™™™๙ฟฉ๑าMb?{ฎGแzดฟ๐?{}n™’ผย=`~z|<~z.+š™™™™™๙ฟปI +‡ฦ?{ฎGแzดฟ๐?~n™’ผยJ{W|.=4| ++š™™™™™๙ฟปI +‡ฦ?{ฎGแzดฟ๐ฟ4€n™’ผยN `.Q€x842‚ƒ`‚n™’ผยY4{„Q‚y8`…€}†„7`‡x+š™™™™™๙ฟฉ๑าMb?{ฎGแzดฟ๐?‡6p5„+{ฎGแz๖ฟปI +‡ฦ?ฃEถ๓ิุฟ๐ฟx8s„y+{ฎGแz๖ฟฉ๑าMb?{ฎGแzดฟ๐?pˆn™’ผยT-‰‡55 n‡+š™™™™™๙ฟฉ๑าMb?ฃEถ๓ิุฟ๐?n4lŠ5+š™™™™™๙ฟปI +‡ฦ?ฃEถ๓ิุฟ๐ฟŠ3‰n+{ฎGแz๖ฟฉ๑าMb?ฃEถ๓ิุฟ๐?‰9n™’ผยfpŠQ9‚8‰‹ˆ6Œfe@bEq‰+qoaZf‰-qŽoqLTp-aqE^sf-aoGX--^]YGas+]‘]_^/J~-_]Y={-J’XAG~^+’V“X’VJL-o+A’JV/N4=-V’AXBPWU-=<N3/_{+W”n™’ผยP~lyQ”|8W•m–P8—˜(#Q•e™W”š›œQ{8~š}”Qm}8l›”ržR–/Q›f™lm•uŸRž.P™ AQug™hr›กขSŸ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Qกh™svuฃคSข๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Qv8sกrฅฆQฃi™-ฅกงจSค๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?- +ฅn™’ผยXsp +Qฅ€8-ฃvˆฉQงj™pˆฃ‹ชSจ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Qˆ8pงฅ9ซQ‹k™‰9งฌSช๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Sฌ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Rซ*Rฉ+Rฆ,O SDL/TYSA_COLOURQšd™~ญ•ฎQ}z8{ญ‚ฏR0Qญc™{}…šฐRฏ1Q…b™`‚ญฑSฐ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Qa™4€ฒ…ณSฑ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Qฒ`™ 2ดตSณ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Q2w8 ฒถ€ทQด_™ŽถธฒนSต๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Žถn™’ผย+บ++1Qถv8Žดป2ผQธ^™+ปฝดพSน๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?+ ปn™’ผยŽ‘S +Ž‘1Qปu8+ธฟถภQฝ]™‘ฟมธยSพ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?‘ฟn™’ผย+“]ร++“1Qฟt8‘ฝฤปลQม\™“ฤฦฝวSย๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?“ฤn™’ผย‘k’ศ+‘k1Qฤs8“มษฟสQฦ[™kษหมฬSว๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?kษn™’ผย“)eอ+“)1Qษr8kฦฮฤฯQหZ™)ฮฦะSฬ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?)!ฮn™’ผยk<,-k1Qฮq8)หัษาSะ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Qัp8ำิฮีRา(QำnึืัุQิ‹—ั&ูRี"P—ฺ(#Q&ŒิRูฏฏฏ€T SERIAL_PORTOฺAEDT_BODYFlagGroupColor_V1PึQQืm฿ำเT ุSERIAL_PORTPแ(#Q฿YโืใRเPโ™ไhSใ๖๕๕๕๕๕ๅ?๖๕๕๕๕๕ๅ?๖๕๕๕๕๕ๅ?OไSDL/TYSA_COLOUR_2OแAttGS_PS_LayerO SDL/TYSA_NAME2,))อ +š™™™™™๙ฟœฤ ฐrhม?มสกEถ๓อฟ๐?๐? 1 )2อ(kศ,+{ฎGแz๖ฟฉ๑าMb?{ฎGแzดฟ๐ฟ๐ฟ2ศ'“รอ+{ฎGแz๖ฟปI +‡ฦ?ฃEถ๓ิุฟ€๐?๐?2ร&‘บศ+{ฎGแz๖ฟปI +‡ฦ?{ฎGแzดฟ๐?๐?2บ%Žร+{ฎGแz๖ฟœฤ ฐrhม?มสกEถ๓อฟ๐?๐?Rฯ'Rส&Rล%Rภ$Rผ#Rท4Sฎ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Sœ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?O˜AEDT_EntityID_V1RŒ)R†2Rƒ3Rw-QM…8B:iๅQI‡8GiOๆRj9Rๆ8Q:„8/6M็Rๅ:R็;Rd6R\5RR7R;<*# SJ(฿‹ืำ[ิ&P%8่(#T 'Al-ExtrudedO่AEDT_MaterialName_V1$end 'x_b' +$begin 'x_b' +Design_0.setup/NativeGeometryFiles/0000062.x_b +BIN000000008450 +**ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz************************** +**PARASOLID !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~0123456789************************** +**PART1; +MC=unknown; +MC_MODEL=unknown; +MC_ID=unknown; +OS=unknown; +OS_RELEASE=unknown; +FRU=sdl_parasolid_customer_support; +APPL=Electronics Desktop; +SITE=unknown; +USER=unknown; +FORMAT=binary; +GUISE=transmit; +KEY=C:/Users/skrishna/AppData/Local/Temp/Gra0F28101217539472302.setup/Design_0.setup/NativeGeometryFiles/0000062.x_b; +FILE=C:/Users/skrishna/AppData/Local/Temp/Gra0F28101217539472302.setup/Design_0.setup/NativeGeometryFiles/0000062.x_b; +DATE=unknown; +**PART2; +SCH=SCH_3601185_36001; +USFLD_SIZE=0; +**PART3; +**END_OF_HEADER***************************************************************** +B3: TRANSMIT FILE created by modeller version 3601185SCH_3601185_36001_13006็ฐPART_XMT_BLOCK Part list n_entriesdindex_map_offsetd index_mapRschema_embedding_mapRmesh_offset_dataฮentriesํ $CCCIlatticeCCCImesh๎Ipolyline๐CCCCCCCDIownerCCCIboundary_latticeCCCI boundary_mesh๎Iboundary_polyline๐CCCAindex_map_offsetdA index_mapRAnode_id_index_mapRAschema_embedding_mapRAchild Alowest_node_iddAmesh_offset_dataฮZ@@:Œ0โŽyE>  +   @@:Œ0โŽyE>QF CI list_typeuI +notransmitlCCCDCCDI finger_indexdI finger_block๔CZ  CCCCCCIframeๆCAowner ZVn™’ผยJCIindex_map_offsetdCCZQQPCCCCCDI legal_ownerslCZ !DS@@O!SDL/TYSA_DENSITYP"#(#TUNIT=mmO#AEDT_EntityName_V1P$%(#S{ฎGแz„?O%AEDT_ExtentScale_V1Q&'(F)) $*+2 +**,+ะฟฉ๑าMb?…๋Qธๅฟ๐?๐? >-.+ะฟฉ๑าMb?…๋Qธๅฟ๐ฟ 2/0ะฟฉ๑าMb?๖(\ย๕๐ฟ +1V 2n™’ผย3456378n™’ผยQ6ƒ9:;<3=>?@A+7;>B0n™’ผย8,CDะฟ<฿O—nข?๖(\ย๕๐ฟC+E8อฬฬฬฬฬฟฉ๑าMb?…๋QธๅฟD-F8Gอฬฬฬฬฬฟฉ๑าMb?๖(\ย๕๐ฟFHIJ/Dn™’ผยG.BDKอฬฬฬฬฬฟ<฿O—nข?๖(\ย๕๐ฟBLM7NGn™’ผยK/JGOะฟฉ๑าMb?…๋QธๅฟJ PQEFKn™’ผยO0NK0อฬฬฬฬฬฟ<฿O—nข?…๋QธๅฟNRSBEOn™’ผย017O ะฟ<฿O—nข?…๋QธๅฟQR†9NLTUSVWXNYZ[-E TWNJCn™’ผยQT‡9ERP\WV]SE^_`-VXa]VXWJbcd+^ef`NW_+_gn™’ผย^hij`e^IEkib+e^lIe`fFmnk-kopbF`iq-i rn™’ผย`_csbokdE]c-optdobpJ?--c +un™’ผย]i-vQu€9cwrxy-xn™’ผย?cz v6cj{+อฬฬฬฬฬฟฉ๑าMb?…๋Qธๅฟ๐?j5_sv+อฬฬฬฬฬฟฉ๑าMb?…๋Qธๅฟ๐?{7|v}+ะฟฉ๑าMb?…๋Qธๅฟ๐?|~n™’ผยXZn{}8z{+ะฟฉ๑าMb?๖(\ย๕๐ฟ๐ฟz:n™’ผยq-}94}€+ะฟ<฿O—nข?๖(\ย๕๐ฟ๐ฟ4n™’ผยM‚€:nƒ+อฬฬฬฬฬฟฉ๑าMb?๖(\ย๕๐ฟ๐?n„n™’ผยm|h€ƒ;‚€5+ะฟ<฿O—nข?…๋Qธๅฟ๐ฟ‚…n™’ผย†4Zƒ5<ƒ.+ะฟฉ๑าMb?๖(\ย๕๐ฟ๐?.=Z5 +อฬฬฬฬฬฟ<฿O—nข?…๋Qธๅฟ๐?Z‡n™’ผยY‚|.Q‡z9Zˆ…~‰YІ[7SZX+ŠY‹†ŠMY>‚+[ŠYMNfh^+XVS]7Q|+Q=?>JX|]-="3*?=3Q/d-p+>=Q37†‚Y-/Œ@F n™’ผยpodk/qz-qm@Fpz+mŽmAqBInf+@qA/3?-A@mM4†-MŠ[†BA4m+feI^B[h-hn™’ผย[n_Q}9h‘„g’3hs+อฬฬฬฬฬฟ<฿O—nข?๖(\ย๕๐ฟ๐?s4ij+อฬฬฬฬฬฟฉ๑าMb?๖(\ย๕๐ฟ๐?P9“”(#Q‘f•h–—˜Q„|9n–~™Qg~9_—ršR’JQ—g•_g‘›œQr9i›guRšIQ›h•ir—wžRHP•ŸAQwi•cu› กSž๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Q j•-xwขฃSก๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Qx9- u:คQขk•z: ฅSฃ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Q:‚9zขx6ฆSฅ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?RฆERคFOŸSDL/TYSA_COLOURSœ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Q–e•n„ง‘จQ~{9|ง‡„ฉR™KQงd•|~ˆ–ชRฉLQˆc•Z‡ซงฌSช๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Qซb•‚…ญˆฎSฌ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Q…y9‚ซ‡ฏQญa•4ฐซฑSฎ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Qx94ญ2…ฒQฐ`•2ณญดSฑ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Q2w9ฐตถQณ_•tตทฐธSด๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?tตn™’ผยlo น-l1Qตv9tณบ2ปQท^•lบผณฝSธ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?l บn™’ผยtae พ+ta1Qบu9lทฟตภQผ]•aฟมทยSฝ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?aฟn™’ผยl‹V ,+l‹1Qฟt9aผรบฤQม\•‹รลผฦSย๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?‹รn™’ผยaŽŠ ว+aŽ1Qรs9‹มศฟษQล[•ŽศสมหSฦ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Žศn™’ผย‹* ฬ+‹*1Qศr9ŽลอรฮQสZ•*อลฯSห๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?*!อn™’ผยŽ= ++Ž1Qอq9*สะศัSฯ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Qะp9าำอิRัDQาnีึะืQำ‹“ะ'ุRิ>P“ู(#Q'ŒำฺRุฏฏฏ€TฺMEMORY1OูAEDT_BODYFlagGroupColor_V1PีQQึmา฿TืMEMORY1Pเ(#QYแึโR฿Pแ•ใhSโ๖๕๕๕๕๕ๅ?๖๕๕๕๕๕ๅ?๖๕๕๕๕๕ๅ?OใSDL/TYSA_COLOUR_2OเAttGS_PS_LayerO SDL/TYSA_NAME 1 *RฮC2ฬ'Žพว+ะฟฉ๑าMb?๖(\ย๕๐ฟ๐ฟ๐ฟ2พ&lนฬ+อฬฬฬฬฬฟฉ๑าMb?๖(\ย๕๐ฟ๐ฟ๐?2ว(‹ฬ,+gfffffึฟ<฿O—nข?…๋Qธ…๋ฟ€๐?๐?2,)aว ++อฬฬฬฬฬฟฉ๑าMb?…๋Qธๅฟ๐?๐?2น%tพ+gfffffึฟฉ๑าMb?…๋Qธ…๋ฟ€๐?๐?RษBRฤARภ@Rป?RถPRฒORฏNSจ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?S˜๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?O”AEDT_EntityID_V1QŒŠ9/HไQH‰9FPŒๅRไRQPˆ9JTHๆRๅQRๆSR‰MRyGR\TQL…9B;R็RUUQ;„976L่R็VR่WR<X+# SJ)ขึาŒำ'P&9้(#T(Ceramic_materialO้AEDT_MaterialName_V1$end 'x_b' +$begin 'x_b' +Design_0.setup/NativeGeometryFiles/0000090.x_b +BIN000000008454 +**ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz************************** +**PARASOLID !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~0123456789************************** +**PART1; +MC=unknown; +MC_MODEL=unknown; +MC_ID=unknown; +OS=unknown; +OS_RELEASE=unknown; +FRU=sdl_parasolid_customer_support; +APPL=Electronics Desktop; +SITE=unknown; +USER=unknown; +FORMAT=binary; +GUISE=transmit; +KEY=C:/Users/skrishna/AppData/Local/Temp/Gra0F28101217539472302.setup/Design_0.setup/NativeGeometryFiles/0000090.x_b; +FILE=C:/Users/skrishna/AppData/Local/Temp/Gra0F28101217539472302.setup/Design_0.setup/NativeGeometryFiles/0000090.x_b; +DATE=unknown; +**PART2; +SCH=SCH_3601185_36001; +USFLD_SIZE=0; +**PART3; +**END_OF_HEADER***************************************************************** +B3: TRANSMIT FILE created by modeller version 3601185SCH_3601185_36001_13006็ฐPART_XMT_BLOCK Part list n_entriesdindex_map_offsetd index_mapRschema_embedding_mapRmesh_offset_dataฮentriesํ $CCCIlatticeCCCImesh๎Ipolyline๐CCCCCCCDIownerCCCIboundary_latticeCCCI boundary_mesh๎Iboundary_polyline๐CCCAindex_map_offsetdA index_mapRAnode_id_index_mapRAschema_embedding_mapRAchild Alowest_node_iddAmesh_offset_dataฮZ@@:Œ0โŽyE>  +   @@:Œ0โŽyE>QF CI list_typeuI +notransmitlCCCDCCDI finger_indexdI finger_block๔CZ  CCCCCCIframeๆCAowner ZVn™’ผยJCIindex_map_offsetdCCZQQPCCCCCDI legal_ownerslCZ !DS@@O!SDL/TYSA_DENSITYP"#(#TUNIT=mmO#AEDT_EntityName_V1P$%(#S{ฎGแz„?O%AEDT_ExtentScale_V1Q&'(F)) $*+2 +*,-+่ฟฉ๑าMb?๖(\ย๕๐ฟ๐ฟ๐? >./+่ฟฉ๑าMb?๖(\ย๕๐ฟ๐? 201š™™™™™แฟ<฿O—nข?…๋Qธๅฟ +2V 3n™’ผย4567408n™’ผยQ7ƒ9:;<4=>?@A+0;@B n™’ผย8+Cš™™™™™แฟ<฿O—nข?๖(\ย๕๐ฟC,D8Eš™™™™™แฟฉ๑าMb?๖(\ย๕๐ฟDFGHCn™’ผยE-ICJ่ฟ<฿O—nข?…๋QธๅฟIKLBMEn™’ผยJ.NEOš™™™™™แฟฉ๑าMb?…๋QธๅฟN PQMHJn™’ผยO/HJR่ฟฉ๑าMb?๖(\ย๕๐ฟHSTNDOn™’ผยR0MO1่ฟฉ๑าMb?…๋QธๅฟM UVINRn™’ผย11BR ่ฟ<฿O—nข?๖(\ย๕๐ฟBW>0I1n™’ผยQW…9B;KX>=Y4BZ[\+="?*Y=?>I]^_+Z`G\>[-[an™’ผย>5bc\`ZdBT.]+`\ed`\GHfg+Thi]H\.j-.kn™’ผย\l^ ]hT_BY^-h_,_h]iIVm+^nn™’ผยY.moQn}9^pkqrmqn™’ผย_^sto9^uv+่ฟ<฿O—nข?๖(\ย๕๐ฟ๐?u8swo+่ฟฉ๑าMb?๖(\ย๕๐ฟ๐?v:xoy+š™™™™™แฟฉ๑าMb?…๋Qธๅฟ๐ฟxzn™’ผย{|gvy;bvc+่ฟ<฿O—nข?…๋Qธๅฟ๐?b}n™’ผย?[lyc<[y/+š™™™™™แฟ<฿O—nข?๖(\ย๕๐ฟ๐ฟ/=|c +่ฟฉ๑าMb?…๋Qธๅฟ๐?| +~n™’ผยsx/Q~€9|€z‚ƒ„VN…|†+s n™’ผยim|uQ9s‡q~ˆih_TMjs…+j‰f…Hisd-…‰j†M|-‰fІ‰…fN{x-f‰†jDdg-{‹AQD†xf+‹AŒA‹@{G5Z+Q‹{@N„l-@‹QA04?-„ƒL0Ql+ln™’ผย„b.wQ{9lŽ}kw7ltu+š™™™™™แฟฉ๑าMb?…๋Qธๅฟ๐?t6mw+่ฟฉ๑าMb?…๋Qธๅฟ๐?5g‘t+š™™™™™แฟฉ๑าMb?๖(\ย๕๐ฟ๐ฟg:n™’ผยdx‘456+š™™™™™แฟฉ๑าMb?๖(\ย๕๐ฟ๐?5’n™’ผยA[‘63‘+š™™™™™แฟ<฿O—nข?…๋Qธๅฟ๐ฟQ’x95“3a”P9•–(#Q“a—5’˜™šQ3w9˜›’œQay9[™’}R”kQ™b—[a“žŸQ}z9bža RjQžc—b}™ŽกR iP—ขAQŽd—lžฃคSก๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Qฃe—.kŽpฅSค๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Qk|9.ฃnฆQpf—^nฃงจSฅ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Qงg—mqp‡ฉSจ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Qq~9mงnชQ‡h—sง€ซSฉ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Q€i—|~‡ฌญSซ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Qฌj—xz€ฎฏSญ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Qz9xฌ~:ฐQฎk—g:ฌฑSฏ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Q:‚9gฎz7ฒSฑ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?RฒaRฐbRชeRฆgOขSDL/TYSA_COLOURSŸ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Q˜`—3ณ“ดQ›v9Šณต3ถRœlŠ›n™’ผย,‰ ท-,2Qณ_—Š›ธ˜นQตu9,ธบ›ปRถ[, ตn™’ผยŠผh ++Šผ2Qธ^—,ตฝณพQบt9ผฝฟตภRป\ผบn™’ผย,eƒ ม+,e2Qฝ]—ผบยธรQฟs9eยฤบลRภ]eฟn™’ผยผŒ` ฦ+ผŒ2Qย\—eฟวฝศQฤr9ŒวษฟสRล^Œฤn™’ผยe*‹ ห+e*2Qว[—ŒฤฬยอQษq9*ฬฮฤฯRส_*!ษn™’ผยŒ= -+Œ2QฬZ—*ษวะQฮp9ัาษำRฯ`QัnิีฮึQา‹•ฮ'ืRำZP•ุ(#Q'ŒาูRืฏฏฏ€T ูMEMORY1_1OุAEDT_BODYFlagGroupColor_V1PิฺQQีmัT ึMEMORY1_1P฿(#QYเีแRPเ—โhSแ๖๕๕๕๕๕ๅ?๖๕๕๕๕๕ๅ?๖๕๕๕๕๕ๅ?OโSDL/TYSA_COLOUR_2O฿AttGS_PS_LayerO SDL/TYSA_NAMESะ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?2-)*ห ++อฬฬฬฬฬไฟ<฿O—nข?…๋Qธ…๋ฟ€๐?๐? 2 *2ห(Œฦ-+š™™™™™แฟฉ๑าMb?…๋Qธๅฟ๐?๐?2ฦ'eทห+š™™™™™แฟฉ๑าMb?๖(\ย๕๐ฟ๐ฟ๐ฟ2ท&Šมฦ+อฬฬฬฬฬไฟฉ๑าMb?…๋Qธ…๋ฟ€๐?๐?2ม%ผท+่ฟฉ๑าMb?…๋Qธๅฟ๐?๐?Sอ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Sศ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Sร๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?ƒ„ผSพ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Sน๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Sด๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Sš๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?O–AEDT_EntityID_V1RhLƒV„I?bY-VƒLM_mi-?=4Y0Lb„+G`dZDA5{-RˆdR‚cRrfQ;„907WใQK†9IWUไRXrQU‡9MKPๅRไqQPˆ9NUSๆRๅpQS‰9HPF็RๆoQFŠ9DS่R็mR่nRใsR<t+# SJ)ฎีัFา'P&9้(#T(Ceramic_materialO้AEDT_MaterialName_V1$end 'x_b' +$begin 'x_b' +Design_0.setup/NativeGeometryFiles/0000118.x_b +BIN000000006222 +**ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz************************** +**PARASOLID !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~0123456789************************** +**PART1; +MC=unknown; +MC_MODEL=unknown; +MC_ID=unknown; +OS=unknown; +OS_RELEASE=unknown; +FRU=sdl_parasolid_customer_support; +APPL=Electronics Desktop; +SITE=unknown; +USER=unknown; +FORMAT=binary; +GUISE=transmit; +KEY=C:/Users/skrishna/AppData/Local/Temp/Gra0F28101217539472302.setup/Design_0.setup/NativeGeometryFiles/0000118.x_b; +FILE=C:/Users/skrishna/AppData/Local/Temp/Gra0F28101217539472302.setup/Design_0.setup/NativeGeometryFiles/0000118.x_b; +DATE=unknown; +**PART2; +SCH=SCH_3601185_36001; +USFLD_SIZE=0; +**PART3; +**END_OF_HEADER***************************************************************** +B3: TRANSMIT FILE created by modeller version 3601185SCH_3601185_36001_13006็ฐPART_XMT_BLOCK Part list n_entriesdindex_map_offsetd index_mapRschema_embedding_mapRmesh_offset_dataฮentriesํ $CCCIlatticeCCCImesh๎Ipolyline๐CCCCCCCDIownerCCCIboundary_latticeCCCI boundary_mesh๎Iboundary_polyline๐CCCAindex_map_offsetdA index_mapRAnode_id_index_mapRAschema_embedding_mapRAchild Alowest_node_iddAmesh_offset_dataฮZS@@:Œ0โŽyE>  +   @@:Œ0โŽyE>QF CI list_typeuI +notransmitlCCCDCCDI finger_indexdI finger_block๔CZ  CCCCCCIframeๆCAowner ZVn™’ผยJCIindex_map_offsetdCCZQQPCCCCCDI legal_ownerslCZ !DS@@O!SDL/TYSA_DENSITYP"#(#TUNIT=mmO#AEDT_EntityName_V1P$%(#S{ฎGแz„?O%AEDT_ExtentScale_V1QS&'(F)) *+3 +,-+…๋Qธ…๋ฟฉ๑าMbะ?๐ฟ€๐ฟ€š™™™™™ฉ?๐ฟ $./+…๋Qธ…๋ฟฉ๑าMb?๐ฟ๐ฟ๐?š™™™™™ฉ? 01์Qธ…๋้ฟฉ๑าMbะ?๐ฟ +2V3n™’ผย4567489n™’ผยQ7M:;<=4>??@A+8 <@BCn™’ผย9C1์Qธ…๋้ฟฉ๑าMb?๐ฟC89…๋Qธํฟฉ๑าMb?๐ฟ1B9 …๋Qธํฟฉ๑าMbะ?๐ฟBDE801n™’ผยQDO:B<FGEHI@BJKL-0FMB n™’ผยQFP:0DNMOPQ0A5I-O +J,POJMBRS+QOMJ?.-AH@IM5Q+5Tn™’ผยA.UIHAE0LVR+HAWLXRRBIVP-VYn™’ผยIKSZRXLL0PS-XR[S;n™’ผยPV\Q;L:S]Y7^\!S6Z+…๋Qธ…๋ฟฉ๑าMbะ?๐ฟ๐ฟ๐?š™™™™™ฉ?6 U\+…๋Qธ…๋ฟฉ๑าMb?๐ฟ๐ฟ๐ฟš™™™™™ฉ?Z"V\/+…๋Qธ…๋ฟฉ๑าMbะ?๐ฟ๐ฟ๐ฟš™™™™™ฉ?/#KZ +…๋Qธํฟฉ๑าMbะ?๐ฟ๐ฟK _n™’ผยJ.V/Q_J:K`aYbJOQP8EK+. an™’ผย?5K QaI:.cT_d?>448Q.J+>?**en™’ผยW> f+W2QeC:*ghijWin™’ผย,*H -+,*22f*k-+…๋Qธ…๋ฟฉ๑าMb?๐ฟ๐ฟ๐ฟ 2 *2k[f+…๋Qธ…๋ฟฉ๑าMbะ?๐ฟ๐ฟ๐ฟ3-Wf ++…๋Qธ…๋ฟฉ๑าMbะ?๐ฟ€๐ฟ€š™™™™™ฉ?๐ฟ[ln™’ผย,X k-,2QlF:[mn3o, nn™’ผย[WO ++[W2QnE:,pilqP:rs(#Qp6t,numvQiD:WuenwRqxQu5tWigpxRwyPtyAQg4t*euzSx๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Sz๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?OySDL/TYSA_COLOURQm7t[lp{|Sv๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Q{8t3m}~S|๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Q3G:{lTQ}9t5T{c€S~๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?QTH:5}3aQc:t.a}`‚S€๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Q`;tK_cƒ„S‚๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Qƒ<tVY`]…S„๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?QYK:Vƒ_;†Q]=tS;ƒ‡S…๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?S‡๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?R†|RR€OsAEDT_EntityID_V1RowQhB:ˆ‰eŠRjzQˆ@‹ŒhQ‰Qrh'ŽRŠvPr(#Q'R‰RŽฏฏฏ€T CAPACITOROAEDT_BODYFlagGroupColor_V1P‹‘’QQŒ?“”ˆ•T CAPACITORP“–(#Q”3—Œ˜R•P—t™hS˜๖๕๕๕๕๕ๅ?๖๕๕๕๕๕ๅ?๖๕๕๕๕๕ๅ?O™SDL/TYSA_COLOUR_2O–AttGS_PS_LayerO ’SDL/TYSA_NAMERd~Rb}U56+์Qธ…๋้ฟฉ๑าMbะ?๐ฟ๐ฟR^{@HEA84?-RNQ<N:87DšRG‚RšƒR=„+ SJ)”]ŒˆF‰'P&:›(#T(Ceramic_materialO›AEDT_MaterialName_V1$end 'x_b' +$begin 'x_b' +Design_0.setup/NativeGeometryFiles/0000134.x_b +BIN000000006226 +**ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz************************** +**PARASOLID !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~0123456789************************** +**PART1; +MC=unknown; +MC_MODEL=unknown; +MC_ID=unknown; +OS=unknown; +OS_RELEASE=unknown; +FRU=sdl_parasolid_customer_support; +APPL=Electronics Desktop; +SITE=unknown; +USER=unknown; +FORMAT=binary; +GUISE=transmit; +KEY=C:/Users/skrishna/AppData/Local/Temp/Gra0F28101217539472302.setup/Design_0.setup/NativeGeometryFiles/0000134.x_b; +FILE=C:/Users/skrishna/AppData/Local/Temp/Gra0F28101217539472302.setup/Design_0.setup/NativeGeometryFiles/0000134.x_b; +DATE=unknown; +**PART2; +SCH=SCH_3601185_36001; +USFLD_SIZE=0; +**PART3; +**END_OF_HEADER***************************************************************** +B3: TRANSMIT FILE created by modeller version 3601185SCH_3601185_36001_13006็ฐPART_XMT_BLOCK Part list n_entriesdindex_map_offsetd index_mapRschema_embedding_mapRmesh_offset_dataฮentriesํ $CCCIlatticeCCCImesh๎Ipolyline๐CCCCCCCDIownerCCCIboundary_latticeCCCI boundary_mesh๎Iboundary_polyline๐CCCAindex_map_offsetdA index_mapRAnode_id_index_mapRAschema_embedding_mapRAchild Alowest_node_iddAmesh_offset_dataฮZS@@:Œ0โŽyE>  +   @@:Œ0โŽyE>QF CI list_typeuI +notransmitlCCCDCCDI finger_indexdI finger_block๔CZ  CCCCCCIframeๆCAowner ZVn™’ผยJCIindex_map_offsetdCCZQQPCCCCCDI legal_ownerslCZ !DS@@O!SDL/TYSA_DENSITYP"#(#TUNIT=mmO#AEDT_EntityName_V1P$%(#S{ฎGแz„?O%AEDT_ExtentScale_V1QS&'(F)) *+2 +,-+๐ฟฉ๑าMbะ?๐ฟ๐ฟ๐ฟ $./+๐ฟฉ๑าMbะ?๐ฟ๐ฟ๐?š™™™™™ฉ? 01gfffff๎ฟฉ๑าMbะ?๐ฟ +2V3n™’ผย4567489n™’ผยQ7M:;<=4>??@A+8 <@B1n™’ผย9C1gfffff๎ฟฉ๑าMb?๐ฟCB9อฬฬฬฬฬ๐ฟฉ๑าMbะ?๐ฟ189 อฬฬฬฬฬ๐ฟฉ๑าMb?๐ฟBDE80Cn™’ผยQDO:B<FGEHI@BJKL-0FMB n™’ผยQFP:0DNMOPQ0A5I-O +JRPOJMBS.+QOMJ?T-AH@IM5Q+5Un™’ผยATVIHAE0LWS+HA*LXSSBIWP-WYn™’ผยIK.ZSXLL0P.-XS,.;n™’ผยPW Q;L:.[Y7\P:]^(#Q[=_.;`aQYK:W`b;cR\‹Q`<_WYd[eQbJ:KdfYgRcŒK bn™’ผยJTWhQd;_Kbi`jQfI:TiUbkRgT fn™’ผย?5K/Qi:_TfldmQUH:5l3fnRkŽQl9_5UoipQ3G:oqUrRnQo8_3sltQqF:,su3vRr,qn™’ผยRX +-R2Qs7_,qwoxQuE:RwyqzRv‡R un™’ผย,{O |+,{2Qw6_Ru}s~QyD:{}u€Rzˆ{yn™’ผยR*> -+R*2Q}5_{yw‚QC:*ƒy„R€‰*n™’ผย{H …+{2Q4_*}†QƒB:‡ˆ‰R„ŠQ‡@Š‹ƒŒQˆQ]ƒ'R‰†P]Ž(#Q'RˆRฏฏฏ€T CAPACITOR_1OŽAEDT_BODYFlagGroupColor_V1PА‘QQ‹?’“‡”T ŒCAPACITOR_1P’•(#Q“3–‹—R”P–_˜hS—๖๕๕๕๕๕ๅ?๖๕๕๕๕๕ๅ?๖๕๕๕๕๕ๅ?O˜SDL/TYSA_COLOUR_2O•AttGS_PS_LayerO ‘SDL/TYSA_NAMEP_™AS†๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?O™SDL/TYSA_COLOUR3…*|-+๐ฟฉ๑าMbะ?๐ฟ€๐ฟ€š™™™™™ฉ?๐ฟ 2 *3|R…+๐ฟฉ๑าMbะ?๐ฟ€๐ฟ€š™™™™™ฉ?๐ฟ2-{… ++๐ฟฉ๑าMb?๐ฟ๐ฟ๐ฟS‚๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?>?{?>448QTJ+JOQP8EK+S~๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Sx๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?St๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Sp๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Sm๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?/#T6 +๐ฟฉ๑าMb?๐ฟ๐ฟ๐?š™™™™™ฉ?6"V/+๐ฟฉ๑าMb?๐ฟ๐ฟ๐ฟš™™™™™ฉ?V!5Z6+gfffff๎ฟฉ๑าMbะ?๐ฟ๐ฟZ WhV+๐ฟฉ๑าMbะ?๐ฟ๐ฟ๐ฟš™™™™™ฉ?hKZ+อฬฬฬฬฬ๐ฟฉ๑าMbะ?๐ฟ๐ฟSj๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Se๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Sa๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?O^AEDT_EntityID_V1@HEA84?-RN‘Q<N:87DšRG’Rš“R=”+ SJ)“[‹‡Fˆ'P&:›(#T(Ceramic_materialO›AEDT_MaterialName_V1$end 'x_b' +$begin 'x_b' +Design_0.setup/NativeGeometryFiles/0000150.x_b +BIN000000008435 +**ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz************************** +**PARASOLID !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~0123456789************************** +**PART1; +MC=unknown; +MC_MODEL=unknown; +MC_ID=unknown; +OS=unknown; +OS_RELEASE=unknown; +FRU=sdl_parasolid_customer_support; +APPL=Electronics Desktop; +SITE=unknown; +USER=unknown; +FORMAT=binary; +GUISE=transmit; +KEY=C:/Users/skrishna/AppData/Local/Temp/Gra0F28101217539472302.setup/Design_0.setup/NativeGeometryFiles/0000150.x_b; +FILE=C:/Users/skrishna/AppData/Local/Temp/Gra0F28101217539472302.setup/Design_0.setup/NativeGeometryFiles/0000150.x_b; +DATE=unknown; +**PART2; +SCH=SCH_3601185_36001; +USFLD_SIZE=0; +**PART3; +**END_OF_HEADER***************************************************************** +B3: TRANSMIT FILE created by modeller version 3601185SCH_3601185_36001_13006็ฐPART_XMT_BLOCK Part list n_entriesdindex_map_offsetd index_mapRschema_embedding_mapRmesh_offset_dataฮentriesํ $CCCIlatticeCCCImesh๎Ipolyline๐CCCCCCCDIownerCCCIboundary_latticeCCCI boundary_mesh๎Iboundary_polyline๐CCCAindex_map_offsetdA index_mapRAnode_id_index_mapRAschema_embedding_mapRAchild Alowest_node_iddAmesh_offset_dataฮZ@@:Œ0โŽyE>  +   @@:Œ0โŽyE>QF CI list_typeuI +notransmitlCCCDCCDI finger_indexdI finger_block๔CZ  CCCCCCIframeๆCAowner ZVn™’ผยJCIindex_map_offsetdCCZQQPCCCCCDI legal_ownerslCZ !DS@@O!SDL/TYSA_DENSITYP"#(#TUNIT=mmO#AEDT_EntityName_V1P$%(#S{ฎGแz„?O%AEDT_ExtentScale_V1Q&'(F)) $*+2 +*,-+š™™™™™๙ฟฉ๑าMb?gfffff๎ฟ๐?๐? >./+š™™™™™๙ฟใฅ›ฤ ฐย?q= +ืฃp๑ฟ๐? 201Zd;฿O๗ฟใฅ›ฤ ฐย?q= +ืฃp๑ฟ +2V 3n™’ผย4./5406n™’ผยQ5ƒ789:4;<=>?+09@A n™’ผย6/BCZd;฿O๗ฟฉ๑าMb?q= +ืฃp๑ฟB.DE6š™™™™™๙ฟใฅ›ฤ ฐย?q= +ืฃp๑ฟC0F61Zd;฿O๗ฟฉ๑าMb?gfffff๎ฟFG<ADCn™’ผย11AC Zd;฿O๗ฟใฅ›ฤ ฐย?gfffff๎ฟAHI0F1n™’ผยQH…7A9GJIKLMANOP-KIQLKRIFSTU-MKIR0?VN-NWXP0IO+OYn™’ผยNZ[\PWN]A^[S+WP_]WPX`abc-^deS`P[]-[fn™’ผยPOTgSd^UALT+dU,UdSeFhi+Tjn™’ผยS[ikQj}7Tlfmnimn™’ผยUTopk;Tqg+Zd;฿O๗ฟฉ๑าMb?gfffff๎ฟ๐?q:rpk+š™™™™™๙ฟฉ๑าMb?gfffff๎ฟ๐?g<[k/+š™™™™™๙ฟใฅ›ฤ ฐย?gfffff๎ฟ๐?/=g +š™™™™™๙ฟฉ๑าMb?q= +ืฃp๑ฟ๐?rsn™’ผยcbtqp9iuq+š™™™™™๙ฟฉ๑าMb?gfffff๎ฟ๐?u8bvp+š™™™™™๙ฟใฅ›ฤ ฐย?gfffff๎ฟ๐ฟb +wn™’ผยaoruv7V\u+Zd;฿O๗ฟใฅ›ฤ ฐย?q= +ืฃp๑ฟ๐ฟVxn™’ผย?.Zv\6Oyv+Zd;฿O๗ฟใฅ›ฤ ฐย?gfffff๎ฟ๐ฟy5oz\+š™™™™™๙ฟใฅ›ฤ ฐย?q= +ืฃp๑ฟ๐ฟo {n™’ผย|ibyz4t}y+š™™™™™๙ฟฉ๑าMb?q= +ืฃp๑ฟ๐?t8n™’ผย~rz}3Zz+Zd;฿O๗ฟฉ๑าMb?q= +ืฃp๑ฟ๐?Zn™’ผย<VO}Qz7Z€xY<;h4FRZL+;4‚h;=<ƒUie-RKML<Z-=;4h„~t-ƒ…h`„†n™’ผยedU^ƒcr~-c‡a~`er+~‡c|ƒ=t+‡~ˆ|‡~a„‰o=+a‡|cD]b+„Š>ƒEn™’ผย‰‹@>D|oa-‹"@*@‹?‰0X.M+>‹‰?„4|-D ŒXF`Bn™’ผยQŒ‡7DGŽXW]ND@.‰-` ^Dƒn™’ผยQˆ7`Œ…+`†š™™™™™๙ฟใฅ›ฤ ฐย?gfffff๎ฟ†,ƒEš™™™™™๙ฟฉ๑าMb?gfffff๎ฟE-„†Bš™™™™™๙ฟฉ๑าMb?q= +ืฃp๑ฟP7‘’(#Q…‰7ƒŠ“RซQŠŠ7„…”R“ชR”ฉO’AEDT_EntityID_V1.•n™’ผย@V Q•x7.–3x—Q–a˜.•™š›Q3w7™œ•Qxy7Vš•žR—งQšb˜Vx–€ŸRžฆP˜ AQ€c˜ZšกขSŸ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Qกd˜OY€ฃคSข๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?QY{7OกfฅQฃe˜[fกlฆSค๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Qf|7[ฃYjงQlf˜TjฃจฉSฆ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Qจg˜imlชซSฉ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Qm~7iจj{ฌQชh˜o{จญฎSซ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Q{7oชmwฏQญi˜bwชฐฑSฎ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Qw€7bญ{sฒQฐj˜rsญณดSฑ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Qs7rฐw8ตQณk˜t8ฐถSด๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Q8‚7tณs5ทSถ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?RทRตžRฒŸRฏ RฌกRงฃRฅคO SDL/TYSA_COLOURQ™`˜3ธ–นQœv7ˆธบ3ปRจˆœn™’ผย,‡ ผ+,2Qธ_˜ˆœฝ™พQบu7,ฝฟœภRป—, บn™’ผยˆQd ++ˆQ2Qฝ^˜,บมธยQฟt7QมรบฤRภ˜Qฟn™’ผย,_K --,_2Qม]˜QฟลฝฦQรs7_ลวฟศRฤ™_รn™’ผยQ‚W ษ+Q‚2Qล\˜_รสมหQวr7‚สฬรอRศš‚วn™’ผย_*; ฮ+_*2Qส[˜‚วฯละQฬq7*ฯัวาRอ›*!ฬn™’ผย‚‹ ำ+‚2QฯZ˜*ฬสิQัp7ีึฬืRาœQีnุูัฺQึ‹‘ั'Rื–P‘(#Q'ŒึRฏฏฏ€TKBOAEDT_BODYFlagGroupColor_V1Pุ฿QQูmเแีโTฺKBPเใ(#QแYไูๅRโPไ˜ๆhSๅ๖๕๕๕๕๕ๅ?๖๕๕๕๕๕ๅ?๖๕๕๕๕๕ๅ?OๆSDL/TYSA_COLOUR_2OใAttGS_PS_LayerO ฿SDL/TYSA_NAMESิ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?2ำ'*ษผ+š™™™™™๙ฟใฅ›ฤ ฐย?q= +ืฃp๑ฟ๐ฟ๐ฟ 2 *2ษ&_ฮำ+š™™™™™๙ฟใฅ›ฤ ฐย?gfffff๎ฟ€๐?๐?2ผ(ˆำ-+š™™™™™๙ฟ#๙~jผด?Rธ…๋Q๐ฟ๐ฟ๐?2-)Qผ ++Zd;฿O๗ฟ#๙~jผด?Rธ…๋Q๐ฟ๐ฟ๐?2ฮ%‚ษ+š™™™™™๙ฟฉ๑าMb?q= +ืฃp๑ฟ๐ฟ๐ฟSะ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Sห๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Sฦ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Sย๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Sพ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Sน๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?S›๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?QG†7FHŒ็RŽฌR็ญ?‹>@MVR+RฅRnขQ9„705H่RJฎR่ฏR:ฐ+# SJ)แณูีŠึ'P&7้(#T (Al-ExtrudedO้AEDT_MaterialName_V1$end 'x_b' +$begin 'x_b' +Design_0.setup/NativeGeometryFiles/0000178.x_b +BIN000000051253 +**ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz************************** +**PARASOLID !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~0123456789************************** +**PART1; +MC=unknown; +MC_MODEL=unknown; +MC_ID=unknown; +OS=unknown; +OS_RELEASE=unknown; +FRU=sdl_parasolid_customer_support; +APPL=Electronics Desktop; +SITE=unknown; +USER=unknown; +FORMAT=binary; +GUISE=transmit; +KEY=C:/Users/skrishna/AppData/Local/Temp/Gra0F28101217539472302.setup/Design_0.setup/NativeGeometryFiles/0000178.x_b; +FILE=C:/Users/skrishna/AppData/Local/Temp/Gra0F28101217539472302.setup/Design_0.setup/NativeGeometryFiles/0000178.x_b; +DATE=unknown; +**PART2; +SCH=SCH_3601185_36001; +USFLD_SIZE=0; +**PART3; +**END_OF_HEADER***************************************************************** +B3: TRANSMIT FILE created by modeller version 3601185SCH_3601185_36001_13006็ฐPART_XMT_BLOCK Part list n_entriesdindex_map_offsetd index_mapRschema_embedding_mapRmesh_offset_dataฮentriesํ $CCCIlatticeCCCImesh๎Ipolyline๐CCCCCCCDIownerCCCIboundary_latticeCCCI boundary_mesh๎Iboundary_polyline๐CCCAindex_map_offsetdA index_mapRAnode_id_index_mapRAschema_embedding_mapRAchild Alowest_node_iddAmesh_offset_dataฮZก@@:Œ0โŽyE>  +   @@:Œ0โŽyE>QF CI list_typeuI +notransmitlCCCDCCDI finger_indexdI finger_block๔CZ  CCCCCCIframeๆCAowner ZVn™’ผยJCIindex_map_offsetdCCZQQPCCCCCDI legal_ownerslCZ !DS@@O!SDL/TYSA_DENSITYP"#(#TUNIT=mmO#AEDT_EntityName_V1P$%(#S{ฎGแz„?O%AEDT_ExtentScale_V1Qก&'(F)) *+2 +J,-+ทึ m9ทฟ^o%;า?ีx้&1ิฟ๐ฟ๐ฟ ./+ทึ m9ทฟ^o%;า?m็๛ฉ๑าฟ๐ฟ š01ทึ m9ทฟ^o%;า?6^บI หฟ +2V3n™’ผย456พ789:n™’ผยQ7O;<=>8?@ABCD-9ผ=EFGn™’ผย:‚HIทึ m9ทฟ&ั:ชšฐ?+‡ูฮใฟHJK:ทึ m9ทฟ^o%;า?#๙~jผิฟIƒL:Mร๕(\ยๅฟ^o%;า?”V-โฟLdNOPQIn™’ผยM„RISร๕(\ยๅฟ&ั:ชšฐ?+‡ูฮใฟR%TBUVMn™’ผยS…QMWร๕(\ยๅฟ&ั:ชšฐ?”V-โฟQbXYLZSn™’ผยW†[S\ทึ m9ทฟ^o%;า?Fถ๓ิxัฟ[ช]^_`Wn™’ผย\‡aWbร๕(\ยๅฟ&ั:ชšฐ?%•C‹เฟacdef\n™’ผยbˆg\hทึ m9ทฟ&ั:ชšฐ?๘Sใฅ›ฤะฟgijklbn™’ผยh‰mbnร๕(\ยๅฟ^o%;า?m็๛ฉ๑าฟmWopqrhn™’ผยnŠshtร๕(\ยๅฟ^o%;า?Fถ๓ิxัฟs9uvwxnn™’ผยt‹ynzทึ m9ทฟ^o%;า?L7‰A`ๅเฟyŒ{|}~tn™’ผยzŒt€ร๕(\ยๅฟ&ั:ชšฐ?ย๕(\ฺฟM‚ƒ„zn™’ผย€…z†ร๕(\ยๅฟ^o%;า?333333รฟ…*‡ˆ‰U€n™’ผย†ŽV€Šร๕(\ยๅฟ^o%;า?+‡ูฮใฟV$‹ŒRk†n™’ผยŠk†ทึ m9ทฟ^o%;า?๘Sใฅ›ฤะฟkŽVgŠn™’ผยŠ‘ร๕(\ยๅฟ^o%;า?6^บI หฟ2’“”•n™’ผย‘‘–—ทึ m9ทฟ&ั:ชšฐ?ุฟ–˜™š›‘n™’ผย—’U‘Gร๕(\ยๅฟ^o%;า?)\ย๕(ไฟU'œ…R—n™’ผยG“9—žทึ m9ทฟ^o%;า?+‡ูฮใฟž”ƒGŸร๕(\ยๅฟ^o%;า?ย๕(\ฺฟƒO กขžn™’ผยŸ•ฃžคทึ m9ทฟaซ‹ร™Ÿ?333333รฟฃ ฅฆงจŸn™’ผยค–ZŸฉร๕(\ยๅฟ&ั:ชšฐ?L7‰A`ๅเฟZ`ชซQฌคn™’ผยฉ—ญคฎทึ m9ทฟaซ‹ร™Ÿ?)\ย๕(ไฟญฏฐจฉn™’ผยฎ˜ฑฉ1ทึ m9ทฟ^o%;า?ุฟฑ~ฒณดตฎn™’ผย1™ถฎ ทึ m9ทฟ^o%;า?ีx้&1ิฟถคทธนJ1n™’ผยQท[;ถบปผธฝพฟถภมย-นฆบร`ถฤn™’ผยJขปลถšHn™’ผยQป\;JทฦวลศษสJหฬพ-š ฦอJ–ฮn™’ผยQฦ];šป˜ฯอะัาšำิษ+ฮyšีึทึ m9ทฟ&ั:ชšฐ?#๙~jผิฟีxfืฮร๕(\ยๅฟ^o%;า?%•C‹เฟึzxฮุร๕(\ยๅฟ&ั:ชšฐ?ั"๙~jฬฟx6ฺูs”ึn™’ผยุ{ขึฤร๕(\ยๅฟ^o%;า?$•CฟขQƒุn™’ผยฤ|นุทึ m9ทฟ&ั:ชšฐ?ีx้&1ิฟ}„ฤ฿ร๕(\ยๅฟ&ั:ชšฐ?ุฟ„Kเแโn™’ผย฿~ดใทึ m9ทฟ^o%;า?บI +‡โฟดƒไๅๆฑ฿n™’ผยใจ฿Kร๕(\ยๅฟaซ‹ร™Ÿ?)\ย๕(ไฟจ็่ฃญใn™’ผยK€lใHร๕(\ยๅฟ&ั:ชšฐ?๘Sใฅ›ฤะฟl้๊g๋Kn™’ผยQ้•;li์ํ๊๎๏๐l๑๒๓+๋์๔l๕๖n™’ผยQ์–;๋้๗๘๔๙๚v๋๛+๕๗๋en™’ผย๖R๋ร๕(\ยๅฟ^o%;า?๘Sใฅ›ฤะฟQ๖ทึ m9ทฟ&ั:ชšฐ?m็๛ฉ๑าฟS`๖ทึ m9ทฟ&ั:ชšฐ?Fถ๓ิxัฟ`จ[นn™’ผยTร๕(\ยๅฟ^o%;า?ีx้&1ิฟ? ภ + n™’ผยUๆ ทึ m9ทฟ&ั:ชšฐ?บI +‡โฟๆ„ ดn™’ผย Vร๕(\ยๅฟ&ั:ชšฐ?บI +‡โฟhP n™’ผยWe ทึ m9ทฟ&ั:ชšฐ?%•C‹เฟe๕an™’ผยXร๕(\ยๅฟ&ั:ชšฐ?ูฮ๗Sใลฟ.•‰n™’ผยYทึ m9ทฟ&ั:ชšฐ?ูฮ๗Sใลฟณ4 n™’ผยZ}!ทึ m9ทฟ^o%;า?ปI +‡ฟ}"#$yn™’ผย![ %ร๕(\ยๅฟ&ั:ชšฐ?ีx้&1ิฟ =&'w!n™’ผย%\(!)ทึ m9ทฟ^o%;า?ย๕(\ฺฟ(™*+›,%n™’ผย)]›%-ทึ m9ทฟ&ั:ชšฐ?ย๕(\ฺฟ››./–()n™’ผย-^•)0ร๕(\ยๅฟ&ั:ชšฐ?6^บI หฟ•012-n™’ผย0_3-4ทึ m9ทฟ&ั:ชšฐ?ฒ๏งฦKืฟ3w5ัต60n™’ผย4`F0ทึ m9ทฟ^o%;า?)\ย๕(ไฟFบ78994n™’ผยa๕4:ทึ m9ทฟ^o%;า?%•C‹เฟ:bง;ร๕(\ยๅฟaซ‹ร™Ÿ?333333รฟง <=fฃ:n™’ผย;c +:>ร๕(\ยๅฟ^o%;า?#๙~jผิฟ +A?ห@;n™’ผย>dr;Aร๕(\ยๅฟ&ั:ชšฐ?m็๛ฉ๑าฟrUBCm>n™’ผยAeฌ>Dร๕(\ยๅฟ^o%;า?L7‰A`ๅเฟฌ^EFZGAn™’ผยDfHAIทึ m9ทฟ&ั:ชšฐ?$•CฟH•JK,Dn™’ผยIgGDLร๕(\ยๅฟ&ั:ชšฐ?ปI +‡ฟG[MNฌqIn™’ผยLh_IOทึ m9ทฟ^o%;า?ั"๙~jฬฟ_ญPQ0[Ln™’ผยOi‰LRร๕(\ยๅฟ^o%;า?ูฮ๗Sใลฟ‰,ST…On™’ผยRjตOUทึ m9ทฟ^o%;า?ฒ๏งฦKืฟตyVWฑ3Rn™’ผยUkRXทึ m9ทฟ&ั:ชšฐ?ั"๙~jฬฟmYZ6Un™’ผยXlqU[ร๕(\ยๅฟ^o%;า?ปI +‡ฟqY\]GmXn™’ผย[mwX^ร๕(\ยๅฟ&ั:ชšฐ?Fถ๓ิxัฟw;_` s[n™’ผย^n”[aร๕(\ยๅฟ^o%;า?ั"๙~jฬฟ”4bcx^n™’ผยao ^dทึ m9ทฟ&ั:ชšฐ?6^บI หฟ ฑef0an™’ผยdpโagร๕(\ยๅฟ^o%;า?ุฟโIhi„jdn™’ผยgq$dkทึ m9ทฟ^o%;า?m็๛ฉ๑าฟ$‘lm}gn™’ผยkr,gnทึ m9ทฟ^o%;า?$•Cฟ,—op(Hkn™’ผยnsqkrร๕(\ยๅฟ&ั:ชšฐ?ฒ๏งฦKืฟqEstj@nn™’ผยrt6nuทึ m9ทฟ&ั:ชšฐ?ปI +‡ฟ6rvw3rn™’ผยuu9rxทึ m9ทฟ^o%;า?333333รฟ9ทyzFun™’ผยxvuืร๕(\ยๅฟ&ั:ชšฐ?$•CฟS{|rขxn™’ผยืwjxีร๕(\ยๅฟ^o%;า?ฒ๏งฦKืฟjG}~โqืn™’ผยQ};jhs~€‚jƒ„…+€u†€‡~qˆ‰Š+‚€~‡ต‹Œ-ƒŽ…ต~„‚-„zn™’ผย~Œ‘…ƒij’“ˆ+|…”i…Žโ•–—+’๎˜ˆโ…“-“H™n™’ผย…š‰›ˆ๎’Šj‰-๎"œŠ๎ˆžqาŸ+‰F n™’ผย“ŸกQ 0;‰ข™ฃคŸDฃn™’ผยЉฅฆกน‰ง6+ร๕(\ยๅฟ^o%;า?ฒ๏งฦKืฟ๐ฟงธจฉก+ร๕(\ยๅฟ&ั:ชšฐ?Fถ๓ิxัฟ๐?6บกช+ร๕(\ยๅฟ&ั:ชšฐ?ูฮ๗Sใลฟ๐?ชปซ6ฌ+ทึ m9ทฟ^o%;า?Fถ๓ิxัฟ๐ฟซฉญn™’ผยฎฏฐชฌผฑชฒ+ทึ m9ทฟaซ‹ร™Ÿ?)\ย๕(ไฟ๐?ฑนณn™’ผยดตถฌฒฝทฌธ+ทึ m9ทฟ^o%;า?#๙~jผิฟ๐ฟทกนn™’ผยษบปฒธพผฒฝ+ทึ m9ทฟ^o%;า?ปI +‡ฟ๐ฟผพn™’ผย]ฟภธฝฟธม+ร๕(\ยๅฟ^o%;า?Fถ๓ิxัฟ๐?8ยn™’ผย๔ร๒ฝมภฤฝล+ร๕(\ยๅฟ^o%;า?L7‰A`ๅเฟ๐ฟฤ_ฦn™’ผยวศษมลมศมส+ร๕(\ยๅฟ&ั:ชšฐ?L7‰A`ๅเฟ๐ฟศaหn™’ผยฬอฤลสยฮลฯ+ร๕(\ยๅฟ&ั:ชšฐ?ูฮ๗Sใลฟ๐ฟฮ/ะn™’ผยัาำสฯรษสิ+ร๕(\ยๅฟ^o%;า?L7‰A`ๅเฟ๐?ษ]ีn™’ผยึฤืฯิฤ๒ฯุ+ร๕(\ยๅฟ&ั:ชšฐ?ั"๙~jฬฟ๐ฟ๒7ูn™’ผยฺ๊ิุลิ+ทึ m9ทฟ^o%;า?+‡ูฮใฟ๐ฟีn™’ผยŒCุฦŒุ฿+ทึ m9ทฟ^o%;า?ฒ๏งฦKืฟ๐ฟŒxเn™’ผย‹„แ฿วแโ+ทึ m9ทฟ&ั:ชšฐ?ฒ๏งฦKืฟ๐ฟแvใn™’ผยtŒไ฿โศร฿ๅ+ร๕(\ยๅฟ^o%;า?Fถ๓ิxัฟ๐ฟร:ๆn™’ผย็่โๅษตโ้+ทึ m9ทฟ^o%;า?+‡ูฮใฟ๐ฟตป๊n™’ผย๋์ฑๅ้สํๅ๎+ทึ m9ทฟ&ั:ชšฐ?บI +‡โฟ๐ฟํฟ๏n™’ผยD๐์้๎ห๑้๒+ทึ m9ทฟ^o%;า?ปI +‡ฟ๐ฟ๑Ž๓n™’ผยw.๔๎๒ฬ๕๎๖+ทึ m9ทฟ^o%;า?ย๕(\ฺฟ๐ฟ๕˜๗n™’ผย๘๙๚๒๖อ๒๛+ทึ m9ทฟ^o%;า?ฒ๏งฦKืฟ๐ฟ}n™’ผยŽ–„๖๛ฮ–๖+ทึ m9ทฟ^o%;า?ุฟ๐ฟ–n™’ผยi๛ฯฺ๛+ร๕(\ยๅฟ^o%;า?ั"๙~jฬฟ๐ฟฺ5n™’ผย๐๒ะ+ทึ m9ทฟ^o%;า?%•C‹เฟ๐ฟn™’ผยั +ร๕(\ยๅฟ&ั:ชšฐ?L7‰A`ๅเฟ๐?ุ +n™’ผย ภ า๙ +ทึ m9ทฟ^o%;า?ย๕(\ฺฟ๐ฟ๙š n™’ผย๕  ำป +ทึ m9ทฟ&ั:ชšฐ?#๙~jผิฟ๐ฟปŸn™’ผยัท ิ +ร๕(\ยๅฟ^o%;า?)\ย๕(ไฟ๐?&n™’ผยี์+ทึ m9ทฟ^o%;า?+‡ูฮใฟ๐ฟ์ฝn™’ผยํตึฬ›+ทึ m9ทฟ^o%;า?#๙~jผิฟ๐ฟฬๅn™’ผยหิม›ื“+ร๕(\ยๅฟ^o%;า?ุฟ๐?ุ›+ทึ m9ทฟ^o%;า?m็๛ฉ๑าฟ๐ฟ๎ n™’ผยp!"ู#$+ร๕(\ยๅฟ&ั:ชšฐ?บI +‡โฟ๐?#ั%n™’ผยC&$ฺ'+ร๕(\ยๅฟ^o%;า?ั"๙~jฬฟ๐?3(n™’ผย)ฺา$'ิ$*+ร๕(\ยๅฟ&ั:ชšฐ?#๙~jผิฟ๐?ิ่+n™’ผยอ"ฬ'*,'-+ทึ m9ทฟ^o%;า?6^บI หฟ๐ฟ,๔.n™’ผย“/!*-0*1+ทึ m9ทฟ^o%;า?ูฮ๗Sใลฟ๐ฟ0ด2n™’ผย345-1-6+ทึ m9ทฟ^o%;า?%•C‹เฟ๐ฟ7n™’ผย8916฿๐1:+ร๕(\ยๅฟ&ั:ชšฐ?ุฟ๐?๐ย;n™’ผย™<ํ6:เ=6>+ทึ m9ทฟ&ั:ชšฐ?๘Sใฅ›ฤะฟ๐ฟ=?n™’ผย๓@:>แA:B+ทึ m9ทฟ^o%;า?บI +‡โฟ๐ฟACn™’ผยDEF>BโG>H+ร๕(\ยๅฟ^o%;า?ูฮ๗Sใลฟ๐?G+In™’ผยJำKBHใฅBL+ร๕(\ยๅฟ^o%;า?#๙~jผิฟ๐ฟฅBMn™’ผยžŸNHLไH‘+ร๕(\ยๅฟaซ‹ร™Ÿ?)\ย๕(ไฟ๐?(On™’ผยPKL‘ๅ„LQ+ทึ m9ทฟ^o%;า?ฒ๏งฦKืฟ๐ฟQๆถ‘R+ทึ m9ทฟaซ‹ร™Ÿ?333333รฟ๐?ถธSn™’ผยTฑ4QR็มQU+ทึ m9ทฟ^o%;า?ีx้&1ิฟ๐ฟมไVn™’ผยภฬฟRU่<RW+ทึ m9ทฟ&ั:ชšฐ?ย๕(\ฺฟ๐ฟ<ลXn™’ผย‚Y๐UW้UZ+ร๕(\ยๅฟ^o%;า?+‡ูฮใฟ๐ฟ#[n™’ผยA\WZ๊]W^+ร๕(\ยๅฟ&ั:ชšฐ?$•Cฟ๐ฟ]T_n™’ผย`abZ^๋cZd+ทึ m9ทฟ&ั:ชšฐ?$•Cฟ๐ฟc”en™’ผยf๚g^d์่^h+ร๕(\ยๅฟ&ั:ชšฐ?Fถ๓ิxัฟ๐ฟ่<in™’ผยjkรdhํldm+ทึ m9ทฟ^o%;า?”V-โฟ๐ฟl‡nn™’ผยopqhm๎hr+ร๕(\ยๅฟ^o%;า?๘Sใฅ›ฤะฟ๐ฟsn™’ผยt=mr๏umv+ทึ m9ทฟ^o%;า?$•Cฟ๐ฟuหwn™’ผย&Yrv๐xry+ทึ m9ทฟ^o%;า?ูฮ๗Sใลฟ๐ฟx๙zn™’ผยT{|vy๑Cv}+ทึ m9ทฟ&ั:ชšฐ?+‡ูฮใฟ๐ฟCา~n™’ผยB#y}๒y€+ทึ m9ทฟ^o%;า?6^บI หฟ๐ฟฎn™’ผย‚ƒ„}€๓F}…+ทึ m9ทฟ^o%;า?)\ย๕(ไฟ๐ฟF†n™’ผยA{€…๔|€‡+ร๕(\ยๅฟ^o%;า?333333รฟ๐?|๘ˆn™’ผยzx/…‡๕ไ…‰+ทึ m9ทฟ&ั:ชšฐ?ปI +‡ฟ๐ฟไsŠn™’ผยแ‹‡‰๖Œ‡+ร๕(\ยๅฟ^o%;า?$•Cฟ๐?ŒPŽn™’ผยb‰๗‹‰‘+ร๕(\ยๅฟ&ั:ชšฐ?ปI +‡ฟ๐?‹q’n™’ผย“ไ”‘๘•+ทึ m9ทฟ^o%;า?บI +‡โฟ๐ฟ‚–n™’ผย—q–‘•๙š‘˜+ร๕(\ยๅฟ^o%;า?ุฟ๐ฟšJ™n™’ผย˜š“•˜๚/•›+ทึ m9ทฟ^o%;า?ั"๙~jฬฟ๐ฟ/๕œn™’ผยc|,˜›๛4˜+ทึ m9ทฟ^o%;า?333333รฟ๐ฟ4ถžn™’ผยŸถ0›ื› +ร๕(\ยๅฟ&ั:ชšฐ?ปI +‡ฟ๐ฟื\กn™’ผยdษข ƒฃ+ทึ m9ทฟ^o%;า?6^บI หฟ๐ฟƒฐคn™’ผยฅ5 ฃ ฆ+ร๕(\ยๅฟ^o%;า?ย๕(\ฺฟ๐ฟNงn™’ผยจŒšฃฆYฃฉ+ทึ m9ทฟ^o%;า?ย๕(\ฺฟ๐ฟYศชn™’ผยกu<ฆฉ๔ฆซ+ทึ m9ทฟ^o%;า?%•C‹เฟ๐ฟ๔ฌn™’ผยญ๑ฎฉซฉฏ+ทึ m9ทฟ&ั:ชšฐ?ุฟ๐ฟœฐn™’ผยฑ๙ซฏบซฒ+ทึ m9ทฟ^o%;า?ีx้&1ิฟ๐ฟบฃณn™’ผยพดทฏฒ”ฏต+ทึ m9ทฟ&ั:ชšฐ?ั"๙~jฬฟ๐ฟ”nถn™’ผยj‹ทฒต!ฒธ+ทึ m9ทฟ^o%;า?Fถ๓ิxัฟ๐ฟ!๑นn™’ผยv,ตธบตป+ร๕(\ยๅฟaซ‹ร™Ÿ?333333รฟ๐?บ +ผn™’ผยฝพฟธป๚ธภ+ทึ m9ทฟ^o%;า?$•Cฟ๐ฟ๚–มn™’ผยย๕cปภ5ปร+ทึ m9ทฟ&ั:ชšฐ?ูฮ๗Sใลฟ๐ฟ5ฒฤn™’ผยล0ƒภรqภฦ+ทึ m9ทฟ^o%;า?”V-โฟ๐ฟq…วn™’ผยศlรฦ ขรษ+ร๕(\ยๅฟ^o%;า?ปI +‡ฟ๐ฟขZสn™’ผยหืฬฦษ +ฎฦอ+ทึ m9ทฟ^o%;า?L7‰A`ๅเฟ๐ฟฎ‹ฮn™’ผยฯ๔pษอ Kษะ+ร๕(\ยๅฟaซ‹ร™Ÿ?333333รฟ๐?K)ัn™’ผยาGอะ ำอิ+ร๕(\ยๅฟ&ั:ชšฐ?บI +‡โฟ๐ฟำiีn™’ผยึทืะิ ทะุ+ร๕(\ยๅฟ&ั:ชšฐ?ั"๙~jฬฟ๐?ทlูn™’ผยฺ”ำิุฐิ+ทึ m9ทฟ&ั:ชšฐ?Fถ๓ิxัฟ๐ฟฐงn™’ผยซดุฬุ+ร๕(\ยๅฟ^o%;า?ปI +‡ฟ๐?ฬX฿n™’ผยเขaแ/+ร๕(\ยๅฟ^o%;า?%•C‹เฟ๐ฟแโn™’ผยใ9พ/" +ทึ m9ทฟ^o%;า?”V-โฟ๐ฟ"๋ไn™’ผยOิ/Qไไ;"ๅ +ๆO็่้L๊"๋+็๊่์่็ํOQ๎อฬ+้็Oํol๏-๊๐ศ๋O"้-๋๐๊DL๑๒๎+๐๋๓D๐๋ศPๅA๔+๑๎๕๎P๋๒-๒e๖n™’ผย๋ือ๗๎๎๑ฬL่อ-ฬ๎๎วQ๘ศ+อc๙n™’ผย่๒ศ๚Q๙!;อ๛๖ห๚ถอฉ+ร๕(\ยๅฟ^o%;า?”V-โฟ๐ฟต\๚+ทึ m9ทฟ^o%;า?๘Sใฅ›ฤะฟ๐ฟฉทื๚ง+ร๕(\ยๅฟ^o%;า?บI +‡โฟ๐ฟืgn™’ผย๕ำ๒ฉQ;ืี๖๕๎ึ๑๔ื+ึ๎œ๕RำA+๔ๅP๕ื๑-—ๅ—๔ดDAศ-๔—#-PfDLn™’ผยQr;PNLP ร๕(\ยๅฟ^o%;า?บI +‡โฟK@ร๕(\ยๅฟ&ั:ชšฐ?#๙~jผิฟ M +ทึ m9ทฟ^o%;า?”V-โฟ† ๊ ๆ n™’ผย +N   ทึ m9ทฟ&ั:ชšฐ?”V-โฟ ˆํ~ +n™’ผย O +ทึ m9ทฟ^o%;า?ูฮ๗Sใลฟต9 n™’ผยP~ ทึ m9ทฟ&ั:ชšฐ?L7‰A`ๅเฟ~Š y n™’ผยQg;~{ ๘~ซฯ+เ Y  po+๘ YZฬศว-ซฯZ ๘-ฯซ|~ฎ+ืฯ|ฯyFภญ-yฯฎ-o~p-o๏ ้l+p‰n™’ผยฎlQ;p ฮn!Ÿp"#+ทึ m9ทฟ&ั:ชšฐ?L7‰A`ๅเฟ๐ฟ"ž&$+ร๕(\ยๅฟ&ั:ชšฐ?$•Cฟ๐?# a%+ร๕(\ยๅฟ^o%;า?m็๛ฉ๑าฟ๐ฟaV&n™’ผย'ฬ]#%ก(#)+ทึ m9ทฟaซ‹ร™Ÿ?)\ย๕(ไฟ๐ฟ(<n™’ผย*ฟ%)ขb%++ร๕(\ยๅฟ^o%;า?$•Cฟ๐ฟbR,n™’ผย-]Œ)+ฃ5).+ทึ m9ทฟ&ั:ชšฐ?ีx้&1ิฟ๐ฟ5 /n™’ผย'จ+.คฟ+๗+ทึ m9ทฟ&ั:ชšฐ?”V-โฟ๐ฟฟแ0n™’ผยYมผ.๗ฅ๒.1+ร๕(\ยๅฟ^o%;า?บI +‡โฟ๐?1ฆ{๗2+ทึ m9ทฟ&ั:ชšฐ?6^บI หฟ๐ฟ{3n™’ผย2Fx12งk14+ร๕(\ยๅฟ^o%;า?ีx้&1ิฟ๐ฟk>5n™’ผย6N่24จพ27+ร๕(\ยๅฟaซ‹ร™Ÿ?)\ย๕(ไฟ๐?พ 8n™’ผย9แบ47ฉš4:+ร๕(\ยๅฟ&ั:ชšฐ?ุฟ๐ฟšL;n™’ผย<š7:ช7=+ทึ m9ทฟ^o%;า?ุฟ๐ฟž>n™’ผย?ป:=ซภ:@+ทึ m9ทฟ^o%;า?L7‰A`ๅเฟ๐ฟภูAn™’ผยFผ=@ฌE=B+ทึ m9ทฟ&ั:ชšฐ?m็๛ฉ๑าฟ๐ฟECn™’ผยCจA@Bญ„@D+ทึ m9ทฟ^o%;า?ั"๙~jฬฟ๐ฟ„ฌEn™’ผยZฏBDฎฏBF+ทึ m9ทฟ^o%;า?๘Sใฅ›ฤะฟ๐ฟฏซGn™’ผยH„ซDFฏNDI+ร๕(\ยๅฟ^o%;า?#๙~jผิฟ๐?N@Jn™’ผยฟฅkFIฐาFฆ+ร๕(\ยๅฟ^o%;า?6^บI หฟ๐ฟา1Kn™’ผยLฮIฆฑŸIM+ร๕(\ยๅฟ&ั:ชšฐ?#๙~jผิฟ๐ฟMฒ@ฆN+ทึ m9ทฟ^o%;า?๘Sใฅ›ฤะฟ๐ฟ@On™’ผยP\=MNณำM+ร๕(\ยๅฟ^o%;า?ูฮ๗Sใลฟ๐ฟำ-Qn™’ผยRฮGNดฟN+ทึ m9ทฟaซ‹ร™Ÿ?333333รฟ๐ฟฟSn™’ผยTบ(QSM;ฟUผ<VTดฆญWฟX+ดYTFฐฑ+ฆTZฃTถฝ-W[\XฃTฟ-X[W]ญ*(-[X^][X\จ9พ*-*_PฐจX(+_P`P_8*U่a+ฐ_*8ญดฑT-8_ฐPFF๋-b๋U8FP+๋bEFYตด+b๋cEb๋9Œ@-Yด9๋ต-dY@์+dๆDํ—-@?Œ89์Y-?ิAeŒ?A@VE+A?8ŒRœ+bEVaœ+a๎่œU-œ๎aึVA-่๎9aจP]-9๎า่ง]พ\+า๎f9…=K+\[]Wงฝบ-ฝgT=ฃ\บW+gThTgˆฝ9ฆถZ+=gฝˆงาK9-ˆg=T…z|J-ziŸJ9ˆ|T+JizT…fGา+i๗JjTiJŸ‰xk+f๎Rา‰JG-R๎ัfkำ+ั๎lR•mฮ+kn‰Rำf-n3on3kTxŸ-nk34m-3np0q+4rลm3+mr42ัฮR-r4s2rmล•f{L+ลr24 q5ฅ+ftuL 2{ล-Ltf“•lาั+t๛Lv“tLuw,)+l๎xัLา-x๎๐l”)-๐๎๊xxyฺ+)zwcxl+z๓){wz‚)0“,u-cz)‚”Q/y+‚zcw_|}+Q~Zy_c/‚-y~Qฺ”๐ฺx-~Z*ฺ~yZxฺท๑-Z~ฺQ}„+ฺ€j๑ฺท+๑€ฺ๓x๊๒๐-€kฺ๓€๑jl‚=t+j€๓ฺg”P+‚ƒ„tg๓=-tƒ‚l๏+ƒt…ƒt„๋๚\๏+๏๎๛๊๋t-๛๎็๏s๔-็๎j๛w†ร+j๎‡็ ˆ่+†‰^`s็ร๛-‰ ฎŠ^‰ฎ†[v!H-`‰†ฎwจˆ-ฎ‰`^`‹ซŒ+ˆ``จฎ+จŽn™’ผย5Eงˆ'wj่็-'ˆ ร56+'นŒฐ+ร‘ย6น'5-6‘รภ ‡kj+‘ 6,ภ‘6ยธมฟ+‡๎’j6k-’๎ž‡ +ฟN-ž๎Š’@สฅ+ฟฝธห’N‡+ฝใฟ“หฝฟพ +ลฬส+พฝหธJ”บ•+สศลำ +žฅ’-ศษ–ำศสษ@อิา-ษศำลš•ท—+@C˜ำq +n™’ผยาะอt@ŠŸž-ะ็อ™tะาัq‡แ+ัะtอ3—ป‹+‡€‚3tแ-—•‹šัป-‹—W3‚Œ‡+W‹ณตސƒ-ณWšฑ?•-ŽiƒฑW+šณ–ฑ-?›แ•–ณš+•›?—ฑi–Ž-›ม?œ—›•แโ˜š’-แ›—?„™๐-˜๎<’„—š+<๎ž˜š+ž๎Ÿ<ƒจ- ™‚„<š˜- ฤ™ก™ ฑ–แ๐?+‚ ฑ/<จ+ฑ ‚™›š+/ขฃจ›‚<ฑ-จข/กž<+ขวจคกขจฃƒ+Y+ฃขก/(๙ฅ-+ฆ๘(กYฃ-ฆ+ƒŸŒž+ฆสงฆ๘ขpuจ+Ÿ๎-žขŒ--๎`Ÿจb+`๎ฉ-rช]+จซp|ข-bŸ-ซอยฌpซยจ,u๘-|ซจยK&ช-ยซ|pHญ๚ฎ+KฏfชH|&ย+&ฮฐn™’ผยK#u"ชฏKC`]--ฏKฑCฏชfrฒE'+fฏCKฎcณ+ฒดต'CEf-'ดฒprฉa`+ด'ถpด'ตmmเ+ฉ๎ท`m'a-ท๎หฉqเฬ-ห๎dทGธข+เนm]mทฬฉ+นํเบmนปเ$pต-]นเปq#ผธ+ปน]m}ผ.ฝ+#พwธ}]ผป-ธพ#Nqหขท-พwฟNพธwG“‹ภ-wพN#6ฝ๑ม+“ยภ6N‹+ภย“รGdืห-ยp“ฤรยภaล9ใ+d๎ฦหaภืร+ฦ๎วdfใแ-ว๎วฦฌึษ-fศึaงีn™’ผยใษลaฦแ+ษใสลษหใeร9-ษใหfฬฦ+หษล๕8-ฬอญึ๕ห-อึฮญอFฬy๔+ึอฬFfวษ+Fอึญฌ|ภ+|ซฌวฤว-ว๎ฬวZฤ+8๕ญ๔ฬ-8มeหล+มฝ86ไ“-ฝผม}w๑-ยร“eมไ8+ผณฝ$ป.-ณฎผตg+.ฯn™’ผยปg๑ Qฯ ;.ะั๓าg’ัn™’ผยณc.ำQั ;gิeฯีำ›gึ+ทึ m9ทฟ^o%;า?m็๛ฉ๑าฟ๐ฟึœ9ำ$+ทึ m9ทฟ&ั:ชšฐ?%•C‹เฟ๐ฟ9ืn™’ผยรแึ$ดึ"+ทึ m9ทฟ^o%;า?ีx้&1ิฟ๐ฟดฅุn™’ผยฐบ$Qุ;ดูณฺŒ”นยด+Œ‹`ฐ-”•ถพบ-ย‘ภรถด”-•”—Jษท-‹Œ[ฎซ-P‹kHฏ๚-Pg„@‚+H๙v๚[ฏ‹+๚๙H๔k\„-๙๐๔\ n™’ผย@„ƒ‚kP@-QC;\[OP;฿เ(#Qœแ\โใไQ[B;โๅQOD;@ใ?ๆR่Qใแ@O็่Q?E;=็Os้Rๆ็Q็žแ=?ใ๊๋QsF;๊?์R้ๆQ๊Ÿแs็ํ๎QG;ํs7๏R์ๅQํ แ๊๐๑Q7H;๐ื๒R๏ไQ๐กแ7ํ๓๔QืI;9๓7โ๕R๒ใQ๓ขแ9ื๐๖๗QโJ;แ๖ื8๘R๕โQ๖ฃแแโ๓๙๚Q8K;พ๙โผ๛R๘แQ๙คแพ8๖QผL;บ8SR๛เQฅแบผ๙UR฿PแAQUฆแฟSS๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Qงแ(<US๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Q<N;(S7S๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?ROSDL/TYSA_COLOURS๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?S๚๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?S๗๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?S๔๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?S๑๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?S๎๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?S๋๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?S่๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Qโ›แ[QA;O[Rๅ้Qšแโ QO@;ั +R๊Q™แO  Qั?;K IO R +๋Q ˜แKัQI>;GQัR ์Q—แGI QQ=;ำะIRํQ–แำQQะ<;ฮKQR๎Q•แฮะQK;;า(ะR๏Q”แาKQ(:;KR๐Q“แ(Q9;ฺู(R๑Q’แฺ !Qู8;๒ ย"R๒Q ‘แ๒ู#$Qย7;#ๆู%R"๓Q#แย& 'Qๆ6;ร&iย(R%๔Q&แรๆ)#*Qi5;่)5ๆ+R(๕Q)Žแ่i,&-Q54;k,Ji.R+๖Q,แk5/)0QJ3;N/M51R.๗Q/ŒแNJ2,3QM2;ฅ2ฃJ4R1๘Q2‹แฅM5/6Qฃ1;Ÿ5 M7R4๙Q5ŠแŸฃข28R7๚Qข‰แ‰ 95:S8๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Q9ˆแ“™;ข<S:๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Q™/;“9™ =Q;‡แš™>9?S<๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Q™.;š;;™@Q>†แš;A;BS?๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Q;-;š>ง™CQA…แงD>ESB๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Qง,;AŽ;FQD„แŒŽGAHSE๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?QŽ+;ŒD,งIQGƒแb,JDKSH๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Q,*;bG_ŽLQJ‚แ]_MGNSK๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Q_);]J&,OQMแa&PJQSN๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Q&(;aM฿_RQP€แฬ฿SMTSQ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Q฿';ฬPส&UQSแขสVPWST๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Qส&;ขSก฿XQV~แืกYSZSW๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Qก%;ืVีส[QY}แษี\V]SZ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Qี$;ษYฦก^Q\|แฤฦ_Y`S]๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Qฦ#;ฤ\หีaQ_{แศห๛\bS`๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Qห";ศ_๙ฦcQ๛zแอ๙d_eSb๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Qdyแ๒๖๛fSe๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Q๖ ;๒d๙gQxแืhdiSf๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?QhwแำีjkSi๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Qี;ำhูlQjvแทูmhnSk๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Qู;ทjถีoQmuแ”ถpjqSn๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Qถ;”m’ูrQptแ‹’smtSq๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Q’;‹pŠถuQssแไŠvpwSt๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?QŠ;ไsใ’xQvrแแใyszSw๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Qใ;แvเŠ{QyqแŒเ|v}Sz๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Qเ;Œyใ~Q|pแ„y€S}๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Q;„|เQoแ‚|ƒS€๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Q;„Q‚nแ–…†Sƒ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Q;–‚–‡Q…mแ–ˆ‚‰S†๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Q–;…วŠQˆlแqว‹…ŒS‰๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Qว;qˆn–Q‹kแln ˆŽSŒ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Qn;l‹วQ jแp‹‘SŽ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Qiแฎฮ’ “S‘๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Qฮ;ฎฌ”Q’hแ๔ฌ•–S“๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Qฌ;๔’๓ฮ—Q•gแ๑๓ะ’˜S–๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Q๓;๑•ฯฌ™Qะfแ.ฯิ•šS˜๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Qิeแgั›ะœSš๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Q›dแceิžSœ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Qe ;c›มัŸQcแ๚ม ›กSž๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Qม +;๚๗eขQ bแ๕๗ฃคSก๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Q๗ ;๕  มฅQฃaแ๙ ฆ งSค๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Q ;๙ฃฐ๗จQฆ`แฐฉฃชSง๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Qฐ;ฆ> ซQฉ_แ>ฌฆญSช๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Q>;ฉฐฎQฌ^แปฏฉฐSญ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Q;ปฌน>ฑQฏ]แทนฒฌณSฐ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Qน;ทฏณดQฒ\แบณูฏตSณ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Qณ;บฒุนถQู[แดุทฒธSต๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?QทZแฐนูบSธ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Q;ฐทญุปQนYแซญผทฝSบ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Qญ;ซนGพQผXแฏGฟนภSฝ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?QG;ฏผEญมQฟWแ„EยผรSภ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?QE;„ฟGฤQยVแลฟฦSร๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Q;ยคEวQลUแƒคศยษSฦ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Qค;ƒลฤสQศTแ5ฤหลฬSษ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Qฤ๛;5ศ2คอQหSแ02ฮศฯSฬ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Q2๚;0หžฤะQฮRแ4žัหาSฯ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Qž๙;4ฮS2ำQัQแถSิฮีSา๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?QS๘;ถัณžึQิPแฑณืัุSี๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Qณ๗;ฑิ๊SูQืOแตฺ๊ิSุ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Q๊๖;ตืณQฺNแ์ืS๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Q๕;์ฺ๏๊฿QMแํ๏เฺแS๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Q๏๔;ํ;โQเLแ๐;ใไSแ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Q;๓;๐เX๏ๅQใKแ<Xๆเ็Sไ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?QX๒;<ใช;่QๆJแYช้ใ๊S็๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Qช๑;YๆwX๋Q้Iแuw์ๆํS๊๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Qw๐;u้ฐช๎Q์Hแ&ฐ๏้๐Sํ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Qฐ๏;&์%w๑Q๏Gแ#%๒์๓S๐๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Q%๎;#๏~ฐ๔Q๒FแC~๕๏๖S๓๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Q~ํ;C๒%๗Q๕Eแ๘๒๙S๖๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Q์;๕ +~๚Q๘Dแ +๛๕S๙๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Q +๋;๘AQ๛CแภA๘S๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?QA๊;ภ๛พ +QBแผพ๛S๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Qพ้;ผ0AQAแฟ0S๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Q0่;ฟVพQ@แมVS๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?QV็;ม0 Q?แฬ + S๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Qๆ;ฬ+V Q +>แิ+ๅ S ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Q+ๅ;ิ +ไQๅ=แ"ไ +S ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Q<แ ๅS๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Q ใ;นไQ;แ!นS๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Qนโ;!. Q:แ,.S๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Q.แ;,œนQ9แ/œS๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Qœเ;/ˆ.Q8แ|ˆS๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Qˆ฿;|zœQ7แxz !S๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Qz;x3ˆ"Q 6แ{3#$S!๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Q3;{ †z%Q#5แF†& 'S$๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Q†;F#C3(Q&4แAC)#*S'๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?QC;A&C†+Q)3แEC,&-S*๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?QCฺ;E)ŽC.Q,2แจŽ/)0S-๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?QŽู;จ,/C1Q/1แ5/2,3S0๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Q/ุ;5/3Ž4Q20แ35/6S3๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Q3ื;27/8Q5/แ^792:S6๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?^7n™’ผยส[ ;-ส2Q7ึ;^5<3=Q9.แส<>5?S:๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?ส <n™’ผย^…ษ @-^…2Q<ี;ส9A7BQ>-แ…AC9DS?๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?…An™’ผยสƒ E-ส2QAิ;…>F<GQC,แFH>ISD๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?!Fn™’ผย…๎ J+…2QFำ;CKALQH+แKMCNSI๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?jKn™’ผยฤ€ O+ฤ2QKา;HPFQQM*แฤPRHSSN๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?ฤoPn™’ผย†ย T+†2QPั;ฤMUKVQR)แ†UWMXSS๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?†tUn™’ผยฤ”€ Y-ฤ”2QUะ;†RZP[QW(แ”Z\R]SX๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?”{Zn™’ผย† ^+†2QZฯ;”W_U`Q\'แ_aWbS]๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?€_n™’ผย”œ c+”œ2Q_ฮ;\dZeQa&แœdf\gSb๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?œภdn™’ผยก› h-ก2Qdอ;œai_jQf%แกikalSg๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?กรin™’ผยœค  m+œค2Qiฬ;กfndoQk$แคnpfqSl๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?คฦnn™’ผยกงข r-กง2Qnห;คksitQp#แงsukvSq๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?งษsn™’ผยคฌฆ w+คฌ2Qsส;งpxnyQu"แฌxzp{Sv๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?ฌฬxn™’ผยง|ซ }-ง|2Qxษ;ฌu~sQz!แ|~€uS{๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?|ฯ~n™’ผยฌe‚ ƒ+ฌe2Q~ศ;|z„x…Q€ แe„†z‡S๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?eำ„n™’ผย|? ˆ-|2Q„ว;e€‰~ŠQ†แ‰‹€ŒS‡๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?ึ‰n™’ผยeฮ -eฮ2Q‰ฦ;†Ž„Q‹แฮސ†‘SŒ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?ฮฺŽn™’ผยฟอ ’+ฟ2QŽล;ฮ‹“‰”Qแฟ“•‹–S‘๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?ฟ“n™’ผยฮพ —-ฮ2Q“ฤ;ฟ˜Ž™Q•แ˜š›S–๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?฿˜n™’ผยฟ“ -+ฟ“2Q˜ร;•œ“Qšแ“œž•ŸS›๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?“โœn™’ผย™ฝ  +™2Qœย;“šก˜ขQžแ™กฃšคSŸ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?™ๆกn™’ผย“์ะ ฅ+“์2Qกม;™žฆœงQฃแ์ฆจžฉSค๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?์้ฆn™’ผย™บ็ ช-™บ2Qฆภ;์ฃซกฌQจแบซญฃฎSฉ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?บ์ซn™’ผย์น ฏ+์2Qซฟ;บจฐฆฑQญแฐฒจณSฎ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?๏ฐn™’ผยบ{๙ ด+บ{2Qฐพ;ญตซถQฒแ{ตทญธSณ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?{๒ตn™’ผยjz น+j2Qตฝ;{ฒบฐปQทแjบผฒฝSธ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?j๖บn™’ผย{vi พ+{v2Qบผ;jทฟตภQผแvฟมทยSฝ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?v๚ฟn™’ผยj`t ร-j`2Qฟป;vผฤบลQมแ`ฤฦผวSย๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?`ฤn™’ผยv๓_ ศ+v๓2Qฤบ;`มษฟสQฦแ๓ษหมฬSว๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?๓ษn™’ผย`ฑ๐ อ+`ฑ2Qษน;๓ฦฮฤฯQหแฑฮะฦัSฬ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?ฑฮn™’ผย๓ฏ า+๓2Qฮธ;ฑหำษิQะแำีหึSั๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?ำn™’ผยฑ, ื+ฑ,2Qำท;ะุฮูQีแ,ฺุะSึ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?, +ุn™’ผยŠ‘ +-Š2Qุถ;,ีำQฺแŠี฿S๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Š n™’ผย,ถ‰ เ-,ถ2Qต;ŠฺแุโQ แถแใฺไS฿๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?ถแn™’ผยŠ–ด ๅ-Š–2Qแด;ถๆ็Qใ แ–ๆ่้Sไ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?–ๆn™’ผยถsศ ๊-ถs2Qๆณ;–ใ๋แ์Q่ แs๋ํใ๎S้๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?s๋n™’ผย–or ๏+–o2Q๋ฒ;s่๐ๆ๑Qํ +แo๐๒่๓S๎๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?o๐n™’ผยscn ๔-sc2Q๐ฑ;oํ๕๋๖Q๒ แc๕๗ํ๘S๓๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?c๕n™’ผยob ๙+o2Q๕ฐ;c๒๚๐๛Q๗แ๚๒S๘๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?๚n™’ผยch -ch2Q๚ฏ;๗๕Qแh๗S๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?hn™’ผย*g +*2Qฎ;h๚Qแ*S๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?*n™’ผยh~ -h2Qญ;* S๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Qฌ; +  R Q +ช Q Ÿ฿'R ฒP฿(#Q'  Rฏฏฏ€T HEAT_SINKOAEDT_BODYFlagGroupColor_V1P QQฉ +T HEAT_SINKP(#QRPแhS๖๕๕๕๕๕ๅ?๖๕๕๕๕๕ๅ?๖๕๕๕๕๕ๅ?OSDL/TYSA_COLOUR_2OAttGS_PS_LayerO SDL/TYSA_NAME2%*rน+ร๕(\ยๅฟ^o%;า?ั"๙~jฬฟ๐?๐? 2 *2r$ค+ทึ m9ทฟ^o%;า?ย๕(\ฺฟ๐ฟ๐ฟ2น&{ื+š๐Kผฉุฟ^o%;า?๖(\ย๕ุฟ€๐?๐?2ื'นY+š๐Kผฉุฟ&ั:ชšฐ?๖(\ย๕ุฟ€๐?๐?2Y(†ืเ+ทึ m9ทฟ^o%;า?ฒ๏งฦKืฟ๐ฟ๐ฟ2เ)ŠYๅ+ร๕(\ยๅฟ^o%;า?Fถ๓ิxัฟ๐?๐?2ๅ*ถเm+ทึ m9ทฟ^o%;า?m็๛ฉ๑าฟ๐ฟ๐ฟ2m+กๅ}+š๐Kผฉุฟ&ั:ชšฐ?๖(\ย๕ุฟ€๐?๐?2},ฌm +ร๕(\ยๅฟ^o%;า?$•Cฟ๐?๐?2 -“}ศ+š๐Kผฉุฟ^o%;า?๖(\ย๕ุฟ€๐?๐?2ศ.` J+ทึ m9ทฟaซ‹ร™Ÿ?)\ย๕(ไฟ๐ฟ๐ฟ2J/ศT+ร๕(\ยๅฟaซ‹ร™Ÿ?)\ย๕(ไฟ๐ฟ๐?2T0ฤJอ+š๐Kผฉุฟ&ั:ชšฐ?๖(\ย๕ุฟ€๐?๐?2อ1๓Tˆ+š๐Kผฉุฟ^o%;า?๖(\ย๕ุฟ€๐?๐?2ˆ2eอ@+ทึ m9ทฟ^o%;า?+‡ูฮใฟ๐ฟ๐ฟ2@3สˆา+ทึ m9ทฟ^o%;า?%•C‹เฟ๐ฟ๐ฟ2า4ฑ@๊+š๐Kผฉุฟ&ั:ชšฐ?๖(\ย๕ุฟ€๐?๐?2๊5–า๔+ร๕(\ยๅฟ^o%;า?#๙~jผิฟ๐?๐?2๔6o๊—+ร๕(\ยๅฟ^o%;า?ูฮ๗Sใลฟ๐?๐?2—7ฟ๔๙+ร๕(\ยๅฟ^o%;า?ปI +‡ฟ๐?๐?2๙8c—+š๐Kผฉุฟ^o%;า?๖(\ย๕ุฟ€๐?๐?29๙ฏ+ร๕(\ยๅฟ^o%;า?บI +‡โฟ๐?๐?2ฏ:บw+š๐Kผฉุฟ^o%;า?๖(\ย๕ุฟ€๐?๐?2w;งฏด+š๐Kผฉุฟ^o%;า?๖(\ย๕ุฟ€๐?๐?2ด<wฅ+š๐Kผฉุฟ^o%;า?๖(\ย๕ุฟ€๐?๐?2ฅ=™ดพ+š๐Kผฉุฟ&ั:ชšฐ?๖(\ย๕ุฟ€๐?๐?2พ>jฅร+š๐Kผฉุฟ^o%;า?๖(\ย๕ุฟ€๐?๐?2ร?vพ+ทึ m9ทฟ^o%;า?6^บI หฟ๐ฟ๐ฟ2@รc+ร๕(\ยๅฟ^o%;า?L7‰A`ๅเฟ๐?๐?2cA’+ทึ m9ทฟaซ‹ร™Ÿ?333333รฟ๐?๐?2’BฮcE+š๐Kผฉุฟ^o%;า?๖(\ย๕ุฟ€๐?๐?2EC…’h+ทึ m9ทฟ^o%;า?๘Sใฅ›ฤะฟ๐ฟ๐ฟ2hDœE;+ร๕(\ยๅฟ^o%;า?ุฟ๐?๐?2;E^hO+š๐Kผฉุฟaซ‹ร™Ÿ?๖(\ย๕ุฟ€๐?๐?2OF;ช+š๐Kผฉุฟ&ั:ชšฐ?๖(\ย๕ุฟ€๐?๐?2ชG์Oƒ+ทึ m9ทฟ^o%;า?”V-โฟ๐ฟ๐ฟ2ƒH|ช-+š๐Kผฉุฟ&ั:ชšฐ?๖(\ย๕ุฟ€๐?๐?2-Iƒ ++š๐Kผฉุฟ&ั:ชšฐ?๖(\ย๕ุฟ€๐?๐?2#h^r+ร๕(\ยๅฟaซ‹ร™Ÿ?333333รฟ๐?๐?2^"”๏+š๐Kผฉุฟ^o%;า?๖(\ย๕ุฟ€๐?๐?2๏!s^+š๐Kผฉุฟ&ั:ชšฐ?๖(\ย๕ุฟ€๐?๐?RRฺR๛ูR๖ุR๑ืR์ึR็ีRโิRำRูาRิัRฯะRสฯRลฮRภอRปฬRถหRฑสRฌษRงศRขวRฦR™ลR”ฤRรRŠยR…ม‚ะ|‚Dๆ#d+D‚Bdํ+‚Bึำ๕-B‚DR8Cึ+RภRyฟRtพRoฝRjผReปR`บR[นRVธRQทRLถRGตRBดR=ณR8TR4SR1RR.QR+PR(OR%NR"MRLRKRJRIRHRFR ER DRCRBRAR@R๚?R๗>R๔=R๑<R๎;R๋:R่9Rๅ8Rโ7R฿6R5Rู4Rึ3Rำ2Rะ1Rอ0Rส/Rว.Rฤ-Rม,Rพ+Rป*Rถ(Rด'Rฑ&Rฎ%Rซ$Rจ#Rฅ"Rข!RŸ R™R—R”RRRŠR‡R„RR~R{RxRuRrRoRl Rg Rc RaR^R[RXRURRRORLRIRFRCR@R=S6๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?S3๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?S0๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?S-๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?S*๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?S'๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?S$๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?S!๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?S๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?S๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?S๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?S๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?S๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?S๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?S ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?S ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?S๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Sไ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?OเAEDT_EntityID_V1v๙๔Hs^!†+}Pj”ฺ-}|_Z„-|ฅ}0‚-ฅq| uƒ+0ฏw _ n™’ผยQV;0ePQeU; QPW;_]RQ]X;[P RœQY;`]บ!R ›QบZ;นท"R!šR"™QT;e#RžQS;y$R#ŸQyR;97%R$ Q7Q;F=y&R%กQ=P;977'R&ขR'ฃqpฅล5-ut“f0ฅƒ|-pZq30-Zฆp9Ÿ4-ŸiTzZ4p+Rฺ)RีRาฎญณHfc-“(ฒH$n™’ผยตดpฒ$ณgผ-Q(c;Jl)QJb;Ho(*Qld;$("+R)Q"e;}l{,R+Q{f;y"-R,ŽR-Qoa;,*J.R*‘Q*`;(.o/R.’Q._;›˜*0R/“Q˜^;–ฦ.1R0”R1•ญฅฎ,ย๚-ฅญ(๘๕-šฅ›ฃ๙+๘ฆ+,ฅ๕ญ+Qศš;fc<2Qc™;aศ3Q<›;งศฅ4R2YQฅœ;ฃ<็5R4XQ็;จฅฏ6R5WQฏž;ญ็7R6UR7VQ˜;e๗c8R3ZQ๗—;๕์9R8[R9\Q˜ƒ;@s?:Qs‚;q}˜;Q?„; +˜ <R:pQ …;?&=R<oQ&†;  _>R=nQ_‡;w&u?R>mQuˆ;s_ู@R?lQู‰;xubAR@kQbŠ;”ู’BRAjQ’‹;b1CRBiQ1Œ;•’DRChQ;1SERDgQSŽ;‰‡FREfQ‡;…SœGRFeQœ;U‡THRGdQT‘;Rœ‹IRHcQ‹’;VTŽJRIaQŽ“;k‹iKRJbQi”;gŽ้LRK`RL_R;q๏dด—-—ๅๆ+๏oศq-ศ๐D๊ด๏q+RVY๘Qํฟ่+ํ็้่ Yฟ-R!Qh;  MRŒQ i; NRM‹Q j;ๆ ไORNŠQไk;ด ฒPROˆQฒl;ฑไVQRP‰QVm;ตฒ5RRQ‡Q5n;3VvSRR†Qvo;65YTRS…QYp;vURT„Qq;YVRUƒRV‚QNs;LXWRQXt;QNชXRW€Qชu;ZXEYRXQEv;ฌชMZRY~QMw;GE\[RZ}Q\x;qMo\R[|Qoy;m\B]R\{QBz;ro{^R]zQ{{;B_R^yQ|;ข{ `R_xQ };ƒaR`wQ~; เbRavQเ;„hcRbuQh€;โเ}dRctRdsR R +RๆGRค๛RrR๘]Rํ^Rฯ–Rว—Rผ˜R>ค+ SJ) +ฏ 'P&;e(#T (Al-ExtrudedOeAEDT_MaterialName_V1$end 'x_b' +$begin 'x_b' +Design_0.setup/NativeGeometryFiles/0000422.x_b +BIN000000008437 +**ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz************************** +**PARASOLID !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~0123456789************************** +**PART1; +MC=unknown; +MC_MODEL=unknown; +MC_ID=unknown; +OS=unknown; +OS_RELEASE=unknown; +FRU=sdl_parasolid_customer_support; +APPL=Electronics Desktop; +SITE=unknown; +USER=unknown; +FORMAT=binary; +GUISE=transmit; +KEY=C:/Users/skrishna/AppData/Local/Temp/Gra0F28101217539472302.setup/Design_0.setup/NativeGeometryFiles/0000422.x_b; +FILE=C:/Users/skrishna/AppData/Local/Temp/Gra0F28101217539472302.setup/Design_0.setup/NativeGeometryFiles/0000422.x_b; +DATE=unknown; +**PART2; +SCH=SCH_3601185_36001; +USFLD_SIZE=0; +**PART3; +**END_OF_HEADER***************************************************************** +B3: TRANSMIT FILE created by modeller version 3601185SCH_3601185_36001_13006็ฐPART_XMT_BLOCK Part list n_entriesdindex_map_offsetd index_mapRschema_embedding_mapRmesh_offset_dataฮentriesํ $CCCIlatticeCCCImesh๎Ipolyline๐CCCCCCCDIownerCCCIboundary_latticeCCCI boundary_mesh๎Iboundary_polyline๐CCCAindex_map_offsetdA index_mapRAnode_id_index_mapRAschema_embedding_mapRAchild Alowest_node_iddAmesh_offset_dataฮZ@@:Œ0โŽyE>  +   @@:Œ0โŽyE>QF CI list_typeuI +notransmitlCCCDCCDI finger_indexdI finger_block๔CZ  CCCCCCIframeๆCAowner ZVn™’ผยJCIindex_map_offsetdCCZQQPCCCCCDI legal_ownerslCZ !DS@@O!SDL/TYSA_DENSITYP"#(#TUNIT=mmO#AEDT_EntityName_V1P$%(#S{ฎGแz„?O%AEDT_ExtentScale_V1Q&'(F)) $*+2 +**,+แzฎGแสฟฉ๑าMb?แzฎGแโฟ๐ฟ๐ฟ >-.+๖(\ย๕เฟaซ‹ร™Ÿ?แzฎGแโฟ๐? 2/0๖(\ย๕เฟฉ๑าMb?แzฎGแโฟ +1V 2n™’ผย3456780n™’ผยQ6ƒ9:;<7=>?@4A+8;3BCn™’ผย01D ๖(\ย๕เฟaซ‹ร™Ÿ?แzฎGแโฟD0EC0แzฎGแสฟฉ๑าMb?HแzฎGัฟE FGHIDn™’ผยC/8JDแzฎGแสฟaซ‹ร™Ÿ?แzฎGแโฟJ.KLC๖(\ย๕เฟฉ๑าMb?HแzฎGัฟKMNI/Jn™’ผยL-BOJ๖(\ย๕เฟaซ‹ร™Ÿ?HแzฎGัฟBPQ8HLn™’ผยO,IRLแzฎGแสฟฉ๑าMb?แzฎGแโฟI STEKOn™’ผยR+HOแzฎGแสฟaซ‹ร™Ÿ?HแzฎGัฟHUVBERn™’ผยQU†9HPFWVXG3HYZ[-X3\GX]VE^_`-3XV]8T>+Yab[8VZ+Zcn™’ผยYdef[aYQHgh^+aYiQa[bBA-j+gkN^B[h-hln™’ผย[e_m^kg`HG_+k^n`k^NEopq+_rn™’ผย^hpsQr~9_tluvp un™’ผย`_wxs<_y.+แzฎGแสฟฉ๑าMb?HแzฎGัฟ๐?y;z{s+แzฎGแสฟฉ๑าMb?แzฎGแโฟ๐ฟ.=es +๖(\ย๕เฟฉ๑าMb?HแzฎGัฟ๐?e|n™’ผยjZh.Q||9e}cl~jA€BNeg+jA@jQ-b-€j@K‚ƒ+Nk`gKjeo-o„‚qK`p€-„‚…‚„†o/€ƒ-q„o†E]w-†„q‚I?z-]X3GIqw†+w +‡n™’ผย]pzˆQ‡€9w‰uŠ‹zŠn™’ผย?wƒyˆ9wŒ{+แzฎGแสฟฉ๑าMb?HแzฎGัฟ๐ฟŒ8dˆ+แzฎGแสฟaซ‹ร™Ÿ?แzฎGแโฟ๐ฟ{:4ˆy+๖(\ย๕เฟฉ๑าMb?แzฎGแโฟ๐?4Žn™’ผย7-{QŽx942‘-n™’ผยQ4d Qy9-’Ž“”d“n™’ผยb-ZŒQ“z9d•c–baQY>d+>=T78bdY-="7*T=?>I3]-?=7T/†z‚+/—@K n™’ผยQ—Š9/M˜@€A/74?-P9™š(#QM‰9KS—›R˜บQSˆ9IFMœR›นQF‡9EUSRœปRผOšAEDT_EntityID_V1*!žn™’ผย\= ++\1Qžq9*Ÿ กข\กn™’ผย*X ฃ+*1 1 *Qกr9\คžฅฆฅn™’ผยi\ ง+i\12ฃ(\จ,+แzฎGแสฟฉ๑าMb?HแzฎGัฟ๐?๐?2จ'iงฃ+ฎGแzฎืฟaซ‹ร™Ÿ?…๋Qธ…ฟ€๐?๐?2,)…ฃ ++ฎGแzฎืฟฉ๑าMb?…๋Qธ…ฟ€๐?๐?…ฉn™’ผยn„ ,-n1Qฉv9…ชซ2ฌn ซn™’ผย…ik ญ+…i1Qซu9nฎฏฉฐiฏn™’ผยna จ+n12ญ%nง+๖(\ย๕เฟฉ๑าMb?HแzฎGัฟ๐?๐?2ง&ญจ+๖(\ย๕เฟฉ๑าMb?แzฎGแโฟ๐ฟ๐?Qฏt9iฑฅซฒQฑ]ณiฏดฎตQฅs9ดกฏถRฒฉQด\ณฅคฑทRถชPณธAQค[ณ\กŸดนSท๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?QŸZณ*žคบSน๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Sบ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?OธSDL/TYSA_COLOURQฎ^ณnซฑชปSต๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Qช_ณ…ฉฎผฝSป๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Qผ`ณ2ชพSฝ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Q2w9ผฉŽฟQaณ4Žผ’ภSพ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Q’bณ-•มSภ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Q•cณd“’ยรSม๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?QยdณZc•}ฤSร๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Qc{9Zย“|ลQ}eณe|ยฦวSฤ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Qฦfณhl}tศSว๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Ql}9hฦ|rษQtgณ_rฦสหSศ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Qสhณput‰ฬSห๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Qu9pสr‡อQ‰iณw‡สฮฯSฬ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?QฮjณzЉะัSฯ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?QЁ9zฮ‡:าQะkณƒ:ฮำSั๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?ƒ:n™’ผย€zQ:‚9ƒะŠ6ิSำ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Rิญ7ƒmŒ+๖(\ย๕เฟฉ๑าMb?แzฎGแโฟ๐?m6hx+๖(\ย๕เฟaซ‹ร™Ÿ?HแzฎGัฟ๐?x5p5m+๖(\ย๕เฟฉ๑าMb?HแzฎGัฟ๐?54fx+แzฎGแสฟฉ๑าMb?แzฎGแโฟ๐?f3Z5+แzฎGแสฟaซ‹ร™Ÿ?HแzฎGัฟ๐ฟRาฎRอฐRษฒRลดRฟธRฐจRฌงRฆซQ p9ีึžืRขฌQีnุู ฺQึ‹™ 'RืฆP™(#Q'ŒึRฏฏฏ€TCPUOAEDT_BODYFlagGroupColor_V1Pุ฿QQูmเแีโTฺCPUPเใ(#QแYไูๅRโPไณๆhSๅ๖๕๕๕๕๕ๅ?๖๕๕๕๕๕ๅ?๖๕๕๕๕๕ๅ?OๆSDL/TYSA_COLOUR_2OใAttGS_PS_LayerO ฿SDL/TYSA_NAMER–ตR”ถR‘ทR‹ฏR~ณRvฑQP…9B;U็RWฝQ;„986P่R็พR่ฟR<ภ+# SJ)แะูี—ึ'P&9้(#T (Al-ExtrudedO้AEDT_MaterialName_V1$end 'x_b' +$begin 'x_b' +Design_0.setup/NativeGeometryFiles/0000450.x_b +BIN000000008459 +**ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz************************** +**PARASOLID !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~0123456789************************** +**PART1; +MC=unknown; +MC_MODEL=unknown; +MC_ID=unknown; +OS=unknown; +OS_RELEASE=unknown; +FRU=sdl_parasolid_customer_support; +APPL=Electronics Desktop; +SITE=unknown; +USER=unknown; +FORMAT=binary; +GUISE=transmit; +KEY=C:/Users/skrishna/AppData/Local/Temp/Gra0F28101217539472302.setup/Design_0.setup/NativeGeometryFiles/0000450.x_b; +FILE=C:/Users/skrishna/AppData/Local/Temp/Gra0F28101217539472302.setup/Design_0.setup/NativeGeometryFiles/0000450.x_b; +DATE=unknown; +**PART2; +SCH=SCH_3601185_36001; +USFLD_SIZE=0; +**PART3; +**END_OF_HEADER***************************************************************** +B3: TRANSMIT FILE created by modeller version 3601185SCH_3601185_36001_13006็ฐPART_XMT_BLOCK Part list n_entriesdindex_map_offsetd index_mapRschema_embedding_mapRmesh_offset_dataฮentriesํ $CCCIlatticeCCCImesh๎Ipolyline๐CCCCCCCDIownerCCCIboundary_latticeCCCI boundary_mesh๎Iboundary_polyline๐CCCAindex_map_offsetdA index_mapRAnode_id_index_mapRAschema_embedding_mapRAchild Alowest_node_iddAmesh_offset_dataฮZ@@:Œ0โŽyE>  +   @@:Œ0โŽyE>QF CI list_typeuI +notransmitlCCCDCCDI finger_indexdI finger_block๔CZ  CCCCCCIframeๆCAowner ZVn™’ผยJCIindex_map_offsetdCCZQQPCCCCCDI legal_ownerslCZ !DS@@O!SDL/TYSA_DENSITYP"#(#TUNIT=mmO#AEDT_EntityName_V1P$%(#S{ฎGแz„?O%AEDT_ExtentScale_V1Q&'(F)) $*+2 +*,-+€๐?๐? >./+š™™™™™๙ฟš™™™™™๑ฟ๐? 201š™™™™™๙ฟš™™™™™๑ฟ +2V 3n™’ผย456789:n™’ผยQ7ƒ;<=>8?@A4B-9=CDEn™’ผย:0F1ฉ๑าMb?š™™™™™๑ฟF/GH:š™™™™™๙ฟฉ๑าMb?š™™™™™๑ฟ11D: š™™™™™๙ฟฉ๑าMb?DIJ9G1n™’ผยQI…;D=KLJMNODPQR-GK4DSFn™’ผยQK†;GITU4VWBG8A+S T@G0Xn™’ผยQT‡;SKYZ@?[8S\]^-0 Y_S` n™’ผยX,SEaš™™™™™๑ฟE+9Xฉ๑าMb?a-bXHš™™™™™๙ฟbcN`an™’ผยH.`aF`de0bHn™’ผยQd‰;`Ycfeg^C`Ohi-g\j^g\eSikl+Cge\9B5O-OMJm9ehP+hnn™’ผยO]Qoipql`^km-pq,qpribms-lpirS[t-k un™’ผย^vtwmMON`qs+MJxNMmJbRyz+s<n™’ผยm./Q<‚;s{|7}.|n™’ผยzts /=s~ +q= +ืฃpอฟ๐?~<6/+š™™™™™๙ฟš™™™™™๑ฟ๐?€n™’ผยAyv~6;~+ฉ๑าMb?š™™™™™๑ฟ๐ฟ:5‚6+ฉ๑าMb?๐ฟ5ƒn™’ผยB]‚9v„+š™™™™™๙ฟฉ๑าMb?š™™™™™๑ฟ๐?v…n™’ผยWk‚„8]†‚+š™™™™™๑ฟ๐?]‡n™’ผย\5h„†7yo„+š™™™™™๙ฟ๐ฟyˆn™’ผยNQ†o6h‰†+๐?‰5Qwo+ืฃp= +ื๓ฟฉ๑าMb?๐?QŠn™’ผยPhy‰w4k‹‰+๐ฟ‹3tw+š™™™™™๑ฟ๐ฟt +Œn™’ผย[k.‹QŒ€;tu|Ž[?A@0ltr+?"A*A?8[G_+rplq0z.-zR_br.q+‘RzDNyW-_z0A[-_RGWv-WVP4Dv+VW’PVBW9JQ+BV4PC5\+\gC^@]+’“n™’ผยj*V ”+j*2Q“r;’•–—˜j—n™’ผยx’g ™+x’2*!–n™’ผย’? -+’22”&’š›+gfffff๖ฟฉ๑าMb?333333รฟ€๐?๐? 2 *2š%‘”+š™™™™™๙ฟš™™™™™๑ฟ๐ฟ๐?2›'x”™+š™™™™™๙ฟ๐?๐?xœn™’ผย‘jM ›+‘j22™(j›-+๐?๐?2-)*™ ++š™™™™™๑ฟ๐ฟ๐ฟQœt;x—žŸ‘ žn™’ผย,x š+,x2Qžu;‘ œกข,กn™’ผย‘p +-‘2Qกv;,ฃž3คP;ฅฆ(#Qฃ_ง,ก จฉQ3w;จกƒชRครQจ`ง3ฃซฌQƒx;5ซ3‡ญRชิQซaง5ƒจฎฏQ‡y;]ฎƒnฐRญำQฎbง]‡ซฑฒQnz;hฑ‡ŠณRฐาQฑcงhnฎดตQŠ{;QดnˆถRณัQดdงQŠฑทธQˆ|;yทŠ€นRถะQทeงyˆดบปQ€};บˆ…ผRนฯQบfง€ทฝพQ…~;vฝ€uฟRผฮQฝgงv…บภมQu;kภ…ŒยRฟอQภhงkuฝรRยฬPงฤAQiงtŒภลฦSร๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Qลjง.|{วSฦ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Q|;.ลŒ<ศQ{kงs<ลษSว๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Sษ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?RศสOฤSDL/TYSA_COLOURSม๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Sพ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Sป๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Sธ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Sต๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Sฒ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Sฏ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Sฌ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Q ^ง‘žฃสSฉ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Q]งxœห ฬSส๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Qห\งj—•อSฬ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Q—s;jห“œฮQ•[ง’“ฯหะSอ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?QฯZง*–•ัSะ๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Q–q;*ฯา“ำSั๒๑๑๑๑๑แ?๖๕๕๕๕๕ๅ?๒๑๑๑๑๑แ?Qาp;ิี–ึRำศQิnืุาูQี‹ฅา'ฺRึยPฅ(#Q'ŒีRฺฏฏฏ€TALPHA_MAIN_PCBOAEDT_BODYFlagGroupColor_V1PืQQุm฿เิแTูALPHA_MAIN_PCBP฿โ(#QเYใุไRแPใงๅhSไ๖๕๕๕๕๕ๅ?๖๕๕๕๕๕ๅ?๖๕๕๕๕๕ๅ?OๅSDL/TYSA_COLOUR_2OโAttGS_PS_LayerO SDL/TYSA_NAMERฮฦOฆAEDT_EntityID_V1RขฤRŸลR˜วRŽหR}ษQYˆ;0TdๆQcŠ;bd็RfีR็ึRๆืRZุRUฺQ=„;97I่RLูR่R>+# SJ)เ{ุิcี'P&;้(#T (Al-ExtrudedO้AEDT_MaterialName_V1$end 'x_b' +$end 'Design_0.setup/NativeGeometryFiles' +$end 'AllReferencedFilesForProject' +$begin 'ProjectPreview' + IsEncrypted=false + Thumbnail64='/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQE\ +BAQICAQECAQEBAgICAgICAgICAQICAgICAgICAgL/2wBDAQEBAQEBAQEBAQECAQEBAgICAgICAgICAg\ +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgL/wAARCABgAGADASIAAhEBAxEB/\ +8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQR\ +BRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUp\ +TVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5us\ +LDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAA\ +AECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHB\ +CSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ\ +3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4u\ +Pk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD+/iiivzA/b5/ay+O3wg+Kf7Pn7N/wL+EPxA8T/\ +wDDQHw//aB+J3xi+P3wnt/B3j/4p/sofAn9nvxH+zz4e+IPxT+Gn7N3jC0P/DRnxAm/4aC0iz0bSdLX\ +xFrGlaj9m1ux+F/xg+xy/DrXQD7f+Nfx3+Gf7PnhXT/FvxN1TxBBba54gtfCfhXw14G8AfEL4vfEzx5\ +4qutO1XXT4Z+G3wg+EXhbXfFfxL8QW/hbw94o1y+stA0XUbnTvD3g7W/EN/HbaJouq39n8AfDT/grF8\ +Pbnxp+0L4a/au+Bfxg/YL8N/Av4waL8JG+Kn7RV/8ADPXfg0uo6n8Avgf8cbqP4zfHb4E+OfF3w9/Zk\ +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' + $begin 'DesignInfo' + DesignName='IcepakDesign1' + Notes='' + Factory='Icepak' + IsSolved=false + 'Nominal Setups'[1: 'Setup1'] + 'Nominal Setup Types'[1: ''] + 'Optimetrics Setups'[0:] + 'Optimetrics Experiment Types'[0:] + Image64='/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQE\ +BAQICAQECAQEBAgICAgICAgICAQICAgICAgICAgL/2wBDAQEBAQEBAQEBAQECAQEBAgICAgICAgICAg\ +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgL/wAARCADIAMgDASIAAhEBAxEB/\ +8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQR\ +BRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUp\ +TVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5us\ +LDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAA\ +AECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHB\ +CSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ\ +3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4u\ +Pk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD+/iiiigAooooAKKK8A+On7UfwJ/Zw/wCEWsvix\ +45/s7xb4+/tv/hWnwp8H+GfGPxX+O3xZ/4RX+yJfGX/AAp39n/4T+Htb8bfF7+wdM1zTdS8Q/8ACM6B\ +qv8AYGjvLres/YdItrm9iAPf6K/GH9rvxz/wUVuvhT4T+KI+JPh/9g/wt4g/af8A2IvhHoXw1+E+h/C\ +/4/8A7Ss/hX9pb9tD4Bfs+6/rfxh+Lnxf8E+Ifhv4E8QQfC743+KkvfAXhDwX41ttF8b/AA/0bW9K+O\ +fjDwpPqXhnUfp//hpD42fsyf6P+3do/wAP7/4ZP+50z9sf9nDwR8XYPhZp11F/xONdu/2nPgVqEfi/U\ +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\ +' + $end 'DesignInfo' +$end 'ProjectPreview' diff --git a/tests/system/extensions/load.json b/tests/system/extensions/load.json new file mode 100644 index 00000000000..72a6a9dfd7b --- /dev/null +++ b/tests/system/extensions/load.json @@ -0,0 +1 @@ +{"objects": {"MEMORY1": {"SurfaceMaterial": "Soft Rubber-Gray-surface", "Material": "Al-Extruded", "SolveInside": true, "Model": true, "Group": "graphics_card_simple", "Transparency": 0.0, "Color": [175, 175, 175], "CoordinateSystem": "Global"}, "SERIAL_PORT": {"SurfaceMaterial": null, "Material": "Al-Extruded", "SolveInside": true, "Model": "False", "Group": "graphics_card_simple", "Transparency": 0.0, "Color": [175, 175, 175], "CoordinateSystem": "Global"}}, "materials": {"PCB_Material": {"CoordinateSystemType": "Cartesian", "BulkOrSurfaceType": 1, "PhysicsTypes": {"set": ["Thermal"]}, "AttachedData": {"MatAppearanceData": {"property_data": "appearance_data", "Red": 210, "Green": 105, "Blue": 30, "Transparency": 0.0}}, "permittivity": "1", "permeability": "1", "conductivity": "0", "dielectric_loss_tangent": "0", "magnetic_loss_tangent": "0", "thermal_conductivity": "0.01", "mass_density": "2", "specific_heat": "2", "youngs_modulus": "0", "poissons_ratio": "0", "thermal_expansion_coefficient": "1", "diffusivity": "0.8", "molecular_mass": "0", "viscosity": "0"}, "Al-Extruded": {"CoordinateSystemType": "Cartesian", "BulkOrSurfaceType": 1, "PhysicsTypes": {"set": ["Thermal"]}, "AttachedData": {"MatAppearanceData": {"property_data": "appearance_data", "Red": 232, "Green": 235, "Blue": 235}}, "permittivity": "1", "permeability": "1", "conductivity": "0", "dielectric_loss_tangent": "0", "magnetic_loss_tangent": "0", "thermal_conductivity": "200", "mass_density": "2000", "specific_heat": "900", "youngs_modulus": "0", "poissons_ratio": "0", "thermal_expansion_coefficient": "0", "thermal_material_type": {"property_type": "ChoiceProperty", "Choice": "Solid"}, "diffusivity": "0.8", "molecular_mass": "0", "viscosity": "0", "clarity_type": {"property_type": "ChoiceProperty", "Choice": "Opaque"}}, "air": {"CoordinateSystemType": "Cartesian", "BulkOrSurfaceType": 1, "PhysicsTypes": {"set": ["Electromagnetic", "Thermal"]}, "AttachedData": {"MatAppearanceData": {"property_data": "appearance_data", "Red": 230, "Green": 230, "Blue": 230, "Transparency": 0.949999988079071}}, "permittivity": "1.0006", "permeability": "1.0000004", "conductivity": "0", "dielectric_loss_tangent": "0", "magnetic_loss_tangent": "0", "thermal_conductivity": "0.0261", "mass_density": "1.1614", "specific_heat": "1005", "youngs_modulus": "0", "poissons_ratio": "0", "thermal_expansion_coefficient": "0.00333", "thermal_material_type": {"property_type": "ChoiceProperty", "Choice": "Fluid"}, "diffusivity": "2.88e-05", "molecular_mass": "0.028966", "viscosity": "2e-06", "material_refractive_index": "1.000293", "clarity_type": {"property_type": "ChoiceProperty", "Choice": "Transparent"}}}, "boundaries": {"Memory": {"ID": 3, "BoundType": "Block", "IsComponent": false, "Objects": [62, 90], "ParentBndID": -1, "Block Type": "Solid", "Use External Conditions": false, "Use Total Power": false, "Power Density": "2w_per_m3"}, "CPU": {"ID": 2, "BoundType": "Block", "IsComponent": false, "Objects": [422, 150], "ParentBndID": -1, "Block Type": "Solid", "Use External Conditions": false, "Use Total Power": true, "Total Power": "2W"}, "Source1": {"ID": 5, "BoundType": "Source", "IsComponent": false, "Faces": [155], "Thermal Condition": "Total Power", "Total Power": "1.5W", "Surface Heat": "0mW_per_m2", "Temperature": "AmbientTemp", "Radiation": {"Radiate": false}, "Voltage/Current - Enabled": false, "Voltage/Current Option": "Current", "Current": "0A", "Voltage": "0V"}}, "general": {"object_mapping": {"12": ["Region", [80.0, 14.0, -55.0]], "10": ["Region", [-240.0, 14.0, -55.0]], "422": "CPU", "150": "KB", "178": "HEAT_SINK", "62": "MEMORY1", "90": "MEMORY1_1", "155": ["KB", [-153.6, 1.6, -102.0]], "6": "Region", "34": "SERIAL_PORT", "118": "CAPACITOR", "134": "CAPACITOR_1", "450": "ALPHA_MAIN_PCB", "498": "Box1", "554": "MeshRegion1_SubRegion", "582": "MeshRegion2_SubRegion"}}} \ No newline at end of file diff --git a/tests/system/extensions/test_icepak_model_reviewer.py b/tests/system/extensions/test_icepak_model_reviewer.py new file mode 100644 index 00000000000..7f4784b7e08 --- /dev/null +++ b/tests/system/extensions/test_icepak_model_reviewer.py @@ -0,0 +1,118 @@ +# -*- coding: utf-8 -*- +# +# Copyright (C) 2021 - 2025 ANSYS, Inc. and/or its affiliates. +# SPDX-License-Identifier: MIT +# +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + +from pathlib import Path + +import pytest + +from ansys.aedt.core.extensions.icepak.icepak_model_reviewer import IcepakModelReviewer +from ansys.aedt.core.icepak import Icepak + +AEDT_FILENAME = "Graphics_Card" +CONFIG_FILE = "Modified_Data.json" +TEST_SUBFOLDER = "T45" +AEDT_FILE_PATH = Path(__file__).parent / "example_models" / TEST_SUBFOLDER / (AEDT_FILENAME + ".aedt") + + +@pytest.fixture(autouse=True) +def ipk(add_app, request): + if hasattr(request, "param"): + prj_name = request.param + else: + prj_name = None + app = add_app(project_name=prj_name, application=Icepak, subfolder=TEST_SUBFOLDER) + yield app + app.close_project(app.project_name, False) + + +@pytest.mark.parametrize("ipk", [AEDT_FILENAME], indirect=True) +def test_successfull_data_loading(ipk): + """Test the successful execution of the power map creation in Icepak.""" + extension = IcepakModelReviewer(withdraw=False) + extension.load_button.invoke() + boundary_table = extension.root.boundary_tab.winfo_children()[0] + assert len(boundary_table.tree.get_children()) == 3 + row1 = boundary_table.tree.get_children()[0] + row2 = boundary_table.tree.get_children()[1] + row3 = boundary_table.tree.get_children()[2] + assert boundary_table.tree.item(row1)["values"][5] == "4W" + assert boundary_table.tree.item(row2)["values"][5] == "5w_per_m3" + assert boundary_table.tree.item(row3)["values"][5] == "1W" + materials_table = extension.root.materials_tab.winfo_children()[0] + assert len(materials_table.tree.get_children()) == 4 + row1 = materials_table.tree.get_children()[0] + row2 = materials_table.tree.get_children()[1] + row3 = materials_table.tree.get_children()[2] + row4 = materials_table.tree.get_children()[3] + assert materials_table.tree.item(row1)["values"][3] == 152 + assert materials_table.tree.item(row2)["values"][4] == "1.1614" + assert materials_table.tree.item(row3)["values"][5] == 2 + assert materials_table.tree.item(row4)["values"][6] == 0 + model_table = extension.root.models_tab.winfo_children()[0] + assert len(model_table.tree.get_children()) == 11 + row1 = model_table.tree.get_children()[0] + row2 = model_table.tree.get_children()[1] + row3 = model_table.tree.get_children()[2] + assert model_table.tree.item(row1)["values"][2] == "air" + assert model_table.tree.item(row2)["values"][3] == "Soft Rubber-Gray-surface" + assert model_table.tree.item(row3)["values"][4] == "True" + assert model_table.tree.item(row3)["values"][5] == "Model" + + +@pytest.mark.parametrize("ipk", [AEDT_FILENAME], indirect=True) +def test_successfull_data_modification(ipk): + extension = IcepakModelReviewer(withdraw=True) + extension.load_button.invoke() + boundary_table = extension.root.boundary_tab.winfo_children()[0] + row1 = boundary_table.tree.get_children()[0] + row2 = boundary_table.tree.get_children()[1] + row3 = boundary_table.tree.get_children()[2] + boundary_table.tree.set(row1, column="Value 1", value="2W") + boundary_table.tree.set(row1, column="Selected Objects", value="CPU,KB") + boundary_table.tree.set(row2, column="Value 1", value="2w_per_m3") + boundary_table.tree.set(row3, column="Value 1", value="1.5W") + extension.update_button.invoke() + assert ipk.boundaries[2].properties["Assignment"] == "CPU, KB" + assert ipk.boundaries[3].properties["Power Density"] == "2w_per_m3" + assert ipk.boundaries[4].properties["Total Power"] == "1.5W" + materials_table = extension.root.materials_tab.winfo_children()[0] + row1 = materials_table.tree.get_children()[0] + row2 = materials_table.tree.get_children()[1] + row3 = materials_table.tree.get_children()[2] + materials_table.tree.set(row1, column="Thermal Conductivity", value="200") # Al-Extruded + materials_table.tree.set(row2, column="Viscosity", value="2e-06") # Air + materials_table.tree.set(row3, column="Mass Density", value="2") # PCB_Material + extension.update_button.invoke() + assert ipk.materials.material_keys["al-extruded"].thermal_conductivity.value == "200" + assert ipk.materials.material_keys["air"].viscosity.value == "2e-06" + assert ipk.materials.material_keys["pcb_material"].mass_density.value == "2" + model_table = extension.root.models_tab.winfo_children()[0] + row2 = model_table.tree.get_children()[1] # SERIAL_PORT + row3 = model_table.tree.get_children()[2] # MEMORY + # 6 Region, 34 serial port, 62 memory + model_table.tree.set(row2, column="Modeling", value="Non-Model") + model_table.tree.set(row3, column="Bulk Material", value="Al-Extruded") + extension.update_button.invoke() + assert ipk.modeler.objects[62].material_name == "al-extruded" + assert not ipk.modeler.objects[34].model diff --git a/tests/unit/extensions/graphics_card.json b/tests/unit/extensions/graphics_card.json new file mode 100644 index 00000000000..28fac3e3d1b --- /dev/null +++ b/tests/unit/extensions/graphics_card.json @@ -0,0 +1,544 @@ +{ + "general": { + "pyaedt_version": "0.18.0", + "model_units": "mm", + "design_name": "IcepakDesign1", + "date": "11/08/2025 14:59:14", + "object_mapping": { + "12": [ + "Region", + [ + 80.0, + 14.0, + -55.0 + ] + ], + "10": [ + "Region", + [ + -240.0, + 14.0, + -55.0 + ] + ], + "422": "CPU", + "150": "KB", + "178": "HEAT_SINK", + "62": "MEMORY1", + "90": "MEMORY1_1", + "155": [ + "KB", + [ + -153.6, + 1.6, + -102.0 + ] + ] + }, + "output_variables": {} + }, + "setups": { + "Setup1": { + "ID": 0, + "SetupType": 11, + "Enabled": true, + "MeshLink": { + "ImportMesh": false + }, + "Flow Regime": "Turbulent", + "Turbulent Model Eqn": "ZeroEquation", + "Include Temperature": true, + "Include Flow": true, + "Include Gravity": true, + "Include Solar": false, + "Solution Initialization - X Velocity": "0m_per_sec", + "Solution Initialization - Y Velocity": "0m_per_sec", + "Solution Initialization - Z Velocity": "0m_per_sec", + "Solution Initialization - Temperature": "AmbientTemp", + "Solution Initialization - Turbulent Kinetic Energy": "0", + "Solution Initialization - Turbulent Dissipation Rate": "0", + "Solution Initialization - Specific Dissipation Rate": "0", + "Solution Initialization - Use Model Based Flow Initialization": false, + "Convergence Criteria - Flow": "0.001", + "Convergence Criteria - Energy": "1e-07", + "Convergence Criteria - Turbulent Kinetic Energy": "1e-07", + "Convergence Criteria - Turbulent Dissipation Rate": "1e-07", + "Convergence Criteria - Specific Dissipation Rate": "0.001", + "Convergence Criteria - Discrete Ordinates": "1e-06", + "Convergence Criteria - Joule Heating": "1e-07", + "GPU Convergence Criteria - Flow": "0.001", + "GPU Convergence Criteria - Energy": "1e-05", + "GPU Convergence Criteria - Turbulent Kinetic Energy": "0.001", + "GPU Convergence Criteria - Turbulent Dissipation Rate": "0.001", + "GPU Convergence Criteria - Specific Dissipation Rate": "0.001", + "GPU Convergence Criteria - Discrete Ordinates": "1e-05", + "GPU Convergence Criteria - Joule Heating": "1e-07", + "IsEnabled": false, + "Radiation Model": "Off", + "Solar Radiation Model": "Solar Radiation Calculator", + "Solar Enable Participating Solids": false, + "Solar Radiation - Scattering Fraction": "0", + "Solar Radiation - North X": "0", + "Solar Radiation - North Y": "0", + "Solar Radiation - North Z": "0", + "Solar Radiation - Day": 1, + "Solar Radiation - Month": 1, + "Solar Radiation - Hours": 0, + "Solar Radiation - Minutes": 0, + "Solar Radiation - GMT": "0", + "Solar Radiation - Latitude": "0", + "Solar Radiation - Latitude Direction": "North", + "Solar Radiation - Longitude": "0", + "Solar Radiation - Longitude Direction": "East", + "Solar Radiation - Ground Reflectance": "0", + "Solar Radiation - Sunshine Fraction": "0", + "Under-relaxation - Pressure": "0.3", + "Under-relaxation - Momentum": "0.7", + "Under-relaxation - Temperature": "1", + "Under-relaxation - Turbulent Kinetic Energy": "0.8", + "Under-relaxation - Turbulent Dissipation Rate": "0.8", + "Under-relaxation - Specific Dissipation Rate": "0.8", + "Under-relaxation - Joule Heating": "1", + "Under-relaxation - Body Force": "1", + "Under-relaxation - Turbulent Viscosity": "1", + "Discretization Scheme - Pressure": "Standard", + "Discretization Scheme - Momentum": "First", + "Discretization Scheme - Temperature": "First", + "Secondary Gradient": false, + "Discretization Scheme - Turbulent Kinetic Energy": "First", + "Discretization Scheme - Turbulent Dissipation Rate": "First", + "Discretization Scheme - Specific Dissipation Rate": "First", + "Discretization Scheme - Discrete Ordinates": "First", + "Linear Solver Type - Pressure": "flex", + "Linear Solver Type - Momentum": "flex", + "Linear Solver Type - Temperature": "flex", + "Linear Solver Type - Turbulent Kinetic Energy": "flex", + "Linear Solver Type - Turbulent Dissipation Rate": "flex", + "Linear Solver Type - Specific Dissipation Rate": "flex", + "Linear Solver Type - Joule Heating": "F", + "Linear Solver Termination Criterion - Pressure": "0.1", + "Linear Solver Termination Criterion - Momentum": "0.1", + "Linear Solver Termination Criterion - Temperature": "0.1", + "Linear Solver Termination Criterion - Turbulent Kinetic Energy": "0.1", + "Linear Solver Termination Criterion - Turbulent Dissipation Rate": "0.1", + "Linear Solver Termination Criterion - Specific Dissipation Rate": "0.1", + "Linear Solver Termination Criterion - Joule Heating": "1e-09", + "Linear Solver Residual Reduction Tolerance - Pressure": "0.1", + "Linear Solver Residual Reduction Tolerance - Momentum": "0.1", + "Linear Solver Residual Reduction Tolerance - Temperature": "0.1", + "Linear Solver Residual Reduction Tolerance - Turbulent Kinetic Energy": "0.1", + "Linear Solver Residual Reduction Tolerance - Turbulent Dissipation Rate": "0.1", + "Linear Solver Residual Reduction Tolerance - Specific Dissipation Rate": "0.1", + "Linear Solver Residual Reduction Tolerance - Joule Heating": "1e-09", + "Maximum Cycles": "30", + "Linear Solver Stabilization - Pressure": "None", + "Linear Solver Stabilization - Temperature": "None", + "Linear Solver Stabilization - Joule Heating": "None", + "Coupled pressure-velocity formulation": false, + "Turn off auto-pairing for grid interface creation": false, + "2D Profile Interpolation Method": "Inverse Distance Weighted", + "Frozen Flow Simulation": false, + "TEC Coupling": false, + "Sequential Solve of Flow and Energy Equations": false, + "Convergence Criteria - Max Iterations": 100 + } + }, + "boundaries": { + "Grille1": { + "ID": 0, + "BoundType": "Grille", + "IsComponent": false, + "Faces": [ + 12 + ], + "Pressure Loss Type": "Coeff", + "Free Area Ratio": "0.8", + "Resistance Type": "Perforated Thin Vent", + "External Rad. Temperature": "AmbientTemp", + "External Total Pressure": "AmbientPressure", + "DimUnits": [ + "", + "" + ], + "X()": null, + "Y()": null + }, + "Opening1": { + "ID": 1, + "BoundType": "Opening", + "IsComponent": false, + "Faces": [ + 10 + ], + "Temperature": "AmbientTemp", + "External Rad. Temperature": "AmbientRadTemp", + "Inlet Type": "Velocity", + "Static Pressure": "AmbientPressure", + "X Velocity": "2m_per_sec", + "Y Velocity": "0m_per_sec", + "Z Velocity": "0m_per_sec", + "No Reverse Flow": false + }, + "CPU": { + "ID": 2, + "BoundType": "Block", + "IsComponent": false, + "Objects": [ + 422, + 150, + 178 + ], + "ParentBndID": -1, + "Block Type": "Solid", + "Use External Conditions": false, + "Use Total Power": true, + "Total Power": "4W" + }, + "Memory": { + "ID": 3, + "BoundType": "Block", + "IsComponent": false, + "Objects": [ + 62, + 90 + ], + "ParentBndID": -1, + "Block Type": "Solid", + "Use External Conditions": false, + "Use Total Power": false, + "Power Density": "5w_per_m3" + }, + "Source1": { + "ID": 5, + "BoundType": "Source", + "IsComponent": false, + "Faces": [ + 155 + ], + "Thermal Condition": "Total Power", + "Total Power": "1W", + "Surface Heat": "0mW_per_m2", + "Temperature": "AmbientTemp", + "Radiation": { + "Radiate": false + }, + "Voltage/Current - Enabled": false, + "Voltage/Current Option": "Current", + "Current": "0A", + "Voltage": "0V" + } + }, + "materials": { + "Al-Extruded": { + "CoordinateSystemType": "Cartesian", + "BulkOrSurfaceType": 1, + "PhysicsTypes": { + "set": [ + "Thermal" + ] + }, + "AttachedData": { + "MatAppearanceData": { + "property_data": "appearance_data", + "Red": 232, + "Green": 235, + "Blue": 235 + } + }, + "permittivity": "1", + "permeability": "1", + "conductivity": "0", + "dielectric_loss_tangent": "0", + "magnetic_loss_tangent": "0", + "thermal_conductivity": "152", + "mass_density": "2000", + "specific_heat": "900", + "youngs_modulus": "0", + "poissons_ratio": "0", + "thermal_expansion_coefficient": "0", + "thermal_material_type": { + "property_type": "ChoiceProperty", + "Choice": "Solid" + }, + "diffusivity": "0.8", + "molecular_mass": "0", + "viscosity": "0", + "clarity_type": { + "property_type": "ChoiceProperty", + "Choice": "Opaque" + } + }, + "air": { + "CoordinateSystemType": "Cartesian", + "BulkOrSurfaceType": 1, + "PhysicsTypes": { + "set": [ + "Electromagnetic", + "Thermal" + ] + }, + "AttachedData": { + "MatAppearanceData": { + "property_data": "appearance_data", + "Red": 230, + "Green": 230, + "Blue": 230, + "Transparency": 0.949999988079071 + } + }, + "permittivity": "1.0006", + "permeability": "1.0000004", + "conductivity": "0", + "dielectric_loss_tangent": "0", + "magnetic_loss_tangent": "0", + "thermal_conductivity": "0.0261", + "mass_density": "1.1614", + "specific_heat": "1005", + "youngs_modulus": "0", + "poissons_ratio": "0", + "thermal_expansion_coefficient": "0.00333", + "thermal_material_type": { + "property_type": "ChoiceProperty", + "Choice": "Fluid" + }, + "diffusivity": "2.88e-05", + "molecular_mass": "0.028966", + "viscosity": "1.84e-05", + "material_refractive_index": "1.000293", + "clarity_type": { + "property_type": "ChoiceProperty", + "Choice": "Transparent" + } + }, + "PCB_Material": { + "CoordinateSystemType": "Cartesian", + "BulkOrSurfaceType": 1, + "PhysicsTypes": { + "set": [ + "Thermal" + ] + }, + "AttachedData": { + "MatAppearanceData": { + "property_data": "appearance_data", + "Red": 210, + "Green": 105, + "Blue": 30, + "Transparency": 0.0 + } + }, + "permittivity": "1", + "permeability": "1", + "conductivity": "0", + "dielectric_loss_tangent": "0", + "magnetic_loss_tangent": "0", + "thermal_conductivity": "0.01", + "mass_density": "1", + "specific_heat": "2", + "youngs_modulus": "0", + "poissons_ratio": "0", + "thermal_expansion_coefficient": "1", + "diffusivity": "0.8", + "molecular_mass": "0", + "viscosity": "0" + }, + "Ceramic_material": { + "CoordinateSystemType": "Cartesian", + "BulkOrSurfaceType": 1, + "PhysicsTypes": { + "set": [ + "Thermal" + ] + }, + "AttachedData": { + "MatAppearanceData": { + "property_data": "appearance_data", + "Red": 0, + "Green": 100, + "Blue": 0, + "Transparency": 0.0 + } + }, + "ModifierData": { + "ThermalModifierData": { + "modifier_data": "thermal_modifier_data", + "all_thermal_modifiers": {} + } + }, + "permittivity": "1", + "permeability": "1", + "conductivity": "0", + "dielectric_loss_tangent": "0", + "magnetic_loss_tangent": "0", + "thermal_conductivity": "15", + "mass_density": "2500", + "specific_heat": "910", + "youngs_modulus": "0", + "poissons_ratio": "0", + "thermal_expansion_coefficient": "0", + "thermal_material_type": { + "property_type": "ChoiceProperty", + "Choice": "Solid" + }, + "diffusivity": "0.8", + "molecular_mass": "0", + "viscosity": "0" + } + }, + "objects": { + "Region": { + "SurfaceMaterial": "\"\"", + "Material": "air", + "SolveInside": true, + "Model": true, + "Group": "Model", + "Transparency": 0.0, + "Color": [ + 0, + 0, + 0 + ], + "CoordinateSystem": "Global" + }, + "SERIAL_PORT": { + "SurfaceMaterial": "\"Soft Rubber-Gray-surface\"", + "Material": "Al-Extruded", + "SolveInside": true, + "Model": true, + "Group": "graphics_card_simple", + "Transparency": 0.0, + "Color": [ + 175, + 175, + 175 + ], + "CoordinateSystem": "Global" + }, + "MEMORY1": { + "SurfaceMaterial": "\"Soft Rubber-Gray-surface\"", + "Material": "Ceramic_material", + "SolveInside": true, + "Model": true, + "Group": "graphics_card_simple", + "Transparency": 0.0, + "Color": [ + 175, + 175, + 175 + ], + "CoordinateSystem": "Global" + }, + "MEMORY1_1": { + "SurfaceMaterial": "\"Soft Rubber-Gray-surface\"", + "Material": "Ceramic_material", + "SolveInside": true, + "Model": true, + "Group": "graphics_card_simple", + "Transparency": 0.0, + "Color": [ + 175, + 175, + 175 + ], + "CoordinateSystem": "Global" + }, + "CAPACITOR": { + "SurfaceMaterial": "\"Soft Rubber-Gray-surface\"", + "Material": "Ceramic_material", + "SolveInside": true, + "Model": true, + "Group": "graphics_card_simple", + "Transparency": 0.0, + "Color": [ + 175, + 175, + 175 + ], + "CoordinateSystem": "Global" + }, + "CAPACITOR_1": { + "SurfaceMaterial": "\"Soft Rubber-Gray-surface\"", + "Material": "Ceramic_material", + "SolveInside": true, + "Model": true, + "Group": "graphics_card_simple", + "Transparency": 0.0, + "Color": [ + 175, + 175, + 175 + ], + "CoordinateSystem": "Global" + }, + "KB": { + "SurfaceMaterial": "\"Soft Rubber-Gray-surface\"", + "Material": "Al-Extruded", + "SolveInside": true, + "Model": true, + "Group": "graphics_card_simple", + "Transparency": 0.0, + "Color": [ + 175, + 175, + 175 + ], + "CoordinateSystem": "Global" + }, + "HEAT_SINK": { + "SurfaceMaterial": "\"Soft Rubber-Gray-surface\"", + "Material": "Al-Extruded", + "SolveInside": true, + "Model": true, + "Group": "graphics_card_simple", + "Transparency": 0.0, + "Color": [ + 175, + 175, + 175 + ], + "CoordinateSystem": "Global" + }, + "CPU": { + "SurfaceMaterial": "\"Steel-oxidised-surface\"", + "Material": "Al-Extruded", + "SolveInside": true, + "Model": true, + "Group": "graphics_card_simple", + "Transparency": 0.0, + "Color": [ + 175, + 175, + 175 + ], + "CoordinateSystem": "Global" + }, + "ALPHA_MAIN_PCB": { + "SurfaceMaterial": "\"Steel-oxidised-surface\"", + "Material": "Al-Extruded", + "SolveInside": true, + "Model": true, + "Group": "graphics_card_simple", + "Transparency": 0.0, + "Color": [ + 175, + 175, + 175 + ], + "CoordinateSystem": "Global" + }, + "Box1": { + "SurfaceMaterial": null, + "Material": "", + "SolveInside": false, + "Model": false, + "Group": "Model", + "Transparency": 0.0, + "Color": [ + 0, + 0, + 255 + ], + "CoordinateSystem": "Global" + } + } +} \ No newline at end of file diff --git a/tests/unit/extensions/mapping.json b/tests/unit/extensions/mapping.json new file mode 100644 index 00000000000..b23aa24c23e --- /dev/null +++ b/tests/unit/extensions/mapping.json @@ -0,0 +1 @@ +{"Region": 6, "SERIAL_PORT": 34, "MEMORY1": 62, "MEMORY1_1": 90, "CAPACITOR": 118, "CAPACITOR_1": 134, "KB": 150, "HEAT_SINK": 178, "CPU": 422, "ALPHA_MAIN_PCB": 450, "Box1": 498, "MeshRegion1_SubRegion": 554, "MeshRegion2_SubRegion": 582} \ No newline at end of file diff --git a/tests/unit/extensions/test_icepak_model_reviewer.py b/tests/unit/extensions/test_icepak_model_reviewer.py new file mode 100644 index 00000000000..f69b53b9268 --- /dev/null +++ b/tests/unit/extensions/test_icepak_model_reviewer.py @@ -0,0 +1,222 @@ +# -*- coding: utf-8 -*- +# +# Copyright (C) 2021 - 2025 ANSYS, Inc. and/or its affiliates. +# SPDX-License-Identifier: MIT +# +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + +import json +import os +from unittest.mock import patch + +import pytest + +from ansys.aedt.core.extensions.icepak.icepak_model_reviewer import EXTENSION_TITLE +from ansys.aedt.core.extensions.icepak.icepak_model_reviewer import IcepakModelReviewer +from tests import TESTS_UNIT_PATH + + +def config_file_load(): + config_file = os.path.join(TESTS_UNIT_PATH, "extensions", "graphics_card.json") + with open(config_file, "r") as file: + data = json.load(file) + return data + + +def mapping_load(): + mapping_file = os.path.join(TESTS_UNIT_PATH, "extensions", "mapping.json") + with open(mapping_file, "r") as file: + data = json.load(file) + return data + + +@pytest.fixture +def patched_loader(): + with patch.object(IcepakModelReviewer, "get_project_data", side_effect=config_file_load) as mock_loader: + yield mock_loader + + +@pytest.fixture +def patched_object_id(): + with patch.object(IcepakModelReviewer, "object_id_mapping", side_effect=mapping_load) as mock_loader: + yield mock_loader + + +@pytest.fixture +def patched_import_data_to_project(): + with patch.object(IcepakModelReviewer, "import_data_to_project", return_value=None) as mock_loader: + yield mock_loader + + +def test_icepak_model_reviewer(mock_icepak_app): + """Test instantiation of the IcepakModelReviewer.""" + extension = IcepakModelReviewer(withdraw=True) + + assert EXTENSION_TITLE == extension.root.title() + assert "light" == extension.root.theme + + extension.root.destroy() + + +def test_icepak_model_reviewer_load_project(mock_icepak_app, patched_loader): + extension = IcepakModelReviewer(withdraw=True) + extension.load_button.invoke() + boundary_table = extension.root.boundary_tab.winfo_children()[0] + assert boundary_table.tree is not None + assert len(boundary_table.tree.get_children()) == 3 + + +def test_icepak_model_reviewer_table_values(mock_icepak_app, patched_loader): + extension = IcepakModelReviewer(withdraw=True) + extension.load_button.invoke() + boundary_table = extension.root.boundary_tab.winfo_children()[0] + row1 = boundary_table.tree.get_children()[0] + row2 = boundary_table.tree.get_children()[1] + row3 = boundary_table.tree.get_children()[2] + assert boundary_table.tree.column(5)["id"] == "Value 1" + assert boundary_table.tree.item(row1)["values"][5] == "4W" + assert boundary_table.tree.item(row1)["values"][3] == "CPU,KB,HEAT_SINK" + assert boundary_table.tree.item(row2)["values"][5] == "5w_per_m3" + assert boundary_table.tree.item(row2)["values"][3] == "MEMORY1,MEMORY1_1" + assert boundary_table.tree.item(row3)["values"][5] == "1W" + materials_table = extension.root.materials_tab.winfo_children()[0] + assert len(materials_table.tree.get_children()) == 4 + row1 = materials_table.tree.get_children()[0] + row2 = materials_table.tree.get_children()[1] + row3 = materials_table.tree.get_children()[2] + row4 = materials_table.tree.get_children()[3] + assert materials_table.tree.item(row1)["values"][3] == 152 + assert materials_table.tree.item(row2)["values"][4] == "1.1614" + assert materials_table.tree.item(row3)["values"][5] == 2 + assert materials_table.tree.item(row4)["values"][6] == 0 + model_table = extension.root.models_tab.winfo_children()[0] + assert len(model_table.tree.get_children()) == 11 + assert model_table.tree.item(row1)["values"][2] == "air" + assert model_table.tree.item(row2)["values"][3] == "Soft Rubber-Gray-surface" + assert model_table.tree.item(row3)["values"][4] == "True" + assert model_table.tree.item(row3)["values"][5] == "Model" + + +def test_table_icon_handling_after_load(mock_icepak_app, patched_loader): + """Verify that all read-only cells in the table have the ๐Ÿ”’ icon appended.""" + extension = IcepakModelReviewer(withdraw=True) + extension.load_button.invoke() + + for tab_name in ["boundary_tab", "materials_tab", "models_tab"]: + table = getattr(extension.root, tab_name).winfo_children()[0] + tree = table.tree + rows = tree.get_children() + # For every row, check each read-only column + for row_index, row_id in enumerate(rows): + values = tree.item(row_id)["values"] + readonly_cols = table.read_only_data[row_index] + + for col_index, value in enumerate(values): # 1-based index for consistency + val_str = str(value) + if col_index in readonly_cols: + assert val_str.endswith("๐Ÿ”’") + else: + assert not val_str.endswith("๐Ÿ”’") + + +def test_table_headers_and_types_consistency(mock_icepak_app, patched_loader): + """ + Verify: + - each table has consistent header/type pairing + - 'multiple_text' columns contain comma-separated values + """ + extension = IcepakModelReviewer(withdraw=True) + extension.load_button.invoke() + + for tab_name in ["boundary_tab", "materials_tab", "models_tab"]: + table = getattr(extension.root, tab_name).winfo_children()[0] + headers = table.headers + types = table.types + tree = table.tree + + # --- 1Check header/type consistency --- + assert len(headers) == len(types), f"{tab_name} headers/types mismatch" + + # --- multiple_text columns should have comma-separated values --- + multi_text_indices = [i for i, t in enumerate(types) if t == "multiple_text"] + if multi_text_indices: + found_multi = False + for row_id in tree.get_children(): + values = tree.item(row_id)["values"] + for idx in multi_text_indices: + if idx < len(values) and "," in str(values[idx]): + found_multi = True + break + if found_multi: + break + assert found_multi + + +def test_table_reload_does_not_duplicate(mock_icepak_app, patched_loader): + """Ensure multiple loads don't duplicate table entries.""" + extension = IcepakModelReviewer(withdraw=True) + + extension.load_button.invoke() + first_load_rows = len(extension.root.boundary_tab.winfo_children()[0].tree.get_children()) + + # Invoke load again + extension.load_button.invoke() + second_load_rows = len(extension.root.boundary_tab.winfo_children()[0].tree.get_children()) + + assert first_load_rows == second_load_rows + + +def test_icepak_model_reviewer_table_modification( + mock_icepak_app, patched_loader, patched_import_data_to_project, patched_object_id +): + extension = IcepakModelReviewer(withdraw=True) + extension.load_button.invoke() + boundary_table = extension.root.boundary_tab.winfo_children()[0] + row1 = boundary_table.tree.get_children()[0] + row2 = boundary_table.tree.get_children()[1] + row3 = boundary_table.tree.get_children()[2] + boundary_table.tree.set(row1, column="Value 1", value="2W") + boundary_table.tree.set(row1, column="Selected Objects", value="CPU,KB") + boundary_table.tree.set(row2, column="Value 1", value="2w_per_m3") + boundary_table.tree.set(row3, column="Value 1", value="1.5W") + extension.update_button.invoke() + assert extension.combined_data["boundaries"]["CPU"]["Total Power"] == "2W" + assert extension.combined_data["boundaries"]["CPU"]["Objects"] == [422, 150] + assert extension.combined_data["boundaries"]["Memory"]["Power Density"] == "2w_per_m3" + assert extension.combined_data["boundaries"]["Source1"]["Total Power"] == "1.5W" + material_table = extension.root.materials_tab.winfo_children()[0] + row1 = material_table.tree.get_children()[0] + row2 = material_table.tree.get_children()[1] + row3 = material_table.tree.get_children()[2] + material_table.tree.set(row1, column="Thermal Conductivity", value="150") + material_table.tree.set(row2, column="Mass Density", value="1.2") + material_table.tree.set(row3, column="Specific Heat", value="4") + extension.update_button.invoke() + assert extension.combined_data["materials"]["Al-Extruded"]["thermal_conductivity"] == "150" + assert extension.combined_data["materials"]["air"]["mass_density"] == "1.2" + assert extension.combined_data["materials"]["PCB_Material"]["specific_heat"] == "4" + model_table = extension.root.models_tab.winfo_children()[0] + row1 = model_table.tree.get_children()[1] + row2 = model_table.tree.get_children()[2] + model_table.tree.set(row1, column="Modeling", value="Non-Model") + model_table.tree.set(row2, column="Bulk Material", value="Al-Extruded") + extension.update_button.invoke() + assert extension.combined_data["objects"]["MEMORY1"]["Material"] == "Al-Extruded" + assert extension.combined_data["objects"]["SERIAL_PORT"]["Model"] == "False"