After loading the Ziva plugin, you will have access to our “ziva” command. This command with its flags will make it possible for you to create anything available in our ziva menu (as well as some additional functionality not yet exposed as a button) and allow you to add that functionality to your scripts. The usage is: ziva <flags>

You can see the flags by loading the plugin, and executing ziva -h; This will present you with the following output:

ziva -h;
     // Flags:
     ziva ...
     -h     -help                 <n/a>       this message
     -s     -solver               <n/a>       creates an empty solver
     -b     -bone                 <n/a>       creates a "bone" (externally animated object) applied to the selected Maya mesh
     -t     -tissue               <n/a>       creates a "tissue" (simulated deformable solid) applied to the selected Maya mesh
     -c     -cloth                <n/a>       create a "cloth" (simulated deformable polygonal mesh) applied to the selected Maya mesh
     -rm    -remove               <n/a>       remove all selected bodies (tissues, cloth, bones)
     -tm    -tissueCopyMesh       <n/a>       makes the tissue mesh a copy of the selected Maya mesh
     -m     -material             <n/a>       adds a zMaterial node(s) to the selected "tissue(s)"
     -f     -fiber                <n/a>       adds a zFiber node(s) to the selected "tissue(s)"
     -loa   -lineOfAction         <n/a>       connects the specified curve to the specified zFiber via a zLineOfAction node to drive excitation
     -ast   -addSubtissue         <n/a>       set the first specified tissue to have all of the remaining tissues as subtissues
     -rst   -removeSubtissue      <n/a>       set the selected subtissues to be stand-alone tissues, disconnecting them from their parent tissue
     -tcm   -tissueCollisionMesh  <n/a>       select a tissue and a mesh to use for collisions with that tissue
     -rcm   -removeCollisionMesh  <n/a>       removes the alternate collision meshes associated with the selected tissues
     -e     -embed                <n/a>       select tissue and a 'hero' Maya mesh to deform based on the tissue's motion
     -re    -removeEmbed          <n/a>       un-embed selected meshes from the tissue meshes they're embedded in
     -a     -attachment           <n/a>       select the bodies (tissues or bones) you would like to attach in the order of:
                                              source, target - the projection will originate at the source
     -ga    -goalingAttachment    <n/a>       select the tissue mesh and a goal bone that you would like the tissue to goal to
     -sai   -swapAttachmentInputs <n/a>       select the attachment(s) whose inputs you would like to swap and execute this command
     -acn   -addCacheNode         <n/a>       adds a simulation cache node to the selected solver if one doesn't already exist
     -cut   -connectUserTetMesh   <n/a>       will connect any user supplied tet mesh to the selected tissue; this will replace the
                                              automatically-generated mesh for the simulation
     -dut   -detachUserTetMesh    <n/a>       detach any user supplied tet mesh from the selected tissue; this will cause the
                                              tissue to use an automatically-generated mesh for the simulation
     -mq    -meshQuality          <n/a>       This will select vertices that are connected to mesh components that do not meet
                                              the input requirements of our system (the mesh is not closed, contains non-manifold edges,
                                              contains poor quality triangles with tiny angles)
      -r     -refresh             <n/a>       Refresh the selected solver
      -i     -info                <n/a>       print info about the current solver, e.g., number of vertices in the tet mesh, etc.
     -vb    -verbosity            <int>       Set console verbosity level between 0 (only show errors) and 4 (show everything).
                                              With no argument, this prints the current verbosity.
                                              Return the current verbosity level.
     -z     -about                <n/a>       print product info

     Usage example:
     First, create a solver
ziva -s;
     then select the Maya meshes you want to add to the solver and then execute:
ziva -t;
     to create tissues from those Maya meshes.
     If there is more than one solver in the scene, also select the solver
     before running ziva commands.
     The command will return the name of the created node(s) //

For all flags that create new nodes in Maya, the node names of the created nodes will be returned when executing the command. You can then capture this return for the purpose of procedurally editing the parameters of the newly created nodes.

We now list several scripting commands, available in the “Ziva Tools” menu. These commands are designed to facilitate the workflows with our Ziva plugin.