It is possible to write basic scripts that use the wrapper, iterator and function set classes of the Maya API. These scripts can query and manipulate the Maya model but are not fully integrated into Maya.
A scripted plug-in provides a more complex solution that is tightly integrated into Maya. In this section, we discuss how to write both basic and scripted plug-in scripts along with standalone scripts. You must import the functionality that you wish to use in your script. To import the OpenMaya module, run the following:. Information can be displayed about any of the modules or classes using the help command.
For example, if you wish to display the class information for MVectoruse:. It is also possible to display the information of an entire module:. This operation will take a while to return since the OpenMaya module is very large.
These classes are separated into different categories and have appropriate naming conventions to signify their association. Classes include:. Any class with this prefix is a function set used to operate on MObject s of a particular type.
These classes are iterators and work on MObject s similar to the way a function set does. Classes with this prefix are all "Proxies", that is, API classes designed for you to derive from and create your own object types. Most, although not all, of these classes are "Wrappers".
We can use wrapper and function set classes to write scripts such as the following:. It is possible to shorten the symbol names used by modifying the import command:. The following is a script that finds the persp node and prints out its translateX attribute value:.
The example above demonstrates the following:. For the sake of clarity, the example above has omitted error checking. Scripted plug-ins allow a developer to create a solution that is tightly coupled with Maya. Scripted plug-ins allow a developer to support functionality such as the undoing of commands and the building of appropriate requires lines into the Maya scene file. Another advantage of using a scripted plug-in is that its functionality is available in both MEL and Python.
We have extended the Maya Plug-in Manager to support the loading and unloading of scripted plug-ins. Any file ending with a. Select the Loaded check-box or the Auto load check box to either load or auto-load the scripted plug-in. Although, it is possible to have a non scripted plug-in. Warnings will be issued that entry points cannot be found.
In MEL, use the loadPlugin command.You can use these all scripts in your work under the license limit by respective author. Use at your own risk. Feel free to post me your own best MEL scripts and I will add them to the list.
CPS comes with extra tools such as a customizable, floating shelf and a compact UI that makes hidden display, selection and modeling options easily accessible. Pivot Toolbox. Tartarus Toolbox by Kevin Edzenga.
This little script turns a polygon-object into a polygon-wire. Voxel Grid Generator 4. This script is used for generating voxel-array models. You can use two different methods to create voxel array. FB Wire Jumbler 0. Simply run the script, select target objects in correct order, enter desired parameters, and press Make wires. This script creates polygonal stairs of 2 types: Spiral and Straight. You can create Solid and Separated Stairs of both types.
You can also choose either to create cylinder for Spiral stairs or not. One of the gears will be the motor gearthat you can later on animate.
LeoMoon lmEyeMaker 1. This script will make a complete textured eye.
Because I got tired of making the same thing over and over again or spending a long time finding an eye inside an old project to bring it into the new one! No one has to do that again!If you are coming from other programming languages like Cmost likely you are used to the idea of iterating over the length of an array by an index and then using this index to get the value at that location.
Python gives you the luxury of iterating directly over the values of the list which is most of the time what you need. Python has a built-in function called enumerate that allows you to do just that. In this article, I will show you how to iterate over different types of python objects and get back both the index and the value of each item. Now that you know how to enumerate a list and a tuple, how can you enumerate a list of tuples?
So if you enumerate over a string, you will get back the index and value of each character in the string. This means that when you use the enumerate function, the index returned for the first item will be 0. So does it make sense to use the enumerate function for dictionaries and sets?
Subscribe to RSS
Think about it, the only reason you would use enumerate is when you actually care about the index of the item. If you want to iterate over the keys and values of a dictionary instead a very common operationthen you can do that using the following code:.
In Python, the enumerate function returns a Python object of type enumerate. How do I get the index of an element while I am iterating over a list? However, there are times when you actually need the index of the item as well. An item in a string is a single character. However, in some cases, you want the loop counter to start at a different number. Absolutely not! Dictionaries and Sets are not sequences.
It must be an iterable object. At a given index, the result is a tuple of two elements. No longer a beginner? Are you Beginning your Programming Career? I provide my best content for beginners in the newsletter. What programming language to start with? Do you need a CS degree to be a programmer? Career tips and advice Programming tutorials And so much more… Subscribe now.
This comment form is under antispam protection. Most reacted comment. Hottest comment thread. Notify of.Note: Python does not have built-in support for Arrays, but Python Lists can be used instead. If you have a list of items a list of car names, for examplestoring the cars in single variables could look like this:. However, what if you want to loop through the cars and find a specific one?
And what if you had not 3 cars, but ? An array can hold many values under a single name, and you can access the values by referring to an index number. Use the len method to return the length of an array the number of elements in an array. You can use the for in loop to loop through all the elements of an array. You can use the pop method to remove an element from the array.
You can also use the remove method to remove an element from the array. Note: The list's remove method only removes the first occurrence of the specified value. If you want to report an error, or if you want to make a suggestion, do not hesitate to send us an e-mail:. Note: The length of an array is always one more than the highest array index.
Example Add one more element to the cars array: cars. Example Delete the second element of the cars array: cars. Example Delete the element that has the value "Volvo": cars. HOW TO. Your message has been sent to W3Schools. W3Schools is optimized for learning, testing, and training. Examples might be simplified to improve reading and basic understanding.
Copyright by Refsnes Data. All Rights Reserved. Powered by W3.A for loop is used for iterating over a sequence that is either a list, a tuple, a dictionary, a set, or a string. This is less like the for keyword in other programming languages, and works more like an iterator method as found in other object-orientated programming languages. With the for loop we can execute a set of statements, once for each item in a list, tuple, set etc.
The for loop does not require an indexing variable to set beforehand. With the break statement we can stop the loop before it has looped through all the items:. Exit the loop when x is "banana", but this time the break comes before the print:.
With the continue statement we can stop the current iteration of the loop, and continue with the next:. The range function returns a sequence of numbers, starting from 0 by default, and increments by 1 by defaultand ends at a specified number. Note that range 6 is not the values of 0 to 6, but the values 0 to 5. The range function defaults to 0 as a starting value, however it is possible to specify the starting value by adding a parameter: range 2, 6which means values from 2 to 6 but not including 6 :.
The range function defaults to increment the sequence by 1, however it is possible to specify the increment value by adding a third parameter: range 2, 30, 3 :. The else keyword in a for loop specifies a block of code to be executed when the loop is finished:.
The "inner loop" will be executed one time for each iteration of the "outer loop":. If you want to report an error, or if you want to make a suggestion, do not hesitate to send us an e-mail:.
Exercise: Loop through the items in the fruits list. HOW TO. Your message has been sent to W3Schools. W3Schools is optimized for learning, testing, and training. Examples might be simplified to improve reading and basic understanding. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content.
250+ Best Free MEL / Python Scripts for Maya
Powered by W3.Learn Data Science by completing interactive coding challenges and watching videos by expert instructors. Start Now! For loops can iterate over a sequence of numbers using the "range" and "xrange" functions. The difference between range and xrange is that the range function returns a new list with numbers of that specified range, whereas xrange returns an iterator, which is more efficient. Python 3 uses the range function, which acts like xrange.Python 101 for Maya Users (For Loops)
Note that the range function is zero based. A few examples:. When the loop condition of "for" or "while" statement fails then code part in "else" is executed.
If break statement is executed inside for loop then the "else" part is skipped. Note that "else" part is executed even if there is a continue statement.
Loop through and print out all even numbers from the numbers list in the same order they are received. Don't print any numbers that come after in the sequence.
This site is generously supported by DataCamp. Join over a million other learners and get started learning Python for data science today! Loops There are two types of loops in Python, for and while. The "for" loop For loops iterate over a given sequence. Prints out the numbers 0,1,2,3,4 for x in range 5 : print x Prints out 3,4,5 for x in range 3, 6 : print x Prints out 3,5,7 for x in range 3, 8, 2 : print x "while" loops While loops repeat as long as a certain boolean condition is met.
Maya is mostly built around the headaches and use-cases around parsing datetime data from websites. Your support helps tremendously with sustainability of motivation, as Open Source is no longer part of my day job.
In addition to timestamps, Maya also includes a wonderfully powerful MayaInterval class, which represents a range of time e. With this class, you can perform a multitude of advanced calendar calculations with finesse and ease.
From here, there are a number of methods available to you, which you can use to compare this event to another event. All these projects complement each other, and are friends. Maya does do exactly what I need. I think these projects complement each-other, personally. Maya is great for parsing websites, and dealing with calendar events! Jan 6, Dec 14, Dec 2, May 26, May 15, May 10, Feb 26, Sep 27, May 27, May 23, May 16, Feb 10, Feb 9, Jan 24, Dec 30, Dec 21, Dec 20, Dec 18, Jan 15, Dec 16, Download the file for your platform.