mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-09-18 22:33:33 +00:00
Allow reloading of camera geometric representations
This commit is contained in:
@@ -95,7 +95,14 @@ class Geometry(bonsai.core.tool.Geometry):
|
|||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def delete_data(cls, data: bpy.types.Mesh) -> None:
|
def delete_data(cls, data: bpy.types.Mesh) -> None:
|
||||||
bpy.data.meshes.remove(data)
|
# Try except is faster than isinstance
|
||||||
|
try:
|
||||||
|
bpy.data.meshes.remove(data)
|
||||||
|
except TypeError:
|
||||||
|
try:
|
||||||
|
bpy.data.curves.remove(data)
|
||||||
|
except TypeError:
|
||||||
|
bpy.data.cameras.remove(data)
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def is_locked(cls, element: ifcopenshell.entity_instance) -> bool:
|
def is_locked(cls, element: ifcopenshell.entity_instance) -> bool:
|
||||||
@@ -691,7 +698,7 @@ class Geometry(bonsai.core.tool.Geometry):
|
|||||||
representation = tool.Ifc.get().by_id(int(shape.geometry.id.split("-")[0]))
|
representation = tool.Ifc.get().by_id(int(shape.geometry.id.split("-")[0]))
|
||||||
if element.is_a("IfcAnnotation") and element.ObjectType == "DRAWING":
|
if element.is_a("IfcAnnotation") and element.ObjectType == "DRAWING":
|
||||||
mesh = tool.Loader.create_camera(element, representation, shape)
|
mesh = tool.Loader.create_camera(element, representation, shape)
|
||||||
if element.is_a("IfcAnnotation") and ifc_importer.is_curve_annotation(element):
|
elif element.is_a("IfcAnnotation") and ifc_importer.is_curve_annotation(element):
|
||||||
mesh = ifc_importer.create_curve(element, shape)
|
mesh = ifc_importer.create_curve(element, shape)
|
||||||
elif shape:
|
elif shape:
|
||||||
cartesian_point_offset = cls.get_cartesian_point_offset(obj)
|
cartesian_point_offset = cls.get_cartesian_point_offset(obj)
|
||||||
|
|||||||
Reference in New Issue
Block a user