From ff3ed157a32f3830d3ced8e1611879120013bd44 Mon Sep 17 00:00:00 2001 From: "Spivak Vladimir (cwolf3d)" Date: Fri, 20 Sep 2019 20:25:53 +0300 Subject: Addon: Mesh Extra Objects: Added restore materials if you go back to change parameters in Gear, WormGear, WallFactory, Beam, Pipe, Gem, Brilliant --- add_mesh_extra_objects/Wallfactory.py | 2 ++ add_mesh_extra_objects/add_mesh_beam_builder.py | 2 ++ add_mesh_extra_objects/add_mesh_gears.py | 7 ++----- add_mesh_extra_objects/add_mesh_gemstones.py | 7 +++++++ add_mesh_extra_objects/add_mesh_pipe_joint.py | 10 ++++++++++ add_mesh_extra_objects/add_mesh_round_brilliant.py | 2 ++ 6 files changed, 25 insertions(+), 5 deletions(-) diff --git a/add_mesh_extra_objects/Wallfactory.py b/add_mesh_extra_objects/Wallfactory.py index 66926214..685b1255 100644 --- a/add_mesh_extra_objects/Wallfactory.py +++ b/add_mesh_extra_objects/Wallfactory.py @@ -880,6 +880,8 @@ class add_mesh_wallb(Operator): mesh = bpy.data.meshes.new("Wall") mesh.from_pydata(verts_array, [], faces_array) obj.data = mesh + for material in oldmesh.materials: + obj.data.materials.append(material) bpy.data.meshes.remove(oldmesh) obj.data.name = oldmeshname else: diff --git a/add_mesh_extra_objects/add_mesh_beam_builder.py b/add_mesh_extra_objects/add_mesh_beam_builder.py index 623fc0ca..f40e945d 100644 --- a/add_mesh_extra_objects/add_mesh_beam_builder.py +++ b/add_mesh_extra_objects/add_mesh_beam_builder.py @@ -766,6 +766,8 @@ class addBeam(Operator): oldmeshname = obj.data.name mesh = addBeamMesh(self, context) obj.data = mesh + for material in oldmesh.materials: + obj.data.materials.append(material) bpy.data.meshes.remove(oldmesh) obj.data.name = oldmeshname else: diff --git a/add_mesh_extra_objects/add_mesh_gears.py b/add_mesh_extra_objects/add_mesh_gears.py index b4f92143..55595c95 100644 --- a/add_mesh_extra_objects/add_mesh_gears.py +++ b/add_mesh_extra_objects/add_mesh_gears.py @@ -682,8 +682,6 @@ class AddGear(Operator): if 'Gear' in obj.data.keys(): oldmesh = obj.data oldmeshname = obj.data.name - oldmeshmaterials = obj.data.materials - mesh, verts_tip, verts_valley = AddGearMesh(self, context) obj.data = mesh try: @@ -691,7 +689,7 @@ class AddGear(Operator): except: pass - for material in oldmeshmaterials: + for material in oldmesh.materials: obj.data.materials.append(material) bpy.data.meshes.remove(oldmesh) @@ -885,7 +883,6 @@ class AddWormGear(Operator): if 'WormGear' in obj.data.keys(): oldmesh = obj.data oldmeshname = obj.data.name - oldmeshmaterials = obj.data.materials mesh, verts_tip, verts_valley = AddWormGearMesh(self, context) obj.data = mesh @@ -894,7 +891,7 @@ class AddWormGear(Operator): except: pass - for material in oldmeshmaterials: + for material in oldmesh.materials: obj.data.materials.append(material) bpy.data.meshes.remove(oldmesh) diff --git a/add_mesh_extra_objects/add_mesh_gemstones.py b/add_mesh_extra_objects/add_mesh_gemstones.py index d060e812..05d4d137 100644 --- a/add_mesh_extra_objects/add_mesh_gemstones.py +++ b/add_mesh_extra_objects/add_mesh_gemstones.py @@ -278,6 +278,7 @@ class AddDiamond(Operator): if 'Diamond' in obj.data.keys(): oldmesh = obj.data oldmeshname = obj.data.name + verts, faces = add_diamond(self.segments, self.girdle_radius, self.table_radius, @@ -287,6 +288,10 @@ class AddDiamond(Operator): mesh.from_pydata(verts, [], faces) mesh.update() obj.data = mesh + + for material in oldmesh.materials: + obj.data.materials.append(material) + bpy.data.meshes.remove(oldmesh) obj.data.name = oldmeshname else: @@ -423,6 +428,8 @@ class AddGem(Operator): mesh.from_pydata(verts, [], faces) mesh.update() obj.data = mesh + for material in oldmesh.materials: + obj.data.materials.append(material) bpy.data.meshes.remove(oldmesh) obj.data.name = oldmeshname else: diff --git a/add_mesh_extra_objects/add_mesh_pipe_joint.py b/add_mesh_extra_objects/add_mesh_pipe_joint.py index 0c1e315f..85c182bc 100644 --- a/add_mesh_extra_objects/add_mesh_pipe_joint.py +++ b/add_mesh_extra_objects/add_mesh_pipe_joint.py @@ -224,6 +224,8 @@ class AddElbowJoint(Operator): oldmeshname = obj.data.name mesh = create_mesh(context, verts, [], faces, "Elbow Joint") obj.data = mesh + for material in oldmesh.materials: + obj.data.materials.append(material) bpy.data.meshes.remove(oldmesh) obj.data.name = oldmeshname else: @@ -469,6 +471,8 @@ class AddTeeJoint(Operator): oldmeshname = obj.data.name mesh = create_mesh(context, verts, [], faces, "Tee Joint") obj.data = mesh + for material in oldmesh.materials: + obj.data.materials.append(material) bpy.data.meshes.remove(oldmesh) obj.data.name = oldmeshname else: @@ -731,6 +735,8 @@ class AddWyeJoint(Operator): oldmeshname = obj.data.name mesh = create_mesh(context, verts, [], faces, "Wye Joint") obj.data = mesh + for material in oldmesh.materials: + obj.data.materials.append(material) bpy.data.meshes.remove(oldmesh) obj.data.name = oldmeshname else: @@ -1057,6 +1063,8 @@ class AddCrossJoint(Operator): oldmeshname = obj.data.name mesh = create_mesh(context, verts, [], faces, "Cross Joint") obj.data = mesh + for material in oldmesh.materials: + obj.data.materials.append(material) bpy.data.meshes.remove(oldmesh) obj.data.name = oldmeshname else: @@ -1280,6 +1288,8 @@ class AddNJoint(Operator): oldmeshname = obj.data.name mesh = create_mesh(context, verts, [], faces, "N Joint") obj.data = mesh + for material in oldmesh.materials: + obj.data.materials.append(material) bpy.data.meshes.remove(oldmesh) obj.data.name = oldmeshname else: diff --git a/add_mesh_extra_objects/add_mesh_round_brilliant.py b/add_mesh_extra_objects/add_mesh_round_brilliant.py index 6d795795..be386770 100644 --- a/add_mesh_extra_objects/add_mesh_round_brilliant.py +++ b/add_mesh_extra_objects/add_mesh_round_brilliant.py @@ -433,6 +433,8 @@ class MESH_OT_primitive_brilliant_add(Operator): self.keep_lga, self.g_real_smooth ) obj.data = mesh + for material in oldmesh.materials: + obj.data.materials.append(material) bpy.data.meshes.remove(oldmesh) obj.data.name = oldmeshname else: -- cgit v1.2.3