I have coded in python everything to read a file and import verts, normals, 
uvs, faces.
When I try to have the object textured in the 3D window with python, it does 
not succeed.

I can select the object and it goes into edit mode and the uv's appear in the 
image window on the uv image in the correct places. I have to select the 
texture map by hand then I can then can press "A" and "tab" and the object will 
then be textured. But using python code I cannot get it to do this.

Here's the section of python code which I'm using to texture objects:

                print('160 - Importing materials...')           
                #mesh.materials.append(material)
                tex_map = [('use_map_color_diffuse', 0)]
                for map, i in tex_map:  
                        mapName = os.path.basename(str(mapname))
                        tex = bpy.data.textures.new(objname + 'Tex', 
type='IMAGE')
                        import bpy_extras.image_utils
                        tex.image = bpy_extras.image_utils.load_image(mapName, 
'/Users/paulcoones/UNPODDED_/art')
                        if tex.image != None:
                                print("189 - smf_import: !INFO! Loaded %s" % 
(mapName))
                                #bpy.ops.image.view.Link(tex.image)
                                use_image_pin = True
                        else:
                                print("191 - smf_import: !WARNING! Cannot find 
texture \"%s\"" % (mapName))
                        
                        tex.use_alpha = True
                        mat = bpy.data.materials.new(objname + 'Mat')
                        mat.use_shadeless = True
                        mtex = mat.texture_slots.add()
                        mtex.texture = tex
                        mtex.texture_coords = 'UV'  
                        mtex.use_map_color_diffuse = True
                        smf_obj.data.materials.append(mat)

                        # Attempt to texture this part
                        bpy.ops.object.editmode_toggle()                        
                        #mn = bpy.data.images[mapName]   
                        #bpy.ops.image.space_data.image = mn
                        #bpy.ops.image.reload()
                        bpy.ops.uv.select_all(action='TOGGLE')  
                        bpy.ops.object.editmode_toggle()
                        bpy.ops.object.select_all(action='TOGGLE')
                        bpy.ops.object.editmode_toggle()
                        bpy.ops.uv.select_all(action='TOGGLE')
                        bpy.ops.object.editmode_toggle()
                        #setattr(uvtex,map,True)
                        #mesh.update(calc_edges=True)            
                        print('192 - this part unwrapped')

It appears that I am having trouble selecting the texture map in code.
Perhaps you could take a look at the python code and suggest a solution. Thanks.


_______________________________________________
Bf-python mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-python

Reply via email to