Making array modifier constant offset - constant?

Regards.

Please see the attached blend file: http://pasteall.org/blend/index.php?id=44395

I am trying to get a space of 85mm (or 0.85 BU for now) between each cube while the cubes become proportionally smaller. I thought constant offset would work but it pretty much works the same way as relative. I suspect it is because the object’s world-space is shrunk instead of local space… but I am just guessing.

Any ideas on how to make the array?

Array doesn’t duplicate objects but object data and the offset options set the center for the duplicates. It doesn’t have a recursive offset option that would take relative offset from each of the duplicates, and have the next one positioned so that there’s a constant gap in between.

So with objects it would be



import bpy

offset = 0.5

items = sorted(bpy.context.selected_objects, key=lambda x: x.name)

for i, obj in enumerate(items):
    if(i > 0):
        obj = items[i]
        obj_from = items[i-1]
        obj.location.x = obj_from.location.x + obj_from.dimensions.x/2 + obj.dimensions.x/2 + offset