Skip to content
Snippets Groups Projects
Commit 2f45a4c9 authored by Kalle-Samuli Riihikoski's avatar Kalle-Samuli Riihikoski
Browse files

Now import button will check if object is mesh type and leave other untouched.

parent 90af8be6
No related branches found
No related tags found
No related merge requests found
...@@ -290,113 +290,114 @@ class SCENE_OT_import(bpy.types.Operator): ...@@ -290,113 +290,114 @@ class SCENE_OT_import(bpy.types.Operator):
test = bpy.context.selected_objects test = bpy.context.selected_objects
act_first = bpy.context.scene.objects.active act_first = bpy.context.scene.objects.active
for act_name in test: for act_name in test:
activeobj = act_name.name if act_name.type == 'MESH':
mat_list = [] activeobj = act_name.name
scene.objects[activeobj].select = True mat_list = []
objekti = scene.objects[activeobj] scene.objects[activeobj].select = True
coat3D.loca = objekti.location objekti = scene.objects[activeobj]
coat3D.rota = objekti.rotation_euler coat3D.loca = objekti.location
coa = bpy.context.scene.objects.active.coat3D coat3D.rota = objekti.rotation_euler
coa = bpy.context.scene.objects.active.coat3D
exportfile = coat3D.exchangedir
path3b_n = coat3D.exchangedir
path3b_n += ('last_saved_3b_file.txt')
exportfile += ('%sexport.txt'%(os.sep))
if(os.path.isfile(exportfile)):
export_file = open(exportfile)
for line in export_file:
if line.rfind('.3b'):
objekti.coat3D.coatpath = line
coat['active_coat'] = line
export_file.close()
os.remove(exportfile)
if(objekti.material_slots):
for obj_mat in objekti.material_slots:
mat_list.append(obj_mat.material)
act_mat_index = objekti.active_material_index
if(coat3D.importmesh and os.path.isfile(coa.objectdir)):
mtl = coa.objectdir
mtl = mtl.replace('.obj','.mtl')
if(os.path.isfile(mtl)):
os.remove(mtl)
exportfile = coat3D.exchangedir
bpy.ops.import_scene.obj(filepath=act_name.coat3D.objectdir,axis_forward='Y',axis_up='Z') path3b_n = coat3D.exchangedir
obj_proxy = scene.objects[0] path3b_n += ('last_saved_3b_file.txt')
bpy.ops.object.select_all(action='TOGGLE') exportfile += ('%sexport.txt'%(os.sep))
obj_proxy.select = True if(os.path.isfile(exportfile)):
if(coa.export_on): export_file = open(exportfile)
bpy.ops.object.origin_set(type='ORIGIN_GEOMETRY', center='MEDIAN') for line in export_file:
if line.rfind('.3b'):
objekti.coat3D.coatpath = line
coat['active_coat'] = line
export_file.close()
os.remove(exportfile)
bpy.ops.object.transform_apply(rotation=True)
proxy_mat = obj_proxy.material_slots[0].material
obj_proxy.data.materials.pop(0)
proxy_mat.user_clear() if(objekti.material_slots):
bpy.data.materials.remove(proxy_mat) for obj_mat in objekti.material_slots:
bpy.ops.object.select_all(action='TOGGLE') mat_list.append(obj_mat.material)
act_mat_index = objekti.active_material_index
scene.objects.active = obj_proxy
obj_data = objekti.data.id_data
objekti.data = obj_proxy.data.id_data
if(bpy.data.meshes[obj_data.name].users == 0):
bpy.data.meshes.remove(obj_data)
objekti.data.id_data.name = obj_data.name
obj_proxy.select = True if(coat3D.importmesh and os.path.isfile(coa.objectdir)):
bpy.ops.object.delete() mtl = coa.objectdir
objekti.select = True mtl = mtl.replace('.obj','.mtl')
bpy.context.scene.objects.active = objekti if(os.path.isfile(mtl)):
os.remove(mtl)
bpy.ops.import_scene.obj(filepath=act_name.coat3D.objectdir,axis_forward='Y',axis_up='Z')
obj_proxy = scene.objects[0]
bpy.ops.object.select_all(action='TOGGLE')
obj_proxy.select = True
if(coa.export_on):
bpy.ops.object.origin_set(type='ORIGIN_GEOMETRY', center='MEDIAN')
bpy.ops.object.transform_apply(rotation=True)
proxy_mat = obj_proxy.material_slots[0].material
obj_proxy.data.materials.pop(0)
proxy_mat.user_clear()
bpy.data.materials.remove(proxy_mat)
bpy.ops.object.select_all(action='TOGGLE')
if(coat3D.smooth_on):
bpy.ops.object.shade_smooth()
else:
bpy.ops.object.shade_flat()
if(os.path.isfile(path3b_n)):
path3b_fil = open(path3b_n)
for lin in path3b_fil:
objekti.coat3D.path3b = lin
path3b_fil.close()
os.remove(path3b_n)
if(coat3D.importmesh and not(os.path.isfile(coa.objectdir))): scene.objects.active = obj_proxy
coat3D.importmesh = False
if(mat_list and coat3D.importmesh): obj_data = objekti.data.id_data
for mat_one in mat_list: objekti.data = obj_proxy.data.id_data
objekti.data.materials.append(mat_one) if(bpy.data.meshes[obj_data.name].users == 0):
objekti.active_material_index = act_mat_index bpy.data.meshes.remove(obj_data)
objekti.data.id_data.name = obj_data.name
if(mat_list):
for obj_mate in objekti.material_slots: obj_proxy.select = True
for tex_slot in obj_mate.material.texture_slots: bpy.ops.object.delete()
if(hasattr(tex_slot,'texture')): objekti.select = True
if(tex_slot.texture.type == 'IMAGE'): bpy.context.scene.objects.active = objekti
tex_slot.texture.image.reload()
if(coat3D.importmod):
mod_list = []
for mod_index in objekti.modifiers:
objekti.modifiers.remove(mod_index)
if(coat3D.smooth_on):
bpy.ops.object.shade_smooth()
else:
bpy.ops.object.shade_flat()
if(os.path.isfile(path3b_n)):
path3b_fil = open(path3b_n)
for lin in path3b_fil:
objekti.coat3D.path3b = lin
path3b_fil.close()
os.remove(path3b_n)
if(coat3D.importmesh and not(os.path.isfile(coa.objectdir))):
coat3D.importmesh = False
if(mat_list and coat3D.importmesh):
for mat_one in mat_list:
objekti.data.materials.append(mat_one)
objekti.active_material_index = act_mat_index
if(coat3D.importtextures): if(mat_list):
export = '' for obj_mate in objekti.material_slots:
tex.gettex(mat_list,objekti,scene,export) for tex_slot in obj_mate.material.texture_slots:
if(hasattr(tex_slot,'texture')):
if(tex_slot.texture.type == 'IMAGE'):
tex_slot.texture.image.reload()
if(coat3D.importmod):
mod_list = []
for mod_index in objekti.modifiers:
objekti.modifiers.remove(mod_index)
if(coat3D.importtextures):
export = ''
tex.gettex(mat_list,objekti,scene,export)
for act_name in test: for act_name in test:
act_name.select = True act_name.select = True
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment