Here are a couple of useful MEL commands/operators that you'll end up using in a lot of the stuff you write.
continue ;
Skips one iteration of a loop.
break ;
Stops the loop and continues script where the loop ends.
Warning("You messed up, but it isn't too bad so I'll keep going.") ;
Warnings alert the user that something is awry, but it's not a deal breaker.
Error("You messed up bad, I need to quit now.") ;
The error command will stop a script in it's tracks, ending everything.
return ;
Ends a procedure/function/method, but not the entire script. Continues on where the procedure ends. Can also be used to return a value (return $myString).
CGSutra has a great article going into more depth on these and a lot more of the fundamental MEL concepts. Check it out here.
Showing posts with label Return. Show all posts
Showing posts with label Return. Show all posts
Friday, November 19, 2010
Monday, February 8, 2010
MEL: Trick To Pass An Array Into A String Argument
I wrote a quick proc this morning that will let me pass an array (specified index) into a string argument since Maya won't let you do it any way by default in MEL.
Example...
I'm aware you can use $shapeArr[0] as your shape node without redeclaring it into the second variable, but I've always felt it was sloppy to do it that way.
Here's a simple MEL procedure that makes it easier.
This will only work if you know the index you're looking for in the array, but a lot of times MEL returns string arrays when it doesn't need to and you know what it will be.
Example...
// Looking For This Object's Shape Node
string $object = "myObject" ;
string $shapeArr[] = `listRelatives -shape $object` ;
string $shapeNode = $shapeArr[0] ;
// The above returns an array, which is annoying. To me at least...
I'm aware you can use $shapeArr[0] as your shape node without redeclaring it into the second variable, but I've always felt it was sloppy to do it that way.
Here's a simple MEL procedure that makes it easier.
// **********************************************************
// Returns An Index From A String Array
global proc string jgArrToStr (string $array[], int $index) {
// Get Index From Array
string $obj = $array[$index] ;
// Return
return $obj ;
}
// Now you can do...
string $object = "myObject" ;
string $shape = jgArrToStr(`listRelatives -shape $object`, 0) ;
This will only work if you know the index you're looking for in the array, but a lot of times MEL returns string arrays when it doesn't need to and you know what it will be.
Subscribe to:
Posts (Atom)
Scripting Topics
MEL
(41)
Maya
(39)
Scripting
(32)
Scripts
(21)
programming
(14)
Free Mel Scripts
(8)
MaxScript
(7)
Coding
(6)
Rigging
(5)
tutorial
(5)
3ds Max
(4)
Python
(4)
Tricks
(4)
faceware
(4)
image metrics
(4)
Learn
(3)
Namespace
(3)
Namespacing
(3)
animation
(3)
facial
(3)
webinar
(3)
Code
(2)
GDC
(2)
Game Developers Conference
(2)
Multiple Namespaces
(2)
Print Selected Objects
(2)
Recursive
(2)
Removing Namespace
(2)
Return
(2)
Set Driven Keys
(2)
TOkenize
(2)
Tips
(2)
Toggle Background Color with MEL
(2)
animation tools
(2)
animators resource
(2)
deformers
(2)
learning
(2)
maya tools
(2)
mesh
(2)
modeling
(2)
nodes
(2)
procedure
(2)
script swell
(2)
transforms
(2)
Animschool
(1)
Attribute
(1)
Background Color
(1)
Beer
(1)
Blur
(1)
Character Setup
(1)
Check if an object exists
(1)
Class
(1)
Command Line
(1)
Constraints
(1)
Create SDK
(1)
Create a directory with mel
(1)
Data
(1)
Export
(1)
FilterString
(1)
Fix
(1)
Floating Slider Time
(1)
Functions
(1)
Get Maya Version MEL
(1)
Get Parent
(1)
Google
(1)
Holiday
(1)
How To Write To A Text File
(1)
Import
(1)
Incremental Save
(1)
Index
(1)
Joint Chain
(1)
Make Set Driven Keys
(1)
Maya Version
(1)
Modules
(1)
Objects
(1)
Orient Constraint
(1)
PYMEL
(1)
Parent
(1)
Parent Constraint
(1)
Point Constraint
(1)
Position
(1)
Print
(1)
Print Current Selection
(1)
Print Random Quotes
(1)
Print Selection
(1)
Print Vertices
(1)
Progress Bar
(1)
Progress Window
(1)
PyQT
(1)
Removing Spaces From Names
(1)
Scene File Name
(1)
Select Connections
(1)
Select Outgoing Nodes
(1)
Split Bones
(1)
Split Joints
(1)
St. Patrick's Day
(1)
String Array
(1)
System
(1)
Transfer UVs
(1)
Viewport
(1)
White Space
(1)
Windows Username
(1)
Zero Out Attributes
(1)
animButtonState
(1)
arrays
(1)
articles
(1)
auto key
(1)
better
(1)
blendshapes
(1)
break
(1)
confirm dialog
(1)
continue
(1)
convention
(1)
e3
(1)
efficiency
(1)
error
(1)
eval
(1)
executable
(1)
fclose
(1)
fopen
(1)
fprint
(1)
games
(1)
improving
(1)
infinite loop
(1)
joints
(1)
listHistory
(1)
listRelatives
(1)
logic
(1)
loops
(1)
milestone
(1)
nodeType
(1)
objExists
(1)
recursion
(1)
rotates
(1)
rotations
(1)
schools
(1)
sculpting
(1)
setAttr
(1)
shout outs
(1)
source
(1)
source a script with a variable
(1)
speed
(1)
tech-artists.org
(1)
translates
(1)
video
(1)
warning
(1)
world matrix
(1)
worldMatrix
(1)