From b1b57a9ec9e12084dd59735f1e690827f8bc0aec Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Mon, 24 Apr 2023 13:11:42 +1000 Subject: [PATCH] Fix #3055. Get paths using forward slashes for platform compatibility. --- src/blenderbim/blenderbim/tool/drawing.py | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/blenderbim/blenderbim/tool/drawing.py b/src/blenderbim/blenderbim/tool/drawing.py index 15eb3902ab..6aca2b0b17 100644 --- a/src/blenderbim/blenderbim/tool/drawing.py +++ b/src/blenderbim/blenderbim/tool/drawing.py @@ -830,7 +830,7 @@ class Drawing(blenderbim.core.tool.Drawing): ifcopenshell.util.element.get_pset(project, "BBIM_Documentation", "LayoutsDir") or bpy.context.scene.DocProperties.layouts_dir ) - return os.path.join(layouts_dir, cls.sanitise_filename(f"{identification} - {name}.svg")) + return os.path.join(layouts_dir, cls.sanitise_filename(f"{identification} - {name}.svg")).replace("\\", "/") @classmethod def get_default_sheet_path(cls, identification, name): @@ -839,7 +839,7 @@ class Drawing(blenderbim.core.tool.Drawing): ifcopenshell.util.element.get_pset(project, "BBIM_Documentation", "SheetsDir") or bpy.context.scene.DocProperties.sheets_dir ) - return os.path.join(sheets_dir, cls.sanitise_filename(f"{identification} - {name}.svg")) + return os.path.join(sheets_dir, cls.sanitise_filename(f"{identification} - {name}.svg")).replace("\\", "/") @classmethod def get_default_titleblock_path(cls, name): @@ -848,7 +848,7 @@ class Drawing(blenderbim.core.tool.Drawing): ifcopenshell.util.element.get_pset(project, "BBIM_Documentation", "TitleblocksDir") or bpy.context.scene.DocProperties.titleblocks_dir ) - return os.path.join(titleblocks_dir, cls.sanitise_filename(f"{name}.svg")) + return os.path.join(titleblocks_dir, cls.sanitise_filename(f"{name}.svg")).replace("\\", "/") @classmethod def get_default_drawing_path(cls, name): @@ -857,7 +857,7 @@ class Drawing(blenderbim.core.tool.Drawing): ifcopenshell.util.element.get_pset(project, "BBIM_Documentation", "DrawingsDir") or bpy.context.scene.DocProperties.drawings_dir ) - return os.path.join(drawings_dir, cls.sanitise_filename(f"{name}.svg")) + return os.path.join(drawings_dir, cls.sanitise_filename(f"{name}.svg")).replace("\\", "/") @classmethod def sanitise_filename(cls, name): @@ -866,10 +866,11 @@ class Drawing(blenderbim.core.tool.Drawing): @classmethod def get_default_drawing_resource_path(cls, resource): project = tool.Ifc.get().by_type("IfcProject")[0] - return ( - ifcopenshell.util.element.get_pset(project, "BBIM_Documentation", f"{resource}Path") - or getattr(bpy.context.scene.DocProperties, f"{resource.lower()}_path") - ) or None + resource_path = ifcopenshell.util.element.get_pset(project, "BBIM_Documentation", f"{resource}Path") or getattr( + bpy.context.scene.DocProperties, f"{resource.lower()}_path" + ) + if resource_path: + return resource_path.replace("\\", "/") @classmethod def get_potential_reference_elements(cls, drawing):