1
$\begingroup$

I was wondering if there is an easy way to create a gap between objects.

enter image description here

In this scenario I have 4 different objects so an array modifier will not work. But I want to create a gap between then that has an exact amount for all the gaps.

Now I can eyeball it, I can wiggle with the Location properties or I can create a spacer object and use the snap tool to do it. All of these workflows feel a bit extra and will not work on larger scenes.

Is there a easier way to accomplish this?

$\endgroup$
3
  • $\begingroup$ If you duplicate the original object using shift d and then move it to your desired location, you can then use shift r to repeat the duplication as many times as you desire. $\endgroup$ May 24, 2018 at 22:51
  • $\begingroup$ It are different objects though, else the array modifier would be the best way to accomplice it. $\endgroup$
    – S.Visser
    May 24, 2018 at 22:55
  • 2
    $\begingroup$ just to clarify... accomplish and accomplice are two different things... $\endgroup$
    – user1853
    May 25, 2018 at 0:14

1 Answer 1

2
$\begingroup$

assuming that you want to create a vertical gap between objects, and their origins are in the center of geometry, you can use this script to do it, it aligns the objects and creates a vertical gab between them:

import bpy
#Change gab
gab = 1
objs = bpy.context.selected_objects
box = []
for i in range(len(objs)):
    objs[i].location = (0,0,0)
    box.append(objs[i].dimensions[2])
    if (i == 0):
        box[0] = box[0]/2
    else:
        objs[i].location[2] = (sum(box[:i])+objs[i].dimensions[2]/2)+gab*i
$\endgroup$
1
  • 1
    $\begingroup$ Works like a charm! $\endgroup$
    – S.Visser
    May 25, 2018 at 3:06

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .