Still not possible to get inter-frame scene data?

You can retrieve the values of IPO curves at any point in time including between frames but everything else like object location, rotation etc is collected at the current integer frame only.

You could manually check every object’s parenting and constraints and check the IPO values of each of them but it would be so much nicer if you could specify a floating point frame value when you try to get object data. Perhaps if every object had cumulative IPOs as well as their own, which were basically the sum of all their constraints including their own IPO. I think for some animation scenarios, it would be quite handy to see a cumulative IPO curve.

On a side note, why is it that rotation IPOs are displayed as 1/10th their actual values in the transform properties box e.g 45 degrees shows as 4.5? It seems trivial to multiply it by 10 to avoid confusion.

Another issue that has arisen is that not being able to access a single object’s data by frame causes a lot of slow down in some cases.

In order to access an object’s matrix, I have to set Blender’s current frame first and then get the matrix. However, setting the frame updates all objects in the scene and if I have rigged meshes, that causes quite a bit of slowdown if I just want to quickly iterate over one object.

So if possible, instead of having to do:

Blender.Set(‘curframe’, frame) # where frame is an integer
matrix = obj.matrix

it would be great to be able to do:

matrix = obj.matrix(frame) # where frame is a floating point number