Type Python script "randomPlacement()" in commandLine to Run
Select objects to move and hit "Define". Selected objects are automatically defined when the "Move Objects!" button is pressed and no objects are pre-defined.
Change translate, rotate and scale min and max values below. "Uniform Scale" checkbox will randomize scale values uniformly along each axis. "Relative Scale" will use the scale of each object when it is defined as the base point for the random scale.
Scene Origin: Use the world coordinate 0,0,0 at the center of the grid as the center point from where all objects are randomly moved from.
Parent Origin: Use the immediate parents position as the center point for all movements. If objects are grouped under different parents, positions may alter much more drastically.
Center of Objects: Uses the combined center point of the defined objects. This is recalculated each time objects are moved and may result in the group shifting around.
Use Locators: 3 locators and a bounding box will appear that the user can move and resize to create the area in which the objects will be randomly moved within.
Keep Positions: A seed value is used to keep the calculations the same each time "Move Objects!" is pressed.
Stop Intersections: Tests the bounding box of each object to check if it's colliding with another object. If it is, then it will find a new position until it reaches the max samples. Too many objects being moved in a space too small to fit all of them will result in the maximum number of samples being used with a colliding result in the end.If this happens and the samples are too high, hit escape at any point to cancel the calculation.
For more information, visit my blog: