From f37e5e5d8391763b01151ac3c8c70667c5229831 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Thu, 26 Mar 2020 20:47:21 +1100 Subject: [PATCH] New buttons to open views and sheets instead of browsing manually --- src/ifcblenderexport/blenderbim/__init__.py | 2 ++ src/ifcblenderexport/blenderbim/operator.py | 22 +++++++++++++++++++++ src/ifcblenderexport/blenderbim/ui.py | 20 +++++++++++-------- 3 files changed, 36 insertions(+), 8 deletions(-) diff --git a/src/ifcblenderexport/blenderbim/__init__.py b/src/ifcblenderexport/blenderbim/__init__.py index 3a73ee0ce6..59bc93153f 100644 --- a/src/ifcblenderexport/blenderbim/__init__.py +++ b/src/ifcblenderexport/blenderbim/__init__.py @@ -102,10 +102,12 @@ if bpy is not None: operator.RemoveSubcontext, operator.CutSection, operator.CreateSheet, + operator.OpenSheet, operator.AddViewToSheet, operator.CreateSheets, operator.GenerateDigitalTwin, operator.CreateView, + operator.OpenView, operator.ActivateView, operator.ExecuteIfcDiff, operator.AssignContext, diff --git a/src/ifcblenderexport/blenderbim/operator.py b/src/ifcblenderexport/blenderbim/operator.py index 8b705e0c3a..c225967677 100644 --- a/src/ifcblenderexport/blenderbim/operator.py +++ b/src/ifcblenderexport/blenderbim/operator.py @@ -1260,6 +1260,17 @@ class CreateView(bpy.types.Operator): return {'FINISHED'} +class OpenView(bpy.types.Operator): + bl_idname = 'bim.open_view' + bl_label = 'Open View' + + def execute(self, context): + webbrowser.open('file:///' + os.path.join( + bpy.context.scene.BIMProperties.data_dir, 'diagrams', + bpy.context.scene.DocProperties.available_views + '.svg')) + return {'FINISHED'} + + class CutSection(bpy.types.Operator): bl_idname = 'bim.cut_section' bl_label = 'Cut Section' @@ -1359,6 +1370,17 @@ class CreateSheet(bpy.types.Operator): return {'FINISHED'} +class OpenSheet(bpy.types.Operator): + bl_idname = 'bim.open_sheet' + bl_label = 'Open Sheet' + + def execute(self, context): + webbrowser.open('file:///' + os.path.join( + bpy.context.scene.BIMProperties.data_dir, 'sheets', + bpy.context.scene.DocProperties.available_sheets + '.svg')) + return {'FINISHED'} + + class AddViewToSheet(bpy.types.Operator): bl_idname = 'bim.add_view_to_sheet' bl_label = 'Add View To Sheet' diff --git a/src/ifcblenderexport/blenderbim/ui.py b/src/ifcblenderexport/blenderbim/ui.py index e56b2ff281..bb2fa2c52b 100644 --- a/src/ifcblenderexport/blenderbim/ui.py +++ b/src/ifcblenderexport/blenderbim/ui.py @@ -298,24 +298,28 @@ class BIM_PT_documentation(Panel): layout.use_property_split = True props = bpy.context.scene.DocProperties + row = layout.row() + row.operator('bim.set_view_preset_1') + row = layout.row() row.prop(props, 'view_name') row.operator('bim.create_view', icon='ADD', text='') - row = layout.row() - row.prop(props, 'available_views') - row.operator('bim.activate_view', icon='SCENE', text='') - - row = layout.row() - row.operator('bim.set_view_preset_1') - row = layout.row() row.prop(props, 'sheet_name') row.operator('bim.create_sheet', icon='ADD', text='') + row = layout.row() + row.prop(props, 'available_views') + row.operator('bim.activate_view', icon='SCENE', text='') + row.operator('bim.open_view', icon='URL', text='') + row = layout.row() row.prop(props, 'available_sheets') - row.operator('bim.add_view_to_sheet', icon='ADD', text='') + row.operator('bim.open_sheet', icon='URL', text='') + + row = layout.row() + row.operator('bim.add_view_to_sheet') row = layout.row() row.operator('bim.create_sheets')