importing a massive pc2 ani file into blender

Is there a way to import more than one pc2 file(point cache) at once?
i have a same file names on both blender objects and pc2 file

i.m using import pc2 script by matt ebb(thanks!!)
plz help!


try:
from struct import unpack
except:
unpack = None

import Blender
from Blender import Mesh, Object, Scene
import BPyMessages

def pc2_import(filepath, ob, PREF_IPONAME, PREF_OFFSET, PREF_JUMP):

print '

importing point cache 2 “%s”’ % filepath

Blender.Window.DrawProgressBar (0.0, "Importing pc2 ...")
Blender.Window.EditMode(0)
Blender.Window.WaitCursor(1)

file = open(filepath, 'rb')

headerFormat='<12ciiffi'
header = unpack(headerFormat, file.read(32))

numPoints = header[13]
startFrame = int(header[14])
sampleRate = header[15]
numSamples = header[16]

print '	numPoints:%d startFrame:%d sampleRate:%d numSamples:%d' % (numPoints, startFrame, sampleRate, numSamples)

scn = Scene.GetCurrent()
ctx = scn.getRenderingContext()
Blender.Set("curframe", startFrame+PREF_OFFSET)
me = ob.getData(mesh=1)

def UpdateMesh(me,fr):
	for v in me.verts:
		# 12 is the size of 3 floats
		x,y,z= unpack('<3f', file.read(12))
		v.co[:] = x,y,z
	me.update()

Blender.Window.DrawProgressBar (0.4, "4 Importing pc2 ...")


curfr = ctx.currentFrame()
print'	loading pc2 data...'
for i in xrange(numSamples):
	Blender.Set("curframe", i+startFrame+PREF_OFFSET)
	if len(me.verts) > 1 and (curfr >= startFrame+PREF_OFFSET) and (curfr <= startFrame+PREF_OFFSET+numSamples):
		UpdateMesh(me, i)
		ob.insertShapeKey()

Blender.Window.DrawProgressBar (0.5, "5 Importing pc2 ...")

key= me.key

# Add the key of its not there
if not key:
	me.insertKey(1, 'relative')
	key= me.key

key.ipo = Blender.Ipo.New('Key', PREF_IPONAME)
ipo = key.ipo
# block = key.getBlocks() # not used.
all_keys = ipo.curveConsts

for i in xrange(PREF_JUMP+1, len(all_keys), PREF_JUMP):
	curve = ipo.getCurve(i)
	if curve == None:
		curve = ipo.addCurve(all_keys[i])
	
	curve.append((startFrame+PREF_OFFSET+i-1,1))
	curve.append((startFrame+PREF_OFFSET+i- PREF_JUMP -1,0))
	curve.append((startFrame+PREF_OFFSET+i+ PREF_JUMP-1,0))
	curve.setInterpolation('Linear')
	curve.recalc()

print 'done'
Blender.Window.WaitCursor(0)
Blender.Window.DrawProgressBar (1.0, '')

def pc2_import_ui(filepath):

if BPyMessages.Error_NoFile(filepath):
	return
	
scn= Scene.GetCurrent()
ob_act= scn.objects.active

if ob_act == None or ob_act.type != 'Mesh':
	BPyMessages.Error_NoMeshActive()
	return

PREF_IPONAME = Blender.Draw.Create(filepath.split('/')[-1].split('\\')[-1].split('.')[0])
PREF_OFFSET = Blender.Draw.Create(0)
PREF_JUMP = Blender.Draw.Create(1)

block = [\
("Ipo Name: ", PREF_IPONAME, 0, 30, "Ipo name for the new shape key"),\
("Frame Offset: ", PREF_OFFSET, -3000, 3000, "Offset the Point cache's start frame in the "),\
("Key Skip: ", PREF_JUMP, 1, 100, "Key Reduction, Skip every Nth Frame")\
]

if not Blender.Draw.PupBlock("Import Point Cache 2", block):
	return
orig_frame = Blender.Get('curframe')
pc2_import(filepath, ob_act, PREF_IPONAME.val, PREF_OFFSET.val, PREF_JUMP.val)
Blender.Set('curframe', orig_frame)

if name == ‘main’:
if not unpack:
Draw.PupMenu(‘Error%t|This script requires a full python install’)

Blender.Window.FileSelector(pc2_import_ui, 'Import Point Cache 2', '*.pc2')

Wow! I just came across this hoping I could use it. Wow, Totally destroyed without the indentation! That’s to bad. :frowning:

Nevermind. I found the original but it doesn’t seem to work anymore.