[Bf-extensions-cvs] SVN commit: /data/svn/bf-extensions [2009] trunk/py/scripts/addons/ io_coat3D/coat.py: blender->3d-coat workflow works now.
Kalle-Samuli Riihikoski
haikalle at gmail.com
Tue Jun 7 08:09:53 CEST 2011
Revision: 2009
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-extensions&revision=2009
Author: haikalle
Date: 2011-06-07 06:09:53 +0000 (Tue, 07 Jun 2011)
Log Message:
-----------
blender->3d-coat workflow works now.
Modified Paths:
--------------
trunk/py/scripts/addons/io_coat3D/coat.py
Modified: trunk/py/scripts/addons/io_coat3D/coat.py
===================================================================
--- trunk/py/scripts/addons/io_coat3D/coat.py 2011-06-07 04:47:02 UTC (rev 2008)
+++ trunk/py/scripts/addons/io_coat3D/coat.py 2011-06-07 06:09:53 UTC (rev 2009)
@@ -62,12 +62,24 @@
coat['status'] = 0
else:
coat['status'] = 0
+
+ if(coat['status'] == 1):
+ Blender_folder = ("%s%sBlender"%(coat3D.exchangedir,os.sep))
+ Blender_export = Blender_folder
+ path3b_now = coat3D.exchangedir
+ path3b_now += ('last_saved_3b_file.txt')
+ Blender_export += ('%sexport.txt'%(os.sep))
+
+ if(not(os.path.isdir(Blender_folder))):
+ os.makedirs(Blender_folder)
+ Blender_folder = os.path.join(Blender_folder,"run.txt")
+ file = open(Blender_folder, "w")
+ file.close()
+
#Here you add your GUI
row = layout.row()
row.prop(coat3D,"type",text = "")
row = layout.row()
- colL = row.column()
- colR = row.column()
if(context.selected_objects):
if(context.selected_objects[0].type == 'MESH'):
row.active = True
@@ -75,23 +87,32 @@
row.active = False
else:
row.active = False
- colL.operator("export_applink.pilgway_3d_coat", text="Export")
- colL.label(text="Export Settings:")
- colL.prop(coat3D,"exportover")
- if(coat3D.exportover):
- colL.prop(coat3D,"exportmod")
- colL.prop(coat3D,"exportfile")
- colL.prop(coat3D,"export_pos")
-
- colR.operator("import_applink.pilgway_3d_coat", text="Import")
- colR.label(text="Import Settings:")
- colR.prop(coat3D,"importmesh")
- colR.prop(coat3D,"importmod")
- colR.prop(coat3D,"smooth_on")
- colR.prop(coat3D,"importtextures")
- row = layout.row()
+ if(not(bpy.context.selected_objects) and os.path.isfile(Blender_export)):
+ row.active = True
+ row.operator("import3b_applink.pilgway_3d_coat", text="Bring from 3D-Coat")
+
+ else:
+ colL = row.column()
+ colR = row.column()
+ colL.operator("export_applink.pilgway_3d_coat", text="Export")
+ colL.label(text="Export Settings:")
+
+ colL.prop(coat3D,"exportover")
+ if(coat3D.exportover):
+ colL.prop(coat3D,"exportmod")
+ colL.prop(coat3D,"exportfile")
+ colL.prop(coat3D,"export_pos")
+
+ colR.operator("import_applink.pilgway_3d_coat", text="Import")
+ colR.label(text="Import Settings:")
+ colR.prop(coat3D,"importmesh")
+ colR.prop(coat3D,"importmod")
+ colR.prop(coat3D,"smooth_on")
+ colR.prop(coat3D,"importtextures")
+ row = layout.row()
+
if(bpy.context.selected_objects):
if(context.selected_objects[0].type == 'MESH'):
coa = context.selected_objects[0].coat3D
@@ -108,77 +129,7 @@
row.prop(coa,"objectdir",text="")
row = layout.row()
-
- if(coat['status'] == 1):
- Blender_folder = ("%s%sBlender"%(coat3D.exchangedir,os.sep))
- Blender_export = Blender_folder
- Blender_export = Blender_folder
- path3b_now = coat3D.exchangedir
- path3b_now += ('last_saved_3b_file.txt')
- Blender_export += ('%sexport.txt'%(os.sep))
-
- if(not(os.path.isdir(Blender_folder))):
- os.makedirs(Blender_folder)
- Blender_folder = os.path.join(Blender_folder,"run.txt")
- file = open(Blender_folder, "w")
- file.close()
- if(os.path.isfile(Blender_export)):
- obj_path =''
- obj_pathh = open(Blender_export)
- for line in obj_pathh:
- obj_path = line
- break
- obj_pathh.close()
- export = obj_path
- mod_time = os.path.getmtime(obj_path)
- mtl_list = obj_path.replace('.obj','.mtl')
- if(os.path.isfile(mtl_list)):
- os.remove(mtl_list)
-
- if(os.path.isfile(path3b_now)):
- path3b_file = open(path3b_now)
- for lin in path3b_file:
- path_export = lin
- path_on = 1
- path3b_file.close()
- os.remove(path3b_now)
- else:
- print("ei toimi")
- path_on = 0
-
- for palikka in bpy.context.scene.objects:
- if(palikka.type == 'MESH'):
- if(palikka.coat3D.objectdir == export):
- import_no = 1
- target = palikka
- break
-
- if(import_no):
- new_obj = palikka
- import_no = 0
- else:
- bpy.ops.import_scene.obj(filepath=obj_path)
- new_obj = scene.objects[0]
- scene.objects[0].coat3D.objectdir = export
- if(path_on):
- scene.objects[0].coat3D.path3b = path_export
-
- os.remove(Blender_export)
-
- bpy.context.scene.objects.active = new_obj
-
- if(coat3D.smooth_on):
- bpy.ops.object.shade_smooth()
- else:
- bpy.ops.object.shade_flat()
-
- Blender_tex = ("%s%stextures.txt"%(coat3D.exchangedir,os.sep))
- mat_list.append(new_obj.material_slots[0].material)
- tex.gettex(mat_list, new_obj, scene,export)
-
-
-
if(context.selected_objects):
if(context.selected_objects[0].type == 'MESH'):
coa = bpy.context.selected_objects[0].coat3D
@@ -446,6 +397,82 @@
return('FINISHED')
+class SCENE_OT_import3b(bpy.types.Operator):
+ bl_idname = "import3b_applink.pilgway_3d_coat"
+ bl_label = "Brings mesh from 3D-Coat"
+ bl_description = "Bring 3D-Coat Mesh"
+
+
+ def invoke(self, context, event):
+
+ coat3D = bpy.context.scene.coat3D
+ scene = context.scene
+
+ Blender_folder = ("%s%sBlender"%(coat3D.exchangedir,os.sep))
+ Blender_export = Blender_folder
+ path3b_now = coat3D.exchangedir
+ path3b_now += ('last_saved_3b_file.txt')
+ Blender_export += ('%sexport.txt'%(os.sep))
+
+ import_no = 0
+ mat_list = []
+ obj_path =''
+
+ obj_pathh = open(Blender_export)
+ for line in obj_pathh:
+ obj_path = line
+ break
+ obj_pathh.close()
+ export = obj_path
+ mod_time = os.path.getmtime(obj_path)
+ mtl_list = obj_path.replace('.obj','.mtl')
+ if(os.path.isfile(mtl_list)):
+ os.remove(mtl_list)
+
+ if(os.path.isfile(path3b_now)):
+ path3b_file = open(path3b_now)
+ for lin in path3b_file:
+ path_export = lin
+ path_on = 1
+ path3b_file.close()
+ os.remove(path3b_now)
+ else:
+ print("ei toimi")
+ path_on = 0
+
+ for palikka in bpy.context.scene.objects:
+ if(palikka.type == 'MESH'):
+ if(palikka.coat3D.objectdir == export):
+ import_no = 1
+ target = palikka
+ break
+
+ if(import_no):
+ new_obj = palikka
+ import_no = 0
+ else:
+ bpy.ops.import_scene.obj(filepath=obj_path,axis_forward='Y',axis_up='Z')
+ new_obj = scene.objects[0]
+ scene.objects[0].coat3D.objectdir = export
+ if(path_on):
+ scene.objects[0].coat3D.path3b = path_export
+
+ os.remove(Blender_export)
+
+ bpy.context.scene.objects.active = new_obj
+
+ if(coat3D.smooth_on):
+ bpy.ops.object.shade_smooth()
+ else:
+ bpy.ops.object.shade_flat()
+
+ Blender_tex = ("%s%stextures.txt"%(coat3D.exchangedir,os.sep))
+ mat_list.append(new_obj.material_slots[0].material)
+ tex.gettex(mat_list, new_obj, scene,export)
+
+
+ return('FINISHED')
+
class SCENE_OT_load3b(bpy.types.Operator):
bl_idname = "import_applink.pilgway_3d_coat_3b"
bl_label = "Loads 3b linked into object"
More information about the Bf-extensions-cvs
mailing list