Skip to content

Commit 39f4abe

Browse files
committed
An option not to print linked ifc files IfcOpenShell#6947
Location - https://files.catbox.moe/9qinpy.png This option is also a nice way of showing the user that this feature does exist.
1 parent f60abdd commit 39f4abe

File tree

4 files changed

+15
-4
lines changed

4 files changed

+15
-4
lines changed

src/bonsai/bonsai/bim/module/drawing/operator.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -886,7 +886,7 @@ def generate_linework(self, context: bpy.types.Context) -> Union[str, None]:
886886
files = {bim_props.ifc_file: tool.Ifc.get()}
887887

888888
props = tool.Project.get_project_props()
889-
for link in props.get_loaded_links():
889+
for link in props.get_loaded_links_for_drawings():
890890
files[link.name] = self.get_linked_file(link)
891891

892892
target_view = ifcopenshell.util.element.get_psets(self.camera_element)["EPset_Drawing"]["TargetView"]
@@ -1308,7 +1308,7 @@ def get_element_by_guid(self, guid: str) -> Union[ifcopenshell.entity_instance,
13081308
return tool.Ifc.get().by_guid(guid)
13091309
except RuntimeError:
13101310
props = tool.Project.get_project_props()
1311-
for link in props.get_loaded_links():
1311+
for link in props.get_loaded_links_for_drawings():
13121312
ifc_file = self.get_linked_file(link)
13131313
try:
13141314
return ifc_file.by_guid(guid)
@@ -1324,7 +1324,7 @@ def get_element_by_id(self, step_id: Any) -> Union[ifcopenshell.entity_instance,
13241324
return tool.Ifc.get().by_id(step_id)
13251325
except RuntimeError:
13261326
props = tool.Project.get_project_props()
1327-
for link in props.get_loaded_links():
1327+
for link in props.get_loaded_links_for_drawings():
13281328
ifc_file = self.get_linked_file(link)
13291329
try:
13301330
return ifc_file.by_id(step_id)

src/bonsai/bonsai/bim/module/drawing/prop.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -409,6 +409,11 @@ class DocProperties(PropertyGroup):
409409
should_use_annotation_cache: BoolProperty(
410410
name="Use Annotation Cache", description="Global option for all drawings.", default=False
411411
)
412+
should_draw_linked_projects: BoolProperty(
413+
name="Draw Linked Projects",
414+
description=("Whether to draw all currently loaded linked projects.\n\nGlobal option for all drawings."),
415+
default=True,
416+
)
412417
is_editing_drawings: BoolProperty(name="Is Editing Drawings", default=False)
413418
is_editing_schedules: BoolProperty(name="Is Editing Schedules", default=False)
414419
is_editing_references: BoolProperty(name="Is Editing References", default=False)
@@ -438,6 +443,7 @@ class DocProperties(PropertyGroup):
438443
should_use_underlay_cache: bool
439444
should_use_linework_cache: bool
440445
should_use_annotation_cache: bool
446+
should_draw_linked_projects: bool
441447
is_editing_drawings: bool
442448
is_editing_schedules: bool
443449
is_editing_references: bool

src/bonsai/bonsai/bim/module/drawing/ui.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,8 @@ def draw(self, context):
7070
row = col.row(align=True)
7171
row.prop(props, "has_annotation", icon="MOD_EDGESPLIT")
7272
row.prop(dprops, "should_use_annotation_cache", text="", icon="FILE_REFRESH")
73+
row = col.row(align=True)
74+
row.prop(dprops, "should_draw_linked_projects")
7375

7476
row = self.layout.row(align=True)
7577
row.prop(props, "target_view")

src/bonsai/bonsai/bim/module/project/prop.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -505,7 +505,10 @@ def get_active_library_breadcrumb(self) -> Union[LibraryBreadcrumb, None]:
505505
return self.library_breadcrumb[-1]
506506
return None
507507

508-
def get_loaded_links(self) -> Generator[Link, None, None]:
508+
def get_loaded_links_for_drawings(self) -> Generator[Link]:
509+
props = tool.Drawing.get_document_props()
510+
if not props.should_draw_linked_projects:
511+
return
509512
for link in self.links:
510513
if not link.is_loaded:
511514
continue

0 commit comments

Comments
 (0)