mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-09-28 03:05:33 +00:00
try to catch bug in assign_product
This commit is contained in:
@@ -79,10 +79,24 @@ def assign_product(
|
|||||||
RelatingProduct=grid,
|
RelatingProduct=grid,
|
||||||
)
|
)
|
||||||
|
|
||||||
if related_object.HasAssignments:
|
import bonsai.tool as tool
|
||||||
for rel in related_object.HasAssignments:
|
|
||||||
if rel.is_a("IfcRelAssignsToProduct") and rel.RelatingProduct == relating_product:
|
def warn(msg: str) -> None:
|
||||||
return
|
print(msg)
|
||||||
|
tool.Blender.show_info_message(msg, "ERROR")
|
||||||
|
|
||||||
|
has_assignments = [r.RelatingProduct for r in related_object.HasAssignments if r.is_a("IfcRelAssignsToProduct")]
|
||||||
|
|
||||||
|
if has_assignments:
|
||||||
|
if relating_product in has_assignments:
|
||||||
|
if len(has_assignments) > 1:
|
||||||
|
warn(
|
||||||
|
f"Was trying to assign a product {relating_product} and found multiple assignments!! {has_assignments}"
|
||||||
|
)
|
||||||
|
return
|
||||||
|
warn(
|
||||||
|
f"WARNING. assign_product - trying to assign product {relating_product}, but other products already assigned: {has_assignments}"
|
||||||
|
)
|
||||||
|
|
||||||
referenced_by = None
|
referenced_by = None
|
||||||
if relating_product.ReferencedBy:
|
if relating_product.ReferencedBy:
|
||||||
|
|||||||
Reference in New Issue
Block a user