import Blender
import archimap_ex
height=500
width=500
from Blender import *
sel=Blender.Object.GetSelected()
for obj in sel:
obj.sel=0
scn = Scene.GetCurrent()
context = scn.getRenderingContext()
for obj in sel:
obj.sel=1
if obj.getType()=='Mesh':
mesh=obj.getData(mesh=1)
uvnames=mesh.getUVLayerNames()
ctr=0
for uvn in uvnames:
if uvn==obj.name+".BakeInfo":
ctr=1
if ctr==0:
mesh.addUVLayer(obj.name+".BakeInfo")
mesh.activeUVLayer=obj.name+".BakeInfo"
archimap_ex.main(0)
ctr=0
img=None
imgl=Image.Get()
for im in imgl:
if im.getName()==obj.name+".BakeInfo":
img=im
if img==None:
img=Image.New(obj.name+".BakeInfo",width,height,24)
img.setFilename(Blender.Get("texturesdir")+obj.name+".BakeInfo")
Blender.Main.images.active=img
faces=mesh.faces
for f in faces:
f.image=img
img.save()
context.renderBake()
try:
img.pack()
except:
try:
img.repack()
except:
print "error!"
obj.sel=0
for obj in sel:
obj.sel=1