pymel.core.effects.spring

spring(*args, **kwargs)

The spring command can do any of the following:* create a new spring object (shape plus transform). The shape contains springs between the points (particles, cvs, etc.) of the objects selected or listed on the command line.* create new springs and add them to an existing spring object* edit or query certain attributes of an existing spring objectOne “spring object” may have hundreds or even thousands of individual springs. Certain attributes of the spring object specify exactly where the springs are attached to which other objects.Springs may be attached to the following: particles, vertices of soft bodies, CVs or edit points of curves or surfaces, vertices of polygonal objects, and points of lattices. In the case where one endpoint of a spring is non-dynamic (a CV, edit point, etc.), the spring does not affect its motion, but the motion of the point affects the spring. A spring will be created only if at least one of the endpoints is dynamic: for example, a spring will never be created between two CVs. A single spring object can hold springs which are incident to any number of other objects.The spring has creation-only flags and editable flags. Creation-only flags (minDistance, maxDistance, add, exclusive, all, wireframe, walklength, checkExisting) can be used only when creating new springs (including adding springs to existing spring object). Editable flags modify attributes of an existing spring object.If a spring object is created, this command returns the names of the shape and transform. If a spring object is queried, the command returns the results of the query.

Flags:
Long name (short name) Argument Types Properties
addSprings (add) bool ../../../_images/create.gif
 
If specified, springs will be added to the existing selected set of springs. (Default is to create a new spring object.)
allPoints (all) bool ../../../_images/create.gif ../../../_images/edit.gif
 
If True, sets the mode of spring application to All. This will add springs between all points selected. (Default is False.)
count (ct) bool ../../../_images/query.gif
 

Return the number of springs in the shape. Query-only. We maintain this flag only for compatibility with earlier versions of Maya. To get the count of springs, it is much faster and simpler to use the spring shape’s count attribute: getAttr shapeName.count.

damp (dmp) float  
   
damping (d) float ../../../_images/create.gif ../../../_images/query.gif ../../../_images/edit.gif
 
Damping factor for the springs created in the spring object. (Default = 0.2 )
dampingPS (dPS) float ../../../_images/create.gif ../../../_images/query.gif ../../../_images/edit.gif
 

Damping factor for the springs created in the spring object. This will initialize all the entries in dampingPS to the specified value. In both the flag and the attribute name, “PS” stands for “per-spring.” (Default = 0.2 )

endForceWeight (efw) float ../../../_images/create.gif ../../../_images/query.gif ../../../_images/edit.gif
 
Amount of the force of the spring that gets applied to the point to which the spring ends. Valid range is from 0.0 to 1.0. (Default = 1.0 )
exclusive (exc) bool ../../../_images/create.gif
 
If true, tells the command to create springs only between pairs of points which are not in the same object. (Default is False.)
length (l) float ../../../_images/create.gif ../../../_images/query.gif ../../../_images/edit.gif
 
Vestigial form of “restLength.” Please use “restLength” instead.
maxDistance (mxd) float ../../../_images/create.gif ../../../_images/edit.gif
 
Maximum distance between two points that a spring would be considered.
minDistance (mnd) float ../../../_images/create.gif
 
Minimum distance between two points that a spring would be considered. (Default = 0.0. See Defaults for more information on this flag’s default.)
minMax (mm) bool ../../../_images/create.gif
 

If True, sets the mode of the spring application to Min/Max. This will add springs between all points from the specified point groups that are between the minimum and maximum distance values set with min and max. (Default is False.) Note: This gets automatically set if either the min or max flags are used.

name (n) unicode ../../../_images/create.gif ../../../_images/query.gif
 
Name of spring object.
noDuplicate (nd) bool ../../../_images/create.gif
 

Check for existing springs and don’t add a new spring between two points already connected by a spring in the same object. Only the object the command is working on is checked. This flag is relevant only when using -add. (Default = false)Flag can appear in Create mode of commandFlag can have multiple arguments, passed either as a tuple or a list.

restLength (rl) float ../../../_images/create.gif ../../../_images/query.gif ../../../_images/edit.gif
 
Per-object rest length for the new springs. Springs can use either their per-object or per-spring rest length. See the -lPS and -ulp flags.
restLengthPS (rPS) float ../../../_images/create.gif ../../../_images/query.gif ../../../_images/edit.gif
 

Per-spring rest length for the new springs. This will initialize all the entries in restLengthPS to the specified value. If this flag is not thrown, each rest length will be initialized to the distance between the two points at the time the spring is created (i.e., the initial length of the spring). When playing back, springs can use either their per-spring or per-object rest length. See the -rl and -urp flags. In both the flag and the attribute name, “PS” stands for “per- spring.”

startForceWeight (sfw) float ../../../_images/create.gif ../../../_images/query.gif ../../../_images/edit.gif
 
Amount of the force of the spring that gets applied to the point from which the spring starts. Valid range is from 0.0 to 1.0. (Default = 1.0 )
stiffness (s) float ../../../_images/create.gif ../../../_images/query.gif ../../../_images/edit.gif
 
Stiffness of the springs created in the spring object. (Default = 1.0 ) -damp float Vestigial form of “damping.” Please use “damping” instead.
stiffnessPS (sPS) float ../../../_images/create.gif ../../../_images/query.gif ../../../_images/edit.gif
 

Stiffness of the springs created in the spring object. This will initialize all the entries in stiffnessPS to the specified value. In both the flag and the attribute name, “PS” stands for “per-spring.” (Default = 1.0 )

strength (str) float  
   
useDampingPS (udp) bool ../../../_images/create.gif ../../../_images/query.gif ../../../_images/edit.gif
 

Specifies whether to use dampingPS (per spring damping). If set to false, the per object damping attribute value will be used. This flag simply sets the useDampingPS attribute of the spring shape. In both the flag and the attribute name, “PS” stands for “per-spring.” (Default = false )

useRestLengthPS (urp) bool ../../../_images/create.gif ../../../_images/query.gif ../../../_images/edit.gif
 

Specifies whether to use restLengthPS (per spring restLength). If set to false, the per object restLength attribute value will be used. This flag simply sets the useRestLengthPS attribute of the spring shape. In both the flag and the attribute name, “PS” stands for “per-spring.” (Default = false )

useStiffnessPS (usp) bool ../../../_images/create.gif ../../../_images/query.gif ../../../_images/edit.gif
 

Specifies whether to use stiffnessPS (per spring stiffness). If set to false, the per object stiffness attribute value will be used. This flag simply sets the useStiffnessPS attribute of the spring shape. In both the flag and the attribute name, “PS” stands for “per-spring.” (Default = false )

walkLength (wl) int ../../../_images/create.gif
 

This flag is valid only when doing wireframe creation. It will create springs between pairs of points connected by the specified number of edges. For example, if walk length is 2, each pair of points separated by no more than 2 edges will get a spring. Walk length measures the distance between pairs of vertices just like the number of blocks measures the distance between two intersections in a city.

wireframe (wf) bool ../../../_images/create.gif
 

If True, sets the mode of the spring application to Wireframe. This is valid only for springs created on a soft body. It will add springs along all edges connecting the adjacent points (vertices or CV’s) of curves and surfaces. (Default is False.)

Derived from mel command maya.cmds.spring

Example:

import pymel.core as pm

import maya.cmds as cmds

pm.spring( 'particle1', s=1.5, d=.3, mnd=0, mxd=5, n='spring1' )
# Creates a spring object named spring1 with a strength of 1.5 and a
# damping factor of 0.3 containing a spring between every pair of points in
# particle1 that are within 0.0 and 5.0 units apart (except those already
# connected by a spring).

pm.spring( 'particle1', 'spring1', add=True, mnd=0, mxd=5 )
# Creates between every pair of points in particle1 that are within 0.0
# and 5.0 units apart (except those already connected by a spring), and adds
# them to the existing spring object spring1.

pm.spring( 'particle1', 'spring1', add=True, mnd=0, mxd=5, ce='false' )
# Same as the previous example, but will not check for existing springs
# in order to avoid duplication, and will create a new spring even between
# pairs of particles which already have one.

pm.spring( 'particle1', 'particle2', exclusive=1, all=1 )
# Creates a spring between every pair of particles such that one
# particle is in particle1 and the other is in particle2.  Does not create
# any springs between pairs in the same object.  Does not create springs
# between particles already connected by a spring.

Previous topic

pymel.core.effects.soft

Next topic

pymel.core.effects.stroke

Core

Core Modules

Other Modules

This Page