MELandExpressions, Maya, eBook

[ Pobierz całość w formacie PDF ]
MEL and Expressions
Legal Notice
Autodesk® Maya® 2008
© 2007 Autodesk, Inc. All rights reserved. Except as otherwise permitted
by Autodesk, Inc., this publication, or parts thereof, may not be reproduced in
any form, by any method, for any purpose.
Certain materials included in this publication are reprinted with the permission
of the copyright holder.
Graph Layout Toolkit © Copyright 1992-2003 Tom Sawyer Software, Berkeley,
California. All rights reserved.
Mozilla Open Source Project © Copyright 1998-2004 by Contributors to the
Mozilla codebase under the Mozilla Public License. Source code may be found
the Mozilla Public License on an "AS IS" basis, WITHOUT WARRANTY OF
ANY KIND. The Mozilla Public License may be found at www.mozilla.org/MPL/.
All rights reserved.
Portions relating to JPEG © Copyright 1991-1998 Thomas G. Lane. All rights
reserved. This software is based in part on the work of the Independent JPEG
Group.
Portions of the subdivision surface implementation technology are protected by
U.S. patents 6,037,949, 6,222,553, 6,300,960, and 6,489,960 and used under
license from Pixar.
Trademarks
The following are registered trademarks or trademarks of Autodesk, Inc., in the
USA and other countries: 3DEC (design/logo), 3December, 3December.com,
3ds Max, ActiveShapes, Actrix, ADI, Alias, Alias (swirl design/logo),
AliasStudio, Alias|Wavefront (design/logo), ATC, AUGI, AutoCAD, AutoCAD
Learning Assistance, AutoCAD LT, AutoCAD Simulator, AutoCAD SQL
Extension, AutoCAD SQL Interface, Autodesk, Autodesk Envision, Autodesk
Insight, Autodesk Intent, Autodesk Inventor, Autodesk Map, Autodesk
MapGuide, Autodesk Streamline, AutoLISP, AutoSnap, AutoSketch, AutoTrack,
Backdraft, Built with ObjectARX (logo), Burn, Buzzsaw, CAiCE, Can You
Imagine, Character Studio, Cinestream, Civil 3D, Cleaner, Cleaner Central,
ClearScale, Colour Warper, Combustion, Communication Specification,
Constructware, Content Explorer, Create>what's>Next> (design/logo), Dancing
Baby (image), DesignCenter, Design Doctor, Designer's Toolkit, DesignKids,
DesignProf, DesignServer, DesignStudio, Design|Studio (design/logo), Design
Your World, Design Your World (design/logo), DWF, DWG, DWG (logo), DWG
TrueConvert, DWG TrueView, DXF, EditDV, Education by Design, Extending
the Design Team, FBX, Filmbox, FMDesktop, Freewheel, GDX Driver, Gmax,
Heads-up Design, Heidi, HOOPS, HumanIK, i-drop, iMOUT, Incinerator,
IntroDV, Inventor, Inventor LT, Kaydara, Kaydara (design/logo), LocationLogic,
Lustre, Maya, Mechanical Desktop, MotionBuilder, ObjectARX, ObjectDBX,
Open Reality, PolarSnap, PortfolioWall, Powered with Autodesk Technology,
Productstream, ProjectPoint, Reactor, RealDWG, Real-time Roto, Render
Queue, Revit, Showcase, SketchBook, StudioTools, Topobase, Toxik, Visual,
Visual Bridge, Visual Construction, Visual Drainage, Visual Hydro, Visual
Landscape, Visual Roads, Visual Survey, Visual Syllabus, Visual Toolbox,
Visual Tugboat, Visual LISP, Voice Reality, Volo, and Wiretap.
The following are registered trademarks or trademarks of Autodesk Canada
Co. in the USA and/or Canada and other countries: Backburner, Discreet, Fire,
Flame, Flint, Frost, Inferno, Multi-Master Editing, River, Smoke, Sparks, Stone,
Wire.
mental ray is a registered trademark of mental images GmbH licensed for use
by Autodesk, Inc. Adobe, Illustrator and Photoshop are either registered
trademarks or trademarks of Adobe Systems Incorporated in the United States
and/or other countries. The Ravix logo is a trademark of Electric Rain, Inc.
"Python" and the Python logo are trademarks or registered trademarks of the
Python Software Foundation. All other brand names, product names or
trademarks belong to their respective holders.
Disclaimer
THIS PUBLICATION AND THE INFORMATION CONTAINED HEREIN IS
MADE AVAILABLE BY AUTODESK, INC. "AS IS." AUTODESK, INC.,
DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO ANY IMPLIED WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE
REGARDING THESE MATERIALS.
Published by:
Autodesk, Inc.
111 Mclnnis Parkw ay
San Rafael, CA 94903, USA
All use of this Software is subject to the terms and conditions of the Autodesk
End User License Agreement accepted upon installation of this Software and/
or packaged with the Software.
Patents
Protected by one or more of U.S. Patent Nos. 6,384,835, 6,356,271,
6,204,860, 6,549,212, 6,414,700, 6,915,492, 6,348,924, 6,462,740, 5,889,528,
6,025,852, 5,999,195, 6,130,673, 6,389,154, 6,553,337, 6,850,638, 6,525,735,
7,034,824, 6,232,980, 5,852,450, 5,990,908, 6,363,503, 7,168,012, 6,888,542,
5,287,408, 6,317,128, 5,764,233, 6,037,948, 6,246,416, 6,266,071, 5,847,716,
7,139,444, 6,859,202, 6,798,416, 6,118,427, 5,809,219, 6,211,882, 5,808,625,
5,929,864, 5,818,452, 5,689,667, 5,926,178, 6,618,063; and patents pending.
Third-Party Software Credits and Attributions
Graph Layout Toolkit © Copyright 1992-2003 Tom Sawyer Software, Berkeley,
California. All rights reserved.
Mozilla Open Source Project © Copyright 1998-2004 by Contributors to the
Mozilla codebase under the Mozilla Public License. Source code may be found
the Mozilla Public License on an "AS IS" basis, WITHOUT WARRANTY OF
ANY KIND. The Mozilla Public License may be found at www.mozilla.org/MPL/.
All rights reserved.
Portions relating to JPEG © Copyright 1991-1998 Thomas G. Lane. All rights
reserved. This software is based in part on the work of the Independent JPEG
Group.
Portions relating to TIFF © Copyright 1988-1997 Sam Leffler. © Copyright
1991-1997 Silicon Graphics, Inc. All rights reserved. Permissions to use, copy,
modify, distribute, and sell this software and its documentation for any purpose
is hereby granted without fee, provided that (i) the above copyright notices and
this permission notice appear in all copies of the software and related
documentation, and (ii) the names of Sam Leffler and Silicon Graphics may not
be used in any advertising or publicity relating to the software without the
specific, prior written permission of Sam Leffler and Silicon Graphic.
THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF
ANY KIND, EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT
LIMITATION, ANY WARRANTY OF MERCHANTABILITY OR FITNESS FOR A
PARTICULAR PURPOSE. IN NO EVENT SHALL SAM LEFFLER OR
SILICON GRAPHICS BE LIABLE FOR ANY SPECIAL, INCIDENTIAL,
INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY
DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
PROFITS, WHETHER OR NOT ADVISED OF THE POSSIBILITY OF
DAMAGE, AND ON ANY THEORY OF LIABIBITLY, ARISING OUT OF OR IN
CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
Portions relating to the implementation of the Edge Detection and Image
Segmentation (EDISON) System are provided "AS IS". More information may
Portions of the subdivision surface implementation technology are protected by
U.S. patents 6,037,949, 6,222,553, 6,300,960, and 6,489,960 and used under
license from Pixar.
Portions relating to OpenEXR Copyright © 2002, Industrial Light & Magic, a
division of Lucas Digital Ltd. LLC All rights reserved. Redistribution and use in
source and binary forms, with or without modification, are permitted provided
that the following conditions are met: Redistributions of source code must
retain the above copyright notice, this list of conditions and the following
disclaimer. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution. Neither the name of
Industrial Light & Magic nor the names of its contributors may be used to
endorse or promote products derived from this software without specific prior
written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
Table of Contents
Table of Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3
MEL Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
The MEL and expressions book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
MEL for programmers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Quick overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
MELisms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Run MEL commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Run a single MEL command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Create and run a MEL script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Script files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
See or record the MEL commands associated with actions. . . . . . . . . . . . . . . 23
Make a shelf button for a script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Get help on a MEL command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Integer and floating point numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Integers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Floating point numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Non-decimal numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Concatenating strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Explicit and implicit typing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Explicit typing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Implicit type conversion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Declare variables before using them . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Assigning values to variables and attributes . . . . . . . . . . . . . . . . . . . . . . . . . 28
Combining declaration and assignment . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Chaining assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
MEL and Expressions
3
1 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17
About
2 Running MEL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21
How do I?
3 Values and variables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25
About
Table of Contents
Convenience assignment operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Printing values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Picking a random number. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4 Arrays, vectors, and matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31
About
Arrays. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Getting and setting the value of an array element . . . . . . . . . . . . . . . . . . . 31
Literal representation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Arrays are only one dimensional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Get and change the size of an array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Clear an array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Vectors. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Literal representation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Getting and setting vector values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Literal representation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Getting and setting matrix values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
5 Syntax. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35
About
Command syntax. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Imperative syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Function syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Flags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Create, edit, and query modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Using return values: function syntax and backquotes . . . . . . . . . . . . . . . . . 36
Delimiters and white space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Very important note . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Expressions, operators and statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Statements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Operator precedence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Very important note . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
MEL and Expressions
4
Table of Contents
Variable scope in blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Differences between expression and MEL syntax . . . . . . . . . . . . . . . . . . . . . . 41
Direct access to object attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
time and frame variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Testing and comparing values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Comparison operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Logic operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Boolean values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
if...else if...else. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
?: operator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Readability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
switch...case. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Beware of falling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
while . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
do...while . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
for . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
for-in . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
break . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
continue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Testing the existence of commands, objects, and attributes . . . . . . . . . . . . . . 50
Commands and scripts: exists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
objects: objExists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
attributes on nodes: attributeExists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
The difference between = and == . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Common problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Modifying variable values in test conditions . . . . . . . . . . . . . . . . . . . . . . . . 51
Comparing floating point values to 0 with == . . . . . . . . . . . . . . . . . . . . . . . 52
7 Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .55
About
MEL and Expressions
5
6 Controlling the flow of a script. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .43
About
Attributes overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
[ Pobierz całość w formacie PDF ]

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • annablack.xlx.pl