def __doWrite(e): blendercal.ParseArgs([""" --blendercal= AUTHOR = %s; PREPEND = %s; XMLINDENT = %s; FLOATPRE = %s; ANIMFPS = %g; EXPORTGL = %s; LOD = %s; EXTRADATA = %s; """ % ( EXPORTS[EV_AUTHOR], EXPORTS[EV_PREPEND], EXPORTS[EV_XMLINDENT], EXPORTS[EV_FLOATPRE], EXPORTS[EV_ANIMFPS], EXPORTS[EV_EXPORTGL], EXPORTS[EV_LOD], EXPORTS[EV_EXTRADATA] )]) Blender.Window.FileSelector(CALLBACK, "Export Cal3D", "model.cfg") Blender.Draw.Exit()
# Our extremely simple export function; it has two entry points, one # from the commandline and another from the GUI. def Cal3DExport(filename): # Reset globals, in case the script is executed # multiple times from the gui blendercal.bcobject.Material.MATERIALS = {} blendercal.bcobject.Skeleton.ARMATURE = None blendercal.bcobject.Bone.BONES = {} skeldata = blendercal.bcdata.SkeletonData() meshdata = blendercal.bcdata.MeshData() animdata = blendercal.bcdata.AnimationData() blendercal.bcdata.ExportData(filename, skeldata, meshdata, animdata) if __name__ == "__main__": # If the user wants to run in "batch" mode, assume that ParseArgs # will correctly set bcconf data and go. if blendercal.ParseArgs(sys.argv): Cal3DExport(blendercal.bcconf.FILENAME) Blender.Quit() # Otherwise, let the bccgui module take over. else: blendercal.bcgui.CALLBACK = Cal3DExport Blender.Draw.Register(blendercal.bcgui.InterfaceDraw, blendercal.bcgui.InterfaceEvent, blendercal.bcgui.InterfaceButton)