You can find it in the MEL help file. It's fun.
int $amount = 0;
progressWindow
-title "Doing Nothing"
-progress $amount
-status "Sleeping: 0%"
-isInterruptable true;
while (true) {
// Check if the dialog has been cancelled
if ( `progressWindow -query -isCancelled` ) break;
// Check if end condition has been reached
if ( `progressWindow -query -progress` >= 100 ) break;
$amount += 5;
progressWindow -edit
-progress $amount
-status ("Sleeping: "+$amount+"%");
pause -seconds 1;
}
progressWindow -endProgress;
Friday, January 22, 2010
MEL: Progress Window
Ever wanted to build a progress window into a script you're running that is taking a long time? MEL has one built in already, and it works quite well!
Labels:
Maya,
MEL,
Progress Bar,
Progress Window,
Tricks
Thursday, January 21, 2010
MEL: Select Outgoing Nodes From A Specific Attribute
Sometimes you'll have a node on a rig or in your scene that has thousands of outgoing connections on lots of different attributes. You may only want to edit a specific attribute's outgoing connections but you can't find them in the Hypergraph because there are just too many to search through. Here is a small trick to speed that up.
Let's assume your node is called "myBusyNode". The attribute you're looking to check is called, "thisAttr".
Alternately you can select the incoming connections by swapping source and destination.
And, of course you could set both to true and select both incoming and outgoing nodes.
The return value of listConnections will give you all of the outgoing connected nodes from that attribute. You can then focus on your selection in the Hypergraph and you'll be able to see only the network of your selected nodes, not every single connection coming out of myBusyNode. I use this trick about four hundred and eighty seven times a day.
Let's assume your node is called "myBusyNode". The attribute you're looking to check is called, "thisAttr".
// Selects all nodes that are outgoing connections of myBusyNode.thisAttr
select -r `listConnections -s false -d true myBusyNode.thisAttr` ;
Alternately you can select the incoming connections by swapping source and destination.
// Selects all nodes that are incoming connections of myBusyNode.thisAttr
select -r `listConnections -s true -d false myBusyNode.thisAttr` ;
And, of course you could set both to true and select both incoming and outgoing nodes.
The return value of listConnections will give you all of the outgoing connected nodes from that attribute. You can then focus on your selection in the Hypergraph and you'll be able to see only the network of your selected nodes, not every single connection coming out of myBusyNode. I use this trick about four hundred and eighty seven times a day.
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)