MaxLiquid : GeometryClass

MaxLiquid - superclass: GeometryClass; super-superclass:node - 28:0 - classID: #(712128612L, 2137014116L)

Available in 3ds Max 2018.3 and higher. The liquid class contains the set up parameters for a fluid simulation, including references to other objects, such as colliders and kill planes, that interact with the liquid in the simulation.

Constructor

MaxLiquid...

Example

-- Max fluid scene set up
resetmaxFile #noPrompt
p = plane()

b = box width:70 length:70 height:20
convertto b editable_poly

subobjectlevel = 4
b.SetSelection #Face #{2}
b.delete #face
addmodifier b (shell outerAmount:3.0)

liquid = maxLiquid pos:[0,0,50]
-- don't do this:
-- append liquid.collider_Meshes b
-- append liquid.killplanes p
liquid.AddCollider b
liquid.AddKillPlane p

-- create a new solver for the liquid and set the Base Voxel size
liquid.CreateSolver 1
solver = liquid.solvers[1]
solver.baseVoxelSize = 4.0

-- Turn on override for the first collider:
solver.colliderConversionOverrideTab[1] = true
-- Set thickness for the collider
solver.colliderConversionOverrideThicknessTab[1] = 5.0

Properties:

<MaxLiquid>.accelerator_Meshes     ArrayParameter    default: #()   --  node array; SubAnim

Reserved for future use.

<MaxLiquid>.cacheOutputFilePattern     String    default: "<ProjectName>\SimCache\<ObjectName>\<SolverName>\"   --  string

Reserved for future use.

<MaxLiquid>.collider_Meshes     ArrayParameter    default: #()   --  node array; SubAnim

An array of scene nodes that act as colliders with the liquid in the simulation.

Note: this array should not be directly manipulated, it is for reading only. To work with collider meshes, use the Add/Get/Delete methods for Colliders (see below).

<MaxLiquid>.emitter_Meshes     ArrayParameter    default: #()   --  node array; SubAnim

An array of scene nodes that act as liquid emitters. This array is only used when the emitter icon type is "custom".

Note: this array should not be directly manipulated, it is for reading only. To work with emitter meshes, use the Add/Get/Delete methods for Emitters (see below).

<MaxLiquid>.emitterType     Integer    default: 0   --  integer

The type of emitter icon, where:

<MaxLiquid>.emitterHeight     Float    default: 5.0   --  animatable; float
<MaxLiquid>.emitterLength     Float    default: 5.0   --  animatable; float
<MaxLiquid>.emitterWidth     Float    default: 5.0   --  animatable; float

The height, length, and width of the emitter, when it is a box. When it is a sphere, the emitterLength is the radius. When the emitter is a plane, only the width and length parameters are used.

<MaxLiquid>.exportPRTFiles     BooleanClass    default: false   --  Boolean

Indicates whether to export voxels as PRT files when running the solve.

<MaxLiquid>.field_Meshes     ArrayParameter    default: #()   --  node array; SubAnim

An array of scene nodes that act as motion fields.

Note: this array should not be directly manipulated, it is for reading only. To work with motion fields, use the Add/Get/Delete methods for motion fields (see below).

<MaxLiquid>.foammask_Meshes     ArrayParameter    default: #()   --  node array; SubAnim

An array of scene nodes that act as foam masks.

Note: this array should not be directly manipulated, it is for reading only. To work with foam masks, use the Add/Get/Delete methods for Foam Masks (see below).

<MaxLiquid>.guide_Meshes     ArrayParameter    default: #()   --  node array; SubAnim

An array of scene nodes that act as guide meshes.

Note: this array should not be directly manipulated, it is for reading only. To work with guide meshes, use the Add/Get/Delete methods for Guide Meshes (see below).

<MaxLiquid>.guideEmitter_Meshes     ArrayParameter    default: #()   --  node array; SubAnim

An array of scene nodes that act as Guide Emitters.

Note: this array should not be directly manipulated, it is for reading only. To work with guide emitter meshes, use the Add/Get/Delete methods for Guide Emitters (see below).

<MaxLiquid>.iconSize     Float    default: 10.0   --  float

The size of the liquid icon in the viewport. Note that this is always in inches, regardless of the scene units.

<MaxLiquid>.killplanes     ArrayParameter    default: #()   --  node array; SubAnim

An array of scene nodes that act as kill planes in the simulation.

Note: this array should not be directly manipulated, it is for reading only. To work with kill planes, use the Add/Get/Delete methods for Kill Planes (see below).

<MaxLiquid>.killVolumeNode     UndefinedClass    default: undefined   --  node

Reserved for future use

<MaxLiquid>.lastSelectedSolverIndex     Integer    default: 1   --  integer

Contains the index in the solvers array of the last solve selected by the user.

<MaxLiquid>.maxScratchCacheRAM     Float    default: 1.0   --  float

Reserved for future use.

<MaxLiquid>.renderSolveIndex     Integer    default: 1   --  integer

Contains the index of the solver in the solver list which was last rendered.

<MaxLiquid>.renderSolveLock     BooleanClass    default: false   --  Boolean

Gets or sets the state of the render lock button, where true indicates that the selected solve is locked.

<MaxLiquid>.rootSimDirectory     String    default: "c:\MaxFluidSim\"   --  string

Contains the root directory in which cache files are saved.

<MaxLiquid>.scratchCache     String    default: "c:\MaxFluidScratchCache\"   --  string

Reserved for future use.

<MaxLiquid>.showVoxelGrid     BooleanClass    default: true   --  Boolean

Indicates whether to show a visual representation of the voxel size in the viewport.

<MaxLiquid>.solvers     ArrayParameter    default: #()   --  maxObject array; SubAnim

An array of solver objects for the liquid.

<MaxLiquid>.useProjectFolders     BooleanClass    default: false   --  Boolean

Indicates whether to use the Max project folder instead of the rootSimDirectory to store solver cache files.

MaxLiquid Interfaces

Interface: MaxFluidLiquidObject

Properties:

Methods:

    <boolean>CreateSolver <&index>solverIndex
       solverIndex is Out parameter

Creates a new solver in the liquid’s solvers array, returning the index of the newly created solve.

    <boolean>CloneSolver <index>index <&string>cloneName <&index>cloneIndex
       cloneName is Out parameter
       cloneIndex is Out parameter

Creates a new, cloned copy of the solver specified by the index, returning the new name and index.

    <boolean>DeleteSolver <index>index

Deletes the solver specified by the index.

    <integer>NumberSolvers()

Returns the number of solvers in the solvers array.

    <index>AddEmitter <node>node
    <integer>GetNumberEmitters()
    <node>GetEmitter <index>index
    <boolean>DeleteEmitter <index>index

Manipulates the collection of emitters held in the liquid's emitter_Meshes array.

    <index>AddCollider <node>node
    <integer>GetNumberColliders()
    <node>GetCollider <index>index
    <boolean>DeleteCollider <index>index

Manipulates the collection of colliders held in the liquid's collider_Meshes array.

    <index>AddKillPlane <node>node
    <integer>GetNumberKillPlanes()
    <node>GetKillPlane <index>index
    <boolean>DeleteKillPlane <index>index

Manipulates the collection of kill planes held in the liquid's killplanes array.

    <index>AddFoamMask <node>node
    <integer>GetNumberFoamMasks()
    <node>GetFoamMask <index>index
    <boolean>DeleteFoamMask <index>index

Manipulates the collection of foam masks held in the liquid's foammask_Meshes array.

    <index>AddGuideEmitter <node>node
    <integer>GetNumberGuideEmitters()
    <node>GetGuideEmitter <index>index
    <boolean>DeleteGuideEmitter <index>index

Manipulates the collection of guide emitters held in the liquid's guideEmitter_Meshes array.

    <index>AddMotionField <node>node
    <integer>GetNumberMotionFields()
    <node>GetMotionField <index>index
    <boolean>DeleteMotionField <index>index

Manipulates the collection of motion fields held in the liquid's field_Meshes array.

Actions: