Addon: Mesh Extra Objects: Added restore materials if you go back to change parameters in Gear, WormGear, WallFactory, Beam, Pipe, Gem, Brilliant

This commit is contained in:
Vladimir Spivak 2019-09-20 20:25:53 +03:00
parent 8bb3714e95
commit ff3ed157a3
6 changed files with 25 additions and 5 deletions

View File

@ -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:

View File

@ -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:

View File

@ -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)

View File

@ -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:

View File

@ -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:

View File

@ -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: