1
$\begingroup$

Let's say we have many overlapping objects. Why are they overlapping? Could be any number of reasons, but most likely because they were generated from a script and the script put them all in the same spot. They are each a little different, so rather than generating new objects we need to clean up our existing ones.

How can we write a script (or use some other method) to distribute these objects in a straight array-like line?

Sure, we can select any individual object by Alt-RClicking, but we would still need to place each one manually.

Multiple overlapping objects. One can be selected using Alt-RClick.

In the end we want something like this:

Objects neatly lined up in a row

Not so difficult to manually place a few of these, but when you have hundreds of objects that's a different story.

There is a question similar to this one, but the answers provided did not work for me. One answer was to use a particular add-on (Oscurart Tools), but when I tried it the Distribute button did not work, so I suspect the add-on is not functioning properly in more recent versions of Blender. The other answer was basically "repeat the last thing you did using Shift R" but obviously that only works at the time of creation, and is of no use when faced with an existing heap of overlapping objects.

Any help appreciated.

$\endgroup$
  • 1
    $\begingroup$ Afaik Distribute function is still working but the objects between which others will be distributed have to be located in different places, so if you grab one conus out of all others by X axis to 5 units away, select it and all others then those will be distributed in these 5 units. There is some general difference in object as active but not in this case I think $\endgroup$ – Mr Zak Jul 12 '17 at 20:50
  • $\begingroup$ @MrZak Spot-on, mate. It worked! Thank you. If you want to post that as an answer I'll accept. $\endgroup$ – Mentalist Jul 12 '17 at 20:56
  • $\begingroup$ Ok while I feel this is a duplicate of the linked question. Probably there could be better description of how operator works as I found only video tutorial about that, no "text-aka-wiki" one. $\endgroup$ – Mr Zak Jul 12 '17 at 22:46
4
$\begingroup$

The Distribute operator from the OscurArt Tools addon works fine, however it expects one object from those to be distributed put at the end of the distribution area. This means one should select one object of those overlapping ones, move it away as desired, then select all the others, make the standalone one as active and run Distribute.

There are 5 monkeys overlapping in one spot in the first frame on the image below; one is moved to the right on the second, and then the rest of them are distributed with addon.

screenshot-distributing-monkeys

$\endgroup$

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.