Arrange / Distribute Objects

Look all over, but cannot find a script that evenly distributes a selection of objects in n-rows / n-columns. MCG-Arrange accomplished this task, but is not functional in 3ds Max 2020.

It’s very surprising to me that such a script does not exist(?)

Damn,

That looks handy. I don’t have any tips, but posting here in case someone comes up with a solution.

This is the best I’ve found so far (link)

Not as flexible as I would like, but it does evenly distribute objects between two points. I’m looking for a solution that can distribute a selection of objects into an arbitrary number of rows and columns, like MCG-arrange.

Hmm I guess PFlow could help here, you can specify a group as object source, and then use a grid birth operator… but controls are limited.
Maybe TyFlow provides more options…

what is missing from Array tool in 3ds max?

Right, I was going to use TyFlow, but I was really hoping to avoid that; I assumed there was probably already a script floating around that maybe someone had but never shared online(?)

Honestly I don’t know what’s missing from it. But this - to me - is an awful tool. I have no idea what it wants, I never get the expected results.

Array is a great tool and i use it a lot, but it doesn’t do what cwidd wants. It can’t take multiple existing objects and arrange them into some array. I need to test that mcg script - never felt particular need for such tool, but who knows, sometime it may come handy.

Do you mean, “How does the 3ds Max array tool not suit the intended use case?”

I think the answer is just that the array tool does not perform this function; the array tool generates an array of instances (or copies) based on the transform of the selected objects, the array tool does not arrange objects, which is what I’m trying to do, and what the MCG_Arrange tool used to do.

Forest pro/ Rail clone?

Right, I assume RailClone does do this, and ForestPack might also do this. I could look into using FP for this, but I do not have access to RC.

To be sure, I was really looking for a turnkey solution for this, thinking a script for it already existed - and it does, but not for Max 2020.

If plugin dependency is not an issue for you:

  1. there is a free version of RC
  2. you might try the (also free) (Get Free Plugin CloneModifier for 3ds Max, a parametric array modifier.): Select all objects you want to distribute, apply modifier twice to create a grid with them. All parametric and adjustable.

Good Luck

create an array and replace objects with simple replacer script.

Thanks Frood, looking into this +1

also highly recommended: AdvArray

Neat, never heard of this one.

Maybethis clone modifier by iToo helps?

You can add it to the stack twice, one for the rows, the second for the columns.
(If its the same object over and over again, which is your user case, if Im correct.)

Unfortunately this is modifier does not achieve the desired effect; in fact, this is basically a modifier version of the array tool.

I just want to clarify, because there are several people offering their advice, but are misunderstanding what I’m looking for.

Imagine you import a Megascans collection of small rocks, they are all separate (unique) objects and all import at transform (0,0,0). Now arrange them in a grid.

I’m looking for a script that does this, as MCG_Arrange does, with parameters to arrange the objects in a grid of arbitrary number of rows and columns. For example, if you have 16 objects, you could create 2 row/8 col, 8 row/2 col, 4 row/4 col, 1 row/16 col, etc.

Sorry for not having read properly…

Does this Script snippet by Bobo help you?
https://forums.cgsociety.org/t/distribute-evenly/1164337/3