Arraymodifier : Modifier

Arraymodifier - superclass: modifier; super-superclass:MAXWrapper - 114:0 - classID: #(2394076151L, 1473922114L); creatable: true

The ArrayModifier interface provides access to the 3ds Max parametric Array Modifier.

Constructor

Arraymod...
Arraymodifier...

Example

-- ArrayMod Demo

-- create a spline

resetMaxFile #noprompt

myStar = Star radius1:100 radius2:50
myTeapot = Teapot radius:10
myArray = ArrayMod()

addmodifier myTeapot myArray

-- by default an array is type grid, change this to spline and
-- set the target spline to the star


myArray.type = 2 -- spline
myArray.referenceSpline = myStar
myArray.countX = 30
myArray.splinePercentType = 1 --loop
myArray.randomizationRotationLink = true -- x value applies to all axes
with animate on (
at time 0 (
    myArray.splinePercentAmount = 0
    myArray.randomizationRotationX = 0
    )
at time 80 (
    myArray.splinePercentAmount = 50
    myArray.randomizationRotationX = 60
    )

)
playAnimation()

Properties

Distribution Group

<arraymodifier>.arrayRadius     Float    default: 10.0   --  animatable; float

Gets/sets the radius of the array in scene units, when the distribution type is radial.

<arraymodifier>.byElement     BooleanClass    default: false   --  boolean

Specifies whether to randomly use each element in a multi-element object as array clones.

<arraymodifier>.center     BooleanClass    default: false   --  boolean

Specifies whether to re-position the array so that it is centered around the original object location.

<arraymodifier>.countX     Integer    default: 5   --  animatable; integer

Gets/sets the number of clones in the X dimension, when the distribution type is Grid.

<arraymodifier>.countY     Integer    default: 1   --  animatable; integer

Gets/sets the number of clones in the Y dimension, when the distribution type is Grid.

<arraymodifier>.countZ     Integer    default: 1   --  animatable; integer

Gets/sets the number of clones in the Z dimension, when the distribution type is Grid.

<arraymodifier>.distributionMethod     Integer    default: 1   --  integer

Sets the grid distribution method where:

<arraymodifier>.dynamicSpacing     BooleanClass    default: false   --  boolean

Specifies whether to use dynamic spacing, which inserts clones between the first and last clones. When false, new clones are appended to the end of the array.

<arraymodifier>.elementCenter     BooleanClass    default: true   --  boolean

Specifies whether to set the pivot of each clone on its x axis to its center, when .byElement is true.

<arraymodifier>.elementSeed     Integer    default: 12345   --  integer

Gets/sets the random seed used to distribute elements when .byElement is true.

<arraymodifier>.endAngle     Float    default: 360.0   --  animatable; float

Gets/sets the end angle of the array, when the distribution mode is radial.

<arraymodifier>.equidistantRings     BooleanClass    default: false   --  boolean

Specifies whether to make rings equidistant, when the distribution mode is radial and there is more than one ring (.rings > 1). This is done by adding as many clones as possible to each ring, using the offset and spacing parameters.

<arraymodifier>.flip     BooleanClass    default: false   --  boolean

Specifies whether to flip the distribution of the array, when the array is distributed on a spline.

<arraymodifier>.height     Float    default: 1.0   --  animatable; float

Gets/sets the height of the array, when the distribution mode is grid.

<arraymodifier>.length     Float    default: 1.0   --  animatable; float

Gets/sets the length of the array, when the distribution mode is grid.

<arraymodifier>.offsetRings     Float    default: 1.0   --  animatable; float

Gets/sets the spacing between clones in each ring, when the distribution method is radial.

<arraymodifier>.offsetRows     Float    default: 1.0   --  animatable; float

Gets/sets the spacing between rows, when the distribution method is radial.

<arraymodifier>.offsetX     Float    default: 1.0   --  animatable; float

Gets/sets the X axis offset when the distribution mode is Grid.

<arraymodifier>.offsetY     Float    default: 1.0   --  animatable; float

Gets/sets the Y axis offset when the distribution mode is Grid.

<arraymodifier>.offsetZ     Float    default: 1.0   --  animatable; float

Gets/sets the Z axis offset when the distribution mode is Grid.

<arraymodifier>.orientation     Float    default: 100.0   --  animatable; float

Gets/sets the orientation of the clones relative to the original object's orientation, when the distribution method is radial.

<arraymodifier>.packElements     BooleanClass    default: false   --  boolean

Specifies whether to pack elements along the X axis, when the distribution method is grid.

<arraymodifier>.radialAxis     Integer    default: 2   --  integer

Specifies which axis is used for radial distribution, where:

<arraymodifier>.radialCount     Integer    default: 5   --  animatable; integer

Gets/sets the number of clones (per row) in the array, when distribution type is radial.

Gets/sets the offset amount

<arraymodifier>.radialPhase     Float    default: 0.0   --  animatable; float
<arraymodifier>.radialScaleMethod     Integer    default: 0   --  integer
<arraymodifier>.referenceSpline     UndefinedClass    default: undefined   --  node

Gets/sets the spline node used when the distribution method is spline.

<arraymodifier>.retainOrientation     BooleanClass    default: false   --  boolean

Specifies whether to retain the original object's orientation, when the distribution mode is spline or surface.

<arraymodifier>.rings     Integer    default: 1   --  animatable; integer

Gets/sets the number of rings when the distribution mode is radial.

<arraymodifier>.rows     Integer    default: 1   --  animatable; integer

Gets/sets the number of rows when the distribution mode is radial.

<arraymodifier>.spacingRings     Float    default: 0.0   --  animatable; float

Gets/sets the amount of space between rings in display units.

<arraymodifier>.spacingRows     Float    default: 0.0   --  animatable; float

Gets/sets the amount of space between rows in display units.

<arraymodifier>.spacingX     Float    default: 0.0   --  animatable; float

Gets/sets the distance between each clone in the X axis, when the distribution mode is grid > relative offset.

<arraymodifier>.spacingY     Float    default: 0.0   --  animatable; float

Gets/sets the distance between each clone in the Y axis, when the distribution mode is grid > relative offset.

<arraymodifier>.spacingZ     Float    default: 0.0   --  animatable; float

Gets/sets the distance between each clone in the Z axis, when the distribution mode is grid > relative offset.

<arraymodifier>.splineAxialAngle     Float    default: 0.0   --  animatable; float

Gets/sets the placement of the clones around the axis of the spline, in degrees, when the distribution method is spline.

<arraymodifier>.splineAxis     Integer    default: 0   --  integer

Gets/sets the axis of the spline around which to distribute clones, when the distribution method is spline, where:

<arraymodifier>.splineDistributionMethod     Integer    default: 0   --  integer

Gets/sets the distribution method when the distribution type is spline, where:

<arraymodifier>.splinePercentAmount     Float    default: 0.0   --  animatable; float

Gets/sets the position of the clones along the spline, when the distribution method is spline.

<arraymodifier>.splinePercentType     Integer    default: 1   --  integer

Gets/sets the position transform method, when the distribution type is spline, where:

<arraymodifier>.splineSurface     UndefinedClass    default: undefined   --  node

Gets/sets a scene object onto which to project the array.

<arraymodifier>.splineVariation     Float    default: 0.0   --  animatable; float

Gets/sets the percent of random variation to apply to clone positions when the distribution method is spline.

<arraymodifier>.splineVariationSeed     Integer    default: 12345   --  integer

Gets/sets the random number seed for the variation value.

<arraymodifier>.staggerRings     BooleanClass    default: false   --  boolean

Gets/sets whether to stagger rings, when is are more than one ring, and the distribution method is radial.

<arraymodifier>.staggerRows     BooleanClass    default: false   --  boolean

Gets/sets whether to stagger rows, when is are more than one row, and the distribution method is radial.

<arraymodifier>.startAngle     Float    default: 0.0   --  animatable; float

Gets/sets the starting angle when the distribution method is radial.

<arraymodifier>.strength     Float    default: 100.0   --  animatable; float

Gets/sets the strength value (as a percent) when the distribution method is grid, radial or spline.

<arraymodifier>.surfaceMethod     Integer    default: 0   --  integer

Gets/sets the surface distribution method, where:

<arraymodifier>.surfaceReference     UndefinedClass    default: undefined   --  node

Gets/sets the scene object to project the array on to when the distribution method is Surface.

<arraymodifier>.type     Integer    default: 0   --  integer

Gets/sets the array modifier distribution method, where:

<arraymodifier>.useStartEndAngle     BooleanClass    default: false   --  boolean

Specifies whether to use the start and end angle values for placing clones when the distribution type is radial.

<arraymodifier>.width     Float    default: 1.0   --  animatable; float

Gets/sets the array width, when the distribution method is grid.

Transform Group

<arraymodifier>.gridLocalRotationMethod     Integer    default: 0   --  integer

Gets/sets the local rotation method, when the distribution method is grid, where:

<arraymodifier>.gridPositionMethod     Integer    default: 0   --  integer

Gets/sets the Grid Position Method, when the distribution method is grid, where:

<arraymodifier>.gridScaleMethod     Integer    default: 0   --  integer

Gets/sets the Grid Scale Method, when the distribution mode is grid, where:

<arraymodifier>.localRotationSeed     Integer    default: 12345   --  integer

Gets/sets the local rotation randomization seed.

<arraymodifier>.localRotationX     Float    default: 0.0   --  animatable; float

Gets/sets the local rotation around the X axis, in degrees.

<arraymodifier>.localRotationY     Float    default: 0.0   --  animatable; float

Gets/sets the local rotation around the Y axis, in degrees.

<arraymodifier>.localRotationZ     Float    default: 0.0   --  animatable; float

Gets/sets the local rotation around the Z axis, in degrees.

<arraymodifier>.posX     Float    default: 0.0   --  animatable; float

Gets/sets the X axis position value when the distribution method is grid, spline, or surface.

<arraymodifier>.posY     Float    default: 0.0   --  animatable; float

Gets/sets the Y axis position value when the distribution method is grid, spline, or surface.

<arraymodifier>.posZ     Float    default: 0.0   --  animatable; float

Gets/sets the Z axis position value when the distribution method is grid, spline, or surface.

<arraymodifier>.radialLocalRotationMethod     Integer    default: 0   --  integer

Gets/sets the Local Rotation method, where:

<arraymodifier>.radialOffset     Float    default: 0.0   --  animatable; float

Gets/sets the radial offset value, which moves each clone successively and tangentially from the main axis of the array.

<arraymodifier>.ringOffset     Float    default: 0.0   --  animatable; float

Gets/sets the amount by which each ring of clones of moved successively along the axis of the array.

<arraymodifier>.ringPhase     Float    default: 0.0   --  animatable; float

Gets/sets the rotation of every other ring around around the main axis, in degrees.

<arraymodifier>.scaleLink     BooleanClass    default: false   --  boolean

Gets/sets whether to link the world scale transform method for all axes to the X axis value.

<arraymodifier>.scaleX     Float    default: 100.0   --  animatable; float

Gets/sets the percentage by which to modify the scale of clones along the X axis.

<arraymodifier>.scaleY     Float    default: 100.0   --  animatable; float

Gets/sets the percentage by which to modify the scale of clones along the Y axis.

<arraymodifier>.scaleZ     Float    default: 100.0   --  animatable; float

Gets/sets the percentage by which to modify the scale of clones along the Z axis.

<arraymodifier>.splineLocalRotationMethod     Integer    default: 0   --  integer

Gets/sets the Local Rotation method when the distribution method is spline, where:

<arraymodifier>.splinePositionMethod     Integer    default: 0   --  integer

Gets/sets the Position method when the distribution method is spline, where:

<arraymodifier>.splineScaleMethod     Integer    default: 0   --  integer

Gets/sets the Scale method when the distribution method is spline, where:

<arraymodifier>.worldRotationMethod     Integer    default: 0   --  integer

Gets/sets the world rotation method where:

<arraymodifier>.worldRotationSeed     Integer    default: 12345   --  integer

Gets/sets the random number seed for world rotation.

<arraymodifier>.worldRotationX     Float    default: 0.0   --  animatable; float

Gets/sets the value by which to rotate the array's world orientation around the X axis.

<arraymodifier>.worldRotationY     Float    default: 0.0   --  animatable; float

Gets/sets the value by which to rotate the array's world orientation around the Y axis.

<arraymodifier>.worldRotationZ     Float    default: 0.0   --  animatable; float

Gets/sets the value by which to rotate the array's world orientation around the Z axis.

Randomization Group

<arraymodifier>.applyTo     Float    default: 100.0   --  animatable; float

Gets/sets the percentage of clones that randomization is applied to.

<arraymodifier>.applyToSeed     Integer    default: 12345   --  integer

Gets/sets the random seed for the .applyTo value.

<arraymodifier>.positionSeed     Integer    default: 12345   --  integer

Gets/sets the Position value group randomization seed.

<arraymodifier>.randomizationPositionLink     BooleanClass    default: false   --  boolean

Specifies whether to use the X parameter to control all three axes. In the UI this parameter is represented as a link button.

<arraymodifier>.randomizationPositionX     Float    default: 0.0   --  animatable; float

Gets/sets the maximum amount to randomly move clones along the X axis.

<arraymodifier>.randomizationPositionY     Float    default: 0.0   --  animatable; float

Gets/sets the maximum amount to randomly move clones along the Y axis.

<arraymodifier>.randomizationPositionZ     Float    default: 0.0   --  animatable; float

Gets/sets the maximum amount to randomly move clones along the Z axis.

<arraymodifier>.randomizationRotationLink     BooleanClass    default: false   --  boolean

Specifies whether to use the X parameter to control all three axes. In the UI this parameter is represented as a link button.

<arraymodifier>.randomizationRotationX     Float    default: 0.0   --  animatable; float

Gets/sets the maximum amount to randomly rotate clones along the X axis.

<arraymodifier>.randomizationRotationY     Float    default: 0.0   --  animatable; float

Gets/sets the maximum amount to randomly rotate clones along the Y axis.

<arraymodifier>.randomizationRotationZ     Float    default: 0.0   --  animatable; float

Gets/sets the maximum amount to randomly rotate clones along the Z axis.

<arraymodifier>.randomizationScaleLink     BooleanClass    default: false   --  boolean

Specifies whether to use the X parameter to control all three axes. In the UI this parameter is represented as a link button.

<arraymodifier>.randomizationScaleX     Float    default: 0.0   --  animatable; float

Gets/sets the maximum amount to randomly scale clones along the X axis.

<arraymodifier>.randomizationScaleY     Float    default: 0.0   --  animatable; float

Gets/sets the maximum amount to randomly scale clones along the Y axis.

<arraymodifier>.randomizationScaleZ     Float    default: 0.0   --  animatable; float

Gets/sets the maximum amount to randomly scale clones along the Z axis.

<arraymodifier>.rotationSeed     Integer    default: 12345   --  integer

Gets/sets the random seed for rotation.

<arraymodifier>.scaleSeed     Integer    default: 12345   --  integer

Gets/sets the random seed for scale.

Material ID Group

<arraymodifier>.matIDFrom     Integer    default: 1   --  integer

Gets/sets the minimum material ID to randomly apply to clones.

<arraymodifier>.matIDSeed     Integer    default: 12345   --  integer

Gets/sets the seed value to use to generate random material IDs.

<arraymodifier>.matIDTo     Integer    default: 1   --  integer

Gets/sets the maximum material ID to randomly apply to clones.

UV Group

<arraymodifier>.uvAdditive     BooleanClass    default: true   --  boolean

Specifies whether to add UVW values to existing UVW values from the source map.

<arraymodifier>.uvChannel     Integer    default: 1   --  integer

Gets/sets the target UVW channel number.

<arraymodifier>.uvMethod     Integer    default: 0   --  integer

Gets/sets the UV method, where:

<arraymodifier>.uvNormalize     BooleanClass    default: true   --  boolean

Specifies whether to normalize UVW values from 0.0 to 1.0.

<arraymodifier>.uvSource     Integer    default: 1   --  integer

Gets/sets the source UVW map channel number when .uvAdditive is true.

Remove Group

<arraymodifier>.cullObject     UndefinedClass    default: undefined   --  node

Gets/sets a scene node to remove nodes/cull the result with.

<arraymodifier>.invertCull     BooleanClass    default: false   --  boolean

Specify whether to invert the remove/cull operation.

<arraymodifier>.remove     Float    default: 0.0   --  float

Gets/sets the percentage of clones to remove.

<arraymodifier>.removeSeed     Integer    default: 12345   --  integer

Gets/sets the random number seed for random clone removal.

Create Group

<arraymodifier>.useInstances     BooleanClass    default: true   --  boolean

Specifies whether to create a new set of instances when the Create Objects button is clicked.

Arraymodifier interfaces:

Interface: ArrayMod

Properties:

Methods:

<integer>version()

Returns the Array Modifier version number.

<void>clearCache()

Clears the array modifier cache.

<void>CreateObjects()

Creates a new set of objects based on the clones in the array.

Actions: