diff --git a/io_coat3D/__init__.py b/io_coat3D/__init__.py index 0a1bd9b9aa3fa092d1e63cb11985bae0a74d278a..9a2e4bd0d31be53820a2e20a071c852b8df488f8 100644 --- a/io_coat3D/__init__.py +++ b/io_coat3D/__init__.py @@ -143,10 +143,7 @@ def set_working_folders(): platform = os.sys.platform coat3D = bpy.context.scene.coat3D if(platform == 'win32'): - if(bpy.data.filepath == ''): - folder_objects = os.path.expanduser("~") + os.sep + 'Documents' + os.sep + '3DC2Blender' + os.sep + 'ApplinkObjects' - else: - folder_objects = os.path.dirname(bpy.data.filepath) + os.sep + '3DCApplink' + folder_objects = os.path.expanduser("~") + os.sep + 'Documents' + os.sep + '3DC2Blender' + os.sep + 'ApplinkObjects' if(not(os.path.isdir(folder_objects))): os.makedirs(folder_objects) else: @@ -316,6 +313,7 @@ class SCENE_OT_export(bpy.types.Operator): material.material.node_tree.nodes.remove(node) + return {'FINISHED'} class SCENE_OT_import(bpy.types.Operator): @@ -339,6 +337,10 @@ class SCENE_OT_import(bpy.types.Operator): coat3D.exchangedir = set_exchange_folder() texturelist = make_texture_list(coat3D.exchangedir) + for texturepath in texturelist: + for image in bpy.data.images: + if(image.filepath == texturepath[3]): + bpy.data.images.remove(image) Blender_folder = ("%s%sBlender"%(coat3D.exchangedir,os.sep)) @@ -376,6 +378,8 @@ class SCENE_OT_import(bpy.types.Operator): old_materials = bpy.data.materials.keys() old_objects = bpy.data.objects.keys() + old_images = bpy.data.images.keys() + image_list = [] object_list = [] import_list = [] mesh_del_list = [] @@ -397,11 +401,15 @@ class SCENE_OT_import(bpy.types.Operator): new_materials = bpy.data.materials.keys() new_objects = bpy.data.objects.keys() + new_images = bpy.data.images.keys() diff_mat = [i for i in new_materials if i not in old_materials] diff_objects = [i for i in new_objects if i not in old_objects] + diff_images = [i for i in new_images if i not in old_images] for c_index in diff_mat: bpy.data.materials.remove(bpy.data.materials[c_index]) + for i in diff_images: + bpy.data.images.remove(bpy.data.images[i]) #The main Applink Object Loop diff --git a/io_coat3D/tex.py b/io_coat3D/tex.py index 1c8c7db198e248b33b23ee83639d70f74f93853b..b682c8df60147cebcd66c4cf07f0f33aba4b4d5c 100644 --- a/io_coat3D/tex.py +++ b/io_coat3D/tex.py @@ -41,13 +41,8 @@ def readtexturefolder(objekti,is_new): #read textures from texture file texcoat['nmap'] = [] texcoat['disp'] = [] - if(is_new == True): - files_dir = os.path.dirname(os.path.abspath(objekti.coat3D.applink_address)) - else: - if(bpy.data.filepath == ''): - files_dir = os.path.dirname(os.path.abspath(objekti.coat3D.applink_address)) - else: - files_dir = os.path.dirname(bpy.data.filepath) + os.sep + '3DCApplink' + + files_dir = os.path.dirname(os.path.abspath(objekti.coat3D.applink_address)) files = os.listdir(files_dir) materiaali_muutos = objekti.active_material.name uusin_mat = materiaali_muutos.replace('Material.','Material_') @@ -58,7 +53,6 @@ def readtexturefolder(objekti,is_new): #read textures from texture file tex_name = listed[-2] texcoat[tex_name].append(koko_osoite) - createnodes(objekti, texcoat) def checkmaterial(mat_list, objekti): #check how many materials object has