This commit is contained in:
Andrej730
2025-02-18 15:18:23 +05:00
parent 83a351b1c7
commit 17642ca4e9
117 changed files with 683 additions and 1005 deletions
@@ -20,7 +20,7 @@ import ifcopenshell
import ifcopenshell.api.owner
import ifcopenshell.guid
import ifcopenshell.util.element
from typing import Optional
from typing import Optional, Any
def connect_port(
@@ -110,6 +110,9 @@ def connect_port(
class Usecase:
file: ifcopenshell.file
settings: dict[str, Any]
def execute(self):
# Note: there are a number of ambiguities with port connectivity. We
# assume system topology is represented by a directed graph. In other
@@ -26,11 +26,8 @@ def edit_system(file: ifcopenshell.file, system: ifcopenshell.entity_instance, a
IfcSystem, consult the IFC documentation.
:param system: The IfcSystem entity you want to edit
:type system: ifcopenshell.entity_instance
:param attributes: a dictionary of attribute names and values.
:type attributes: dict
:return: None
:rtype: None
Example:
@@ -42,8 +39,5 @@ def edit_system(file: ifcopenshell.file, system: ifcopenshell.entity_instance, a
# Change the name of the system to "HW" for Hot Water
ifcopenshell.api.system.edit_system(model, system=system, attributes={"Name": "HW"})
"""
settings = {"system": system, "attributes": attributes or {}}
for name, value in settings["attributes"].items():
setattr(settings["system"], name, value)
for name, value in attributes.items():
setattr(system, name, value)
@@ -19,6 +19,7 @@
import ifcopenshell
import ifcopenshell.api.owner
import ifcopenshell.util.element
from typing import Any
def unassign_port(
@@ -62,6 +63,9 @@ def unassign_port(
class Usecase:
file: ifcopenshell.file
settings: dict[str, Any]
def execute(self):
if self.file.schema == "IFC2X3":
return self.execute_ifc2x3()