执行 MEL 命令。
字符串 eval(字符串命令)
命令是以引号括起的命令字符串或包含命令的字符串变量。
返回值包含执行命令返回的命令输出。
eval 命令在 MEL 范围的顶层执行。因此,它可以识别全局变量,但不会识别在程序内定义的变量(局部变量)。有关详细信息,请参见全局变量和局部变量。
eval("select -cl")
执行命令 select -cl,取消选择场景中的所有对象。尽管本示例中未使用返回值,但它仍包含命令输出。
string $cmd = "select -cl"; eval($cmd);
第一个语句将命令字符串 select -cl 指定到字符串变量 $cmd。第二个语句执行 $cmd 的内容,即命令 select -cl。
string $mycommand = "sphere"; eval($mycommand+"-r 5");
第一个语句将字符串 sphere 指定给变量 $mycommand。第二个语句将 -r 5 附加到字符串 sphere,并执行完整命令 sphere -r 5。这将创建半径为 5 个栅格单位的球体。
string $a[]; $a = eval("ls -lights"); print($a);
第一个语句定义名为 $a 的字符串数组。第二个语句执行 MEL 命令 ls -lights,然后将命令输出指定到数组 $a。第三个语句将 $a 的内容显示到“脚本编辑器”(Script Editor),如下所示:
ambientLightShape1 directionalLightShape1
每行命令输出将显示在新行中。每行命令输出都是一个数组元素。Maya 格式数组在新行上输出每个数组元素。