I have the following code to assign a different material ( a copy of base object material, but i want a separate material for each object).
baseMat = lightBulb.active_material
print("Base Material name ",baseMat.name)
for i in range(1, pts + o):
s = lightBulb.copy()
newMatName = baseMat.name
newMat = bpy.data.materials.new(name = newMatName)
# Assign it to object
if s.data.materials:
# assign to 1st material slot
s.data.materials[0] = newMat
else:
# no slots
s.data.materials.append(newMat)
print("Object ",s.name," material ",s.data.materials[0])
sc = s.constraints[0]
sc.offset_factor = i / pts
scene.objects.link(s)
spheres.append(s)
The problem is all the objects get assign the last material created instread of the individual copies. Here is the printout. At the end, each bulb is assigned material “BulbMaterial.037”
Base Material name BulbMaterial
Object Bulb.001 material <bpy_struct, Material("BulbMaterial.001")>
Object Bulb.002 material <bpy_struct, Material("BulbMaterial.002")>
Object Bulb.003 material <bpy_struct, Material("BulbMaterial.003")>
Object Bulb.004 material <bpy_struct, Material("BulbMaterial.004")>
Object Bulb.005 material <bpy_struct, Material("BulbMaterial.005")>
Object Bulb.006 material <bpy_struct, Material("BulbMaterial.006")>
Object Bulb.007 material <bpy_struct, Material("BulbMaterial.007")>
Object Bulb.008 material <bpy_struct, Material("BulbMaterial.008")>
Object Bulb.009 material <bpy_struct, Material("BulbMaterial.009")>
Object Bulb.010 material <bpy_struct, Material("BulbMaterial.010")>
Object Bulb.011 material <bpy_struct, Material("BulbMaterial.011")>
Object Bulb.012 material <bpy_struct, Material("BulbMaterial.012")>
Object Bulb.013 material <bpy_struct, Material("BulbMaterial.013")>
Object Bulb.014 material <bpy_struct, Material("BulbMaterial.014")>
Object Bulb.015 material <bpy_struct, Material("BulbMaterial.015")>
Object Bulb.016 material <bpy_struct, Material("BulbMaterial.016")>
Object Bulb.017 material <bpy_struct, Material("BulbMaterial.017")>
Object Bulb.018 material <bpy_struct, Material("BulbMaterial.018")>
Object Bulb.019 material <bpy_struct, Material("BulbMaterial.019")>
Object Bulb.020 material <bpy_struct, Material("BulbMaterial.020")>
Object Bulb.021 material <bpy_struct, Material("BulbMaterial.021")>
Object Bulb.022 material <bpy_struct, Material("BulbMaterial.022")>
Object Bulb.023 material <bpy_struct, Material("BulbMaterial.023")>
Object Bulb.024 material <bpy_struct, Material("BulbMaterial.024")>
Object Bulb.025 material <bpy_struct, Material("BulbMaterial.025")>
Object Bulb.026 material <bpy_struct, Material("BulbMaterial.026")>
Object Bulb.027 material <bpy_struct, Material("BulbMaterial.027")>
Object Bulb.028 material <bpy_struct, Material("BulbMaterial.028")>
Object Bulb.029 material <bpy_struct, Material("BulbMaterial.029")>
Object Bulb.030 material <bpy_struct, Material("BulbMaterial.030")>
Object Bulb.031 material <bpy_struct, Material("BulbMaterial.031")>
Object Bulb.032 material <bpy_struct, Material("BulbMaterial.032")>
Object Bulb.033 material <bpy_struct, Material("BulbMaterial.033")>
Object Bulb.034 material <bpy_struct, Material("BulbMaterial.034")>
Object Bulb.035 material <bpy_struct, Material("BulbMaterial.035")>
Object Bulb.036 material <bpy_struct, Material("BulbMaterial.036")>
Object Bulb.037 material <bpy_struct, Material("BulbMaterial.037")>