mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-09-23 10:32:42 +00:00
Update schema.py
This commit is contained in:
@@ -49,6 +49,20 @@ def get_subtypes(entity):
|
|||||||
|
|
||||||
|
|
||||||
def reassign_class(ifc_file, element, new_class):
|
def reassign_class(ifc_file, element, new_class):
|
||||||
|
"""
|
||||||
|
Attempts to change the class (entity name) of `element` to `new_class` by
|
||||||
|
removing element and recreating a similar instance of type `new_class`
|
||||||
|
with the same id.
|
||||||
|
|
||||||
|
In certain cases it may affect the structure of inversely related instances:
|
||||||
|
- Multiple occurrences of reassigned instance within the same aggregate
|
||||||
|
(such as start and end-point of polyline)
|
||||||
|
- Occurrences of reassigned instance within an ordered aggregate
|
||||||
|
(such as IfcRelNests)
|
||||||
|
|
||||||
|
It's unlikely that this affects real-world usage of this function.
|
||||||
|
"""
|
||||||
|
|
||||||
schema = ifcopenshell.ifcopenshell_wrapper.schema_by_name(ifc_file.schema)
|
schema = ifcopenshell.ifcopenshell_wrapper.schema_by_name(ifc_file.schema)
|
||||||
try:
|
try:
|
||||||
declaration = schema.declaration_by_name(new_class)
|
declaration = schema.declaration_by_name(new_class)
|
||||||
|
|||||||
Reference in New Issue
Block a user