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$ – masterj2001 May 24 '18 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 '18 at 22:55
  • 2
    $\begingroup$ just to clarify... accomplish and accomplice are two different things... $\endgroup$ – user1853 May 25 '18 at 0:14
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 '18 at 3:06

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.