From ffa4e7570d60b916c49c9698d9330fa2c3fe5b5d Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Tue, 11 Aug 2020 15:01:30 +1000 Subject: [PATCH] Add button for camera to quickly open relevant drawing --- src/ifcblenderexport/blenderbim/bim/operator.py | 4 +++- src/ifcblenderexport/blenderbim/bim/ui.py | 9 +++++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/ifcblenderexport/blenderbim/bim/operator.py b/src/ifcblenderexport/blenderbim/bim/operator.py index 843027d90f..4beee9d7bd 100644 --- a/src/ifcblenderexport/blenderbim/bim/operator.py +++ b/src/ifcblenderexport/blenderbim/bim/operator.py @@ -2037,11 +2037,12 @@ class CreateView(bpy.types.Operator): class OpenView(bpy.types.Operator): bl_idname = 'bim.open_view' bl_label = 'Open View' + view: bpy.props.StringProperty() def execute(self, context): webbrowser.open('file://' + os.path.join( bpy.context.scene.BIMProperties.data_dir, 'diagrams', - bpy.context.scene.DocProperties.available_views + '.svg')) + self.view + '.svg')) return {'FINISHED'} @@ -2167,6 +2168,7 @@ class CutSection(bpy.types.Operator): svg_writer.scale = float(numerator) / float(denominator) ifc_cutter.cut() svg_writer.write() + bpy.ops.bim.open_view(view=self.diagram_name) return {'FINISHED'} def is_landscape(self): diff --git a/src/ifcblenderexport/blenderbim/bim/ui.py b/src/ifcblenderexport/blenderbim/bim/ui.py index 9e18b7fdd1..22dc4c8353 100644 --- a/src/ifcblenderexport/blenderbim/bim/ui.py +++ b/src/ifcblenderexport/blenderbim/bim/ui.py @@ -742,7 +742,8 @@ class BIM_PT_documentation(Panel): row = layout.row() row.prop(props, 'available_views', text='Available Drawings') - row.operator('bim.open_view', icon='URL', text='') + op = row.operator('bim.open_view', icon='URL', text='') + op.view = bpy.context.scene.DocProperties.available_views row.operator('bim.activate_view', icon='SCENE', text='') row = layout.row() @@ -861,9 +862,13 @@ class BIM_PT_camera(Panel): row = layout.row() row.prop(props, 'cut_objects_custom') + row = layout.row() + row.prop(props, 'diagram_scale') + row = layout.row(align=True) - row.prop(props, 'diagram_scale', text='') row.operator('bim.cut_section') + op = row.operator('bim.open_view', icon='URL', text='') + op.view = context.active_object.name.split('/')[1] class BIM_PT_text(Panel):