Allow export of material properties. Related to #756.

This commit is contained in:
Dion Moult
2020-01-12 19:01:35 +11:00
parent 614348d3a2
commit e1cfa68dcb
6 changed files with 90 additions and 6 deletions
+29 -6
View File
@@ -283,11 +283,11 @@ class AssignPset(bpy.types.Operator):
for object in bpy.context.selected_objects:
index = object.BIMObjectProperties.psets.find(bpy.context.scene.BIMProperties.pset_name)
if index >= 0:
global_id = object.BIMObjectProperties.psets[index]
pset = object.BIMObjectProperties.psets[index]
else:
global_id = object.BIMObjectProperties.psets.add()
global_id.name = bpy.context.scene.BIMProperties.pset_name
global_id.file = bpy.context.scene.BIMProperties.pset_file
pset = object.BIMObjectProperties.psets.add()
pset.name = bpy.context.scene.BIMProperties.pset_name
pset.file = bpy.context.scene.BIMProperties.pset_file
return {'FINISHED'}
class UnassignPset(bpy.types.Operator):
@@ -305,11 +305,13 @@ class AddPset(bpy.types.Operator):
bl_idname = 'bim.add_pset'
bl_label = 'Add Pset'
# This is a temporary measure until we get a better UI
def execute(self, context):
bpy.context.active_object.BIMObjectProperties.psets.add()
pset = bpy.context.active_object.BIMObjectProperties.psets.add()
pset.name = bpy.context.scene.BIMProperties.pset_name
pset.file = bpy.context.scene.BIMProperties.pset_file
return {'FINISHED'}
class RemovePset(bpy.types.Operator):
bl_idname = 'bim.remove_pset'
bl_label = 'Remove Pset'
@@ -319,6 +321,27 @@ class RemovePset(bpy.types.Operator):
bpy.context.active_object.BIMObjectProperties.psets.remove(self.pset_index)
return {'FINISHED'}
class AddMaterialPset(bpy.types.Operator):
bl_idname = 'bim.add_material_pset'
bl_label = 'Add Material Pset'
def execute(self, context):
pset = bpy.context.active_object.active_material.BIMMaterialProperties.psets.add()
pset.name = bpy.context.active_object.active_material.BIMMaterialProperties.available_material_psets
return {'FINISHED'}
class RemoveMaterialPset(bpy.types.Operator):
bl_idname = 'bim.remove_material_pset'
bl_label = 'Remove Pset'
pset_index: bpy.props.IntProperty()
def execute(self, context):
bpy.context.active_object.active_material.BIMMaterialProperties.psets.remove(self.pset_index)
return {'FINISHED'}
class AddDocument(bpy.types.Operator):
bl_idname = 'bim.add_document'
bl_label = 'Add Document'