Showing posts with label script editor. Show all posts
Showing posts with label script editor. Show all posts

Friday, December 2, 2011

Podcast: Creating a Custom MEL Script for the Shelf

This podcast will synthesize most of the information covered throughout the blog and provide an example of how to create a MEL script and add it to the shelf, from scratch.



Friday, November 11, 2011

The Shelf - Adding MEL Commands

Creating a shelf button for tasks and commands that you do regularly throughout your
work flow can be a huge time saver and incredibly easy to do with a few steps.

Adding a MEL Command to the Shelf

1. Decide which shelf you want to add your custom MEL command to.

    For our purposes, we'll use the Custom shelf we created in an earlier post about the Shelf.

    Click on the tab labeled "Custom" on the Shelf.
 

2. The MEL Command Statement(s)

    If you recently accessed the command, you can find it in the History Panel. 
    Otherwise, you can retype it. In our example, we'll use the following command statement:

    textCurves -t "Hello World!" ;

3. Highlight the Satement (see Figure 1) with your mouse.

Figure 1 -Highlight the Statement

4. Save the Script to the Shelf

    There are 2 options you can choose from here:
   
    Option 1: Click and Drag 
  • With the left mouse button, simply click and drag the statement directly to the Shelf.
  • A dialog box will appear, giving you the option to save the command to the Shelf either in MEL or in Python.
  • Select button that says MEL. 

        Option 2: Saving via the Script Editor Menu
    • In the Script Editor menu (NOT the main Maya menu. See Figure 2), go to:                                           File > Save Script to Shelf...
    Figure 2 - Save Script to Shelf
    • A dialog box will appear, giving you a chance to save the command with any name we'd like to give it. 
    • I decided to give it the name, "hello"
    • A dialog box will appear, giving you the option to save our command to the Shelf as either in MEL or  in Python.
    • Select button that says MEL.
    5. Pat yourself on the back

        You've just turned your script into a custom shelf button for future use! (see Figure 3)

    Figure 3 - Results of Options 1 and 2

         Now you'll never have to write the complete statement, textCurves -t "Hello World!"; again!

         A simple press of the button in the Shelf will execute the command!

    Deleting Items from the Shelf: 
    You may want to delete shelf buttons for a variety reasons. Here's how:

    • With your middle mouse button, click & drag the shelf button to the Trashcan icon, which is located at the far right of the Shelf (see Figure 4).

    Figure 4 - Trashcan Icon for the Shelf
     






    Conclusion:
    Remember, this is just a proof of concept; you probably won't ever be in desperate need
    to automate a "Hello World" text curve into your scene.

    However, this example opens up so many possiblities, especially when considering an extremely complex set of instructions (MEL commands) can be encapsulated into a simple button!

    For instance, what if you had a task that required you to the following steps:
    • center pivot of all objects
    • freeze transformations of all objects
    • delete history of all objects
    • save the file
    Going through all those steps to perform a task would be a real pain, especially if you do it often.

    Wouldn't it be nice if there was just one button to do all of these steps? Using what we just learned as a foundation, it won't be difficult to do.

    Of course, before we can create a complex MEL script, we have to know how to make a simple one! Like so many teachers have told me in the past:
    • Learn to stand before you walk.
    • Learn the ABCs before you write your novel.
    Next Blog Post:
    Creating a MEL Script!
       

    Friday, October 28, 2011

    The Script Editor

    In an earlier post, we became acquainted with 2 Maya tools/features regarding MEL:

    In this post, we’ll discover the tool that is most responsible for the actual creation of MEL scripts:
    • The Script Editor.

    We’ll take things easy, for now, starting with
    • explaining the function of the Script Editor
    • how to access the Script Editor
    • identifying the panes within the Script Editor

    The Script Editor: What does it do? 
    The Command Line is a fast and easy way to execute commands, but where do we find the guts of a command ?  How do we even make a command out of thin air?

    The answers lie in the Script Editor.

    With the Script Editor, you can:
    • actually see the code and scripts that constitute a command
    • execute commands as an alternative to using the Command Line
    • reference previous actions and tasks as a foundation to create other commands
    • make custom commands out of thin air (with a little bit of brainpower, of course!)

    Before we go on and write scripts, let’s find the Script Editor first!

    Accessing the Script Editor 
    At the far right of the Command Line, you'll notice a little icon (see Figure 1).

    Clicking on this icon opens up the Script Editor (see Figure 3)

    Figure 1: Script Editor Icon
     
    If for some reason you don’t see the Script Editor on your screen, you can easily open it up in Maya's main menu (see Figure 2): 
    • Window > General Editors > Script Editor 
    Figure 2: Open Script Editor in Maya''s Main Menu

    The Script Editor: Overview
    Now that your Script Editor is opened, let’s take a brief overview of what exactly we’re looking at.

    The Script Editor has three major components (see Figure 3): 
    • Toobar
    • History Pane
    • Scripting Pane
    Figure 3: The Script Editor

    The Script Editor: The Toolbar
    The Toolbar offers a quick and visual way to access common tasks and tools instead of having to access these tasks through the File, Edit, History, Command, or Help tabs. 

    In a later post, we’ll cover at greater depth what these icons represent and do.  For now, it’s good to know that these are very helpful icons exist and are similar to the icons in Maya’s Shelf, which also simply are an alternative to accessing common tasks.

    The Script Editor: The History Panel
    According to the Maya Help site, there isn’t an official name for the top pane, although its function is to “show the history of commands and their results.(Autodesk Maya Online Help).  For the sake of identifying the top pane throughout this blog, and to avoid confusion, let’s simply call it the History Pane.

    The History Panel serves two simple purposes:
    • show the history of commands
    • show the results of commands
    You may notice some cryptic text written within the History Pane (see Figure 4).  This text consist is actually MEL commands that represent your actions – command history and command results - in your Maya scene. Practically every action you do to an object within your current Maya scene is recorded and documented within the History Pane. 

    Figure 4: History Pane

    The Script Editor: The Scripting Pane
    According to the Maya Help site, there isn’t an official name for the bottom pane, although its function is to “type MEL or Python commands and scripts in either the MEL or Python tab.(Autodesk Maya Online Help).  For the sake of identifying the top pane throughout this blog, and to avoid confusion, let’s simply call it the Scripting Pane.

    The Scripting Pane is blank, by default. We'll be writing text in this blank space to create MEL scripts in the future.

    Next Post:
    In a later post, we'll delve deeper into the functions and applications of the ScriptEditor.

    Before we do any scripting - and to get rid of any bad habits, beforehand - I'll cover two common errors when scripting:
    •     Command Errors
    •     Syntax Errors 
     Bibliography:
     "Autodesk Maya Online Help." 2008. http://usa.autodesk.com/. 2010 24 October <http://download.autodesk.com/us/maya/2009help/index.html>.