MEL - Pass on a String Variable


#1

Hello everyone,

I am a little stuck with string and variables. I understand how to create a string and how to pass it for the most basic use. However I am now trying to do the same thing in a more complicated scenario (for my basic knowledge) and I haven’t been able to figure it out. I would love your help guys.

Basically I have like 50 animations and I want to be able to import them in and export our with almost the same name and I thought that it would be easier to call the animation if I had the name put it once and then that passes the name to all the other places where it needs it.

I want to make it a string so it can be an user input later.

Original Working Code:

//Import animation to the scene

file -import -type “FBX”

-ignoreVersion -ra true -mergeNamespacesOnClash false

-namespace “Dance_01” -options “fbx” -pr -importFrameRate true

-importTimeRange “override” “D:/Desktop/Animations/Dance_01.fbx”;

///More lines of code…

// rename and Export Animation

file -force -options “fbx” -typ “FBX export” -pr -es “D:/Desktop/ProcessAnimations/Female_Dance_01”;

Failed Attempt:

//Define the string variable

string $myFileName = “Dance_01”;

//Import animation to the scene using the string variable

file -import -type “FBX”

-ignoreVersion -ra true -mergeNamespacesOnClash false

-namespace $myFileName = (""" + $myFileName + “”") -options “fbx” -pr -importFrameRate true

-importTimeRange “override” $myFileName = (“D:/Desktop/Animations/” + $myFileName + “.fbx”);

///More lines of code…

// rename and Export Animation

file -force -options “fbx” -typ “FBX export” -pr -es $myFileName = “(D:/Desktop/ProcessAnimations/Female_” + $myFileName + “”");

I have been getting a syntax error but I am not really sure how to break it down to be able to pass on the string variable

If anyone has worked with this type of string variables, please I will appreciate your help.


#2

Looks like a typo. You have the quote outside the parenthesis in the beginning and inside it at the end. In fact, don’t know why you need the parentheses at all. Why not just do this first:

$myFileName = “D:/Desktop/ProcessAnimations/Female_” + $myFileName;

Then:

file -force -options “fbx” -typ “FBX export” -pr -es $myFileName


#3

Ohh, let me try that right now. Thank you for the advice!!
I will post here the results.


#4

That worked like a charm! Thank you so much for the suggestion.