mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-09-16 21:42:19 +00:00
you can now reload linked IFCs #3652
This commit is contained in:
@@ -47,6 +47,7 @@ classes = (
|
|||||||
operator.UnlinkIfc,
|
operator.UnlinkIfc,
|
||||||
operator.UnloadLink,
|
operator.UnloadLink,
|
||||||
operator.UnloadProject,
|
operator.UnloadProject,
|
||||||
|
operator.ReloadLink,
|
||||||
prop.LibraryElement,
|
prop.LibraryElement,
|
||||||
prop.FilterCategory,
|
prop.FilterCategory,
|
||||||
prop.Link,
|
prop.Link,
|
||||||
|
|||||||
@@ -880,6 +880,23 @@ class LoadLink(bpy.types.Operator):
|
|||||||
return {"FINISHED"}
|
return {"FINISHED"}
|
||||||
|
|
||||||
|
|
||||||
|
class ReloadLink(bpy.types.Operator):
|
||||||
|
bl_idname = "bim.reload_link"
|
||||||
|
bl_label = "Reload Link"
|
||||||
|
bl_options = {"REGISTER", "UNDO"}
|
||||||
|
bl_description = "Reload the selected file"
|
||||||
|
filepath: bpy.props.StringProperty()
|
||||||
|
|
||||||
|
def execute(self, context):
|
||||||
|
def get_linked_ifc():
|
||||||
|
selected_filename = os.path.basename(self.filepath)
|
||||||
|
return [c for c in bpy.data.collections if "IfcProject" in c.name and c.library and os.path.basename(c.library.filepath) == selected_filename]
|
||||||
|
|
||||||
|
for linked_ifc in get_linked_ifc:
|
||||||
|
linked_ifc.reload()
|
||||||
|
return {"FINISHED"}
|
||||||
|
|
||||||
|
|
||||||
class ToggleLinkSelectability(bpy.types.Operator):
|
class ToggleLinkSelectability(bpy.types.Operator):
|
||||||
bl_idname = "bim.toggle_link_selectability"
|
bl_idname = "bim.toggle_link_selectability"
|
||||||
bl_label = "Toggle Link Selectability"
|
bl_label = "Toggle Link Selectability"
|
||||||
|
|||||||
@@ -375,6 +375,8 @@ class BIM_UL_links(UIList):
|
|||||||
op.mode = "VISIBLE"
|
op.mode = "VISIBLE"
|
||||||
op = row.operator("bim.unload_link", text="", icon="UNLINKED")
|
op = row.operator("bim.unload_link", text="", icon="UNLINKED")
|
||||||
op.filepath = item.name
|
op.filepath = item.name
|
||||||
|
op = row.operator("bim.reload_link", text="", icon="FILE_REFRESH")
|
||||||
|
op.filepath = item.name
|
||||||
else:
|
else:
|
||||||
row.prop(item, "name", text="")
|
row.prop(item, "name", text="")
|
||||||
op = row.operator("bim.load_link", text="", icon="LINKED")
|
op = row.operator("bim.load_link", text="", icon="LINKED")
|
||||||
|
|||||||
Reference in New Issue
Block a user