Get In Line! (May 9,2011)

35 votes
Version: 
5.0
Date Updated: 
04/09/2011
Author Name: 
JokerMartini

This script evenly distributes the selected objects based on the start and end target objects.

Anyone is more than welcome to add to this.
Things you could potentially add are qsorting, transform, scale, and rotation sorting as well.

Right now it just does position.

Features

- V1.0 | Distribute selected objects evenly between two targeted objects

- V2.0 | Random position offset for each object on X,Y,Z

- V3.0 | Functionality code rewrite

- V4.0 | Offset position adjustments and bug fixes

- V5.0 | New UI design and random positioning along vector
- V5.0 | Custom Axis selecting for position aligning individually for X,Y,Z.

WishList

- Distribute Option for each axis individually X,Y,Z
- Distribute Rotation
- QSort selected objects (will allow for animating ex:spring)

Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
crystal3d's picture

but that would be much more practical

if i did not have to check for groups as i use this script for practicality purposes... merge vegetation from a scene, get them inline and check the shadings each next to each other in one go for comparsion between

crystal3d's picture

my work around atm

is to open those groups and select on the group entity so the objects inside the group dont get spoiled

crystal3d's picture

the version i have definitely spoils the grouped objects...

can it be adjusted so that it treats groupd objects as single items so they get in line properly?

tracymurphy's picture

The UX interviews really

The UX interviews really stood out to us. We received a lot of internal information UX design firm that we could learn from,The team is organized, efficient, and prompt to accommodate feedback.

barigazy's picture

...

@trueman
Just change state_ok function in line 6.
Here is the fix

fn state_ok = if selection.count == 0 then return off else
(
	for obj in selection where isValidNode obj do
	(
		if (obj.name == StartObj.name or obj.name == EndObj.name) do return off
	) ; on
)

barigazy

trueman's picture

Hi. Thanks for the cool

Hi. Thanks for the cool script.
I suggest it would be nice to add start/end objects existence check. Sometimes I accidentally try to distribute objects between deleted objects that leads to runtime error.

JokerMartini's picture

This is getting a re-write at

This is getting a re-write at the moment and will be much quicker with easier control and use.

John Martini
Digital Artist
http://www.JokerMartini.com (new site)

Spacelord's picture

Thank you

This is so cool, I was just thinking it would be great to have a Revit feature that is very similar to this script in 3dsmax and here it is !!

Thanks a million.

Serjio444's picture

sorry I do not understand how

sorry
I do not understand how this script works
You can make video?

JokerMartini's picture

Sorry about the bug. I'll

Sorry about the bug. I'll look into fixing that and implement it into the update.

I never test on groups as they, to me, are bad practice to use inside of 3ds Max. I only say that because man handles them incorrectly. That is no fault of you or I, but just wanted to make mention of it.

As far as fixing that though, I'll be sure to do so. Thank you for the report.

John Martini
Digital Artist
http://www.JokerMartini.com (new site)

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.