Array Modifiers Ver 0.82
Written by Anders K. Nielsen
E-mail: akn@mcgreed.dk
URL: http://www.mcgreed.dk/
Copyright 2011, All rights reserved
=====================================


Summery:
========
  This is an modifier for 3DS Max, that does the same as the Array tool does, but with some more 
  features and more importantly, the settings can be adjusted on the fly, so you can always change
  the spacing, rotation, scaling between the array objects, or use splines for either 1D, 2D, 3D
  position. Also feature an randomize addition that can randomize spacing, rotation, scaling.


  (This version does not work perfectly with the previous versions. Amount and Source list will be
  reset to default on modifiers using the old version v0.8, and all settings is reset in v0.75)

  Main Features:
    - Select one or more objects for the array
    - Create array in 1D, 2D or 3D dimensions
    - Adjust the position/rotation/scaling in 1D/2D/3D per object or as total value.
    - NEW: Create array using 1-3 splines
    - NEW: Array group of objects or randomize the objects in the array
    - Add randomize values to the position/rotation/scaling
    - Turn freezing and bounding box on and off
    - Change wireframe color to source color, custom color or a gradient from x,y,z
    - NEW: Linking the array objects to dummy or custom object
    - Offset the array from the dummy
    - Convert and rename generated objects and group them
    - Adjust any value on the fly

Installation:
=============
  Just unzip all the files into your 3ds max's Scipts folder (..\[3ds max 2009]\Scripts\)
  The modifiers should automatically be added to your modifier list when you restart 3ds max.

Uninstall:
==========
  Go into Scripts and delete the folder ArrayModifier, and the file ArrayModifier_startup.ms
  in Scripts\Startup\


Quick start guide for Array 3D:
===============================

  1. Create an dummy object in the scene.
  2. Now add the Array 3D modifier to the dummy.
  3. Access the array rollout and either use the Pick or the Pick List to select the object(s) 
     that you would like to use in the array (cannot select groups).
  4. Select the amount of objects you like to generate in 1D/2D/3D
     (don't pick too large number, for example: 10x10x10 makes 1000 instances of one object)
  5. Now go change Spacing rollout and change the values there.
  
  You should now be able to see all your instances created by your array. Play with the settings. :)

Array Randomize
===============

  This is a new addition to the Array modifier. In previous version the option to randomize was
  integrated into the Array rollouts, but it ended up to be too cluttered, so now it is an
  separate modifier called "Array Randomize".
  After adding an "Array 3D" modifier to your dummy, you can add one or more "Array Randomize"
  modifiers. Remember to select the array you like to affect with the randomize or else nothing will
  happen when you change settings.

Notes:
======
 * No objects generated
     Make sure you have added at least one object into the array list. If you have, then check that
     "Object Creation" is set to either "Create" or "Modify/Create", and not "Modify".


 * Object Creation window
     Every time you update with the Update All button, this will happen:

       - Create: All objects will be deleted and then recreated.
       - Modify: Objects will only get their properties changed. If an object is missing, it will
         be skipped.
       - Modify/Create: If object is missing, it will be recreated, if not, only its properties will
         be changed.
       - Disabled: No objects are created or modified.

     Modify is useful if you have already created the array objects, but have then deleted some of
     the objects (as if you want a hollow 'box'). You can delete the objects and they won't be
     recreated when the array is updating
     If the setting is set to Disabled, no changes in the other settings will be commited until you
     change it to something else.


History:
========

v0.82:
  - FIXED: When reducing amount, sometimes it wouldn't delete the excess array objects
  - FIXED: Wireframe colors updates when changing amount
  - CHANGED: Rearranged the UI to make room for new function
  - CHANGED: Scaling has been improved and now adjustable on all three dimensions
  - ADDED: Option to create array objects as group set, or random selected objects
  - ADDED: Linking array objects to dummy or custom object (can move dummy and array follows)
  - ADDED: Option to only show ever Nth object in array.
  - ADDED: Two different ways to do spacing/rotation/scaling, per object or total for all.
  - ADDED: Random object seed in UI
  - ADDED: Disable array option, which is automatic activated when converting
  - ADDED: Ask to delete array objects when removing from list
  - ADDED: Check that user can't pick the same object as the one the modifier is applied to
  - CHANGED: Made group creation mandatory when converting/renaming array objects
  - FIXED: A bunch of bugs and added confirmation boxes for some actions.
  - ADDED: Version number in script (backwards compatible for future versions)


v0.80:
  Array 3D:
  - CHANGED: Changed the modifier name to avoid conflict with old version
  - ADDED: Added unique array id for each modifier added to dummy
  - ADDED: Added custom prefix in front of array objects
  - ADDED: Option to create objects as Copies, Instances (default) or References
  - CHANGED: Separated position/rotation into separate sections
  - ADDED: Now has scaling in %
  - ADDED: Option to enable/disable position/rotation/scaling
  - ADDED: Option to uniform values position/rotation/scaling
  - ADDED: New image for UI (padlock) and delete item icon
  - FIXED: Adjusted bracket image, made background transparent
  - REMOVED: Randomizing for separate randomize modifier
  - ADDED: New Convert section, where you can convert/rename array objects
  - Optimized the code

  NEW:Array Randomize:
  - ADDED: New modifier for randomize position/rotation/scale

v0.75:
  - Change modifier to be attach to a dummy (or any object for that matter)
  - Pick 1+ objects that should be use in the array
  - Gave 3 options to how to create/update objects in array
  - Spacing/Rotation for each object and axis
  - Change array objects Wireframe color to match source, custom color or color gradient 
  - Freeze/Unfreeze array objects
  - Bounding box array objects
  - Update array on dummy move/rotation (scale?)
  - Seed generation
  - Randomize Position and Rotation
  - Auto update on most elements
  - Delete all objects in array
  - Manuel Update All button.


DISCLAIMER:
===========

  This software is provided as FREEWARE, and cannot be sold. This software cannot
  be bundled with any commercial package without express written permission from
  the author. You may not disassemble, decompose, reverse engineer, or alter this
  file or any of the other files in the package. By using this product, you agree
  to exempt the author from any responsibility for the damages your computer
  or your data may incur through the use of this program.  This is an unsupported
  product so use this product at your own risk!