diff --git a/src/ifcblenderexport/blenderbim/bim/export_ifc.py b/src/ifcblenderexport/blenderbim/bim/export_ifc.py index 379f50d27b..b043b77d0f 100644 --- a/src/ifcblenderexport/blenderbim/bim/export_ifc.py +++ b/src/ifcblenderexport/blenderbim/bim/export_ifc.py @@ -40,6 +40,8 @@ class IfcExporter: jsonData = ifcjson.IFC2JSON5a(self.file, self.ifc_export_settings.json_compact).spf2Json() with open(self.ifc_export_settings.output_file, "w") as outfile: json.dump(jsonData, outfile, indent=None if self.ifc_export_settings.json_compact else 4) + if bpy.context.scene.BIMProjectProperties.is_authoring: + bpy.ops.wm.save_mainfile() def set_header(self): # TODO: add all metadata, pending bug #747 diff --git a/src/ifcblenderexport/blenderbim/bim/module/project/__init__.py b/src/ifcblenderexport/blenderbim/bim/module/project/__init__.py index 2e0535b86d..846f082a61 100644 --- a/src/ifcblenderexport/blenderbim/bim/module/project/__init__.py +++ b/src/ifcblenderexport/blenderbim/bim/module/project/__init__.py @@ -1,16 +1,17 @@ import bpy -from . import ui, operator +from . import ui, prop, operator classes = ( operator.CreateProject, operator.ValidateIfcFile, + prop.BIMProjectProperties, ui.BIM_PT_project, ) def register(): - pass + bpy.types.Scene.BIMProjectProperties = bpy.props.PointerProperty(type=prop.BIMProjectProperties) def unregister(): - pass + del bpy.types.Scene.BIMProjectProperties diff --git a/src/ifcblenderexport/blenderbim/bim/module/project/prop.py b/src/ifcblenderexport/blenderbim/bim/module/project/prop.py new file mode 100644 index 0000000000..6e40d13122 --- /dev/null +++ b/src/ifcblenderexport/blenderbim/bim/module/project/prop.py @@ -0,0 +1,16 @@ +import bpy +from bpy.types import PropertyGroup +from bpy.props import ( + PointerProperty, + StringProperty, + EnumProperty, + BoolProperty, + IntProperty, + FloatProperty, + FloatVectorProperty, + CollectionProperty, +) + + +class BIMProjectProperties(PropertyGroup): + is_authoring: BoolProperty(name="Enable Authoring Mode") diff --git a/src/ifcblenderexport/blenderbim/bim/module/project/ui.py b/src/ifcblenderexport/blenderbim/bim/module/project/ui.py index c63f8326d0..1da1f0f64d 100644 --- a/src/ifcblenderexport/blenderbim/bim/module/project/ui.py +++ b/src/ifcblenderexport/blenderbim/bim/module/project/ui.py @@ -22,11 +22,13 @@ class BIM_PT_project(Panel): def draw_project_ui(self, context): props = context.scene.BIMProperties + pprops = context.scene.BIMProjectProperties row = self.layout.row(align=True) row.label(text="IFC Filename", icon="FILE") row.label(text=os.path.basename(props.ifc_file) or "No File Found") if IfcStore.get_file(): + row.prop(pprops, "is_authoring", icon="GREASEPENCIL", text="") row = self.layout.row(align=True) row.label(text="IFC Schema", icon="FILE_CACHE") row.label(text=IfcStore.get_file().schema)