I am trying to teach myself how to script with Maya. I am starting with MEL and I am having problems with a more complex situation.
I am trying to select all objects and delete them from the scene except for two objects that can be found on every scene. Those two objects can be found together on the same scene or individually.
For example
Scene A has 10 objects, scene B has 8, scene C has 6. Scene A contains the two "desireObjects", scene B and C contains only one of the "desireObjects."
Right now I have something very basic as:
string $selection[] = {"desireObject1", "desireObject2"}
select -all ;
for ($selected in $selection){
select -d desireObject1;
select -d desireObject2;
}
doDelete;
On scene A where both objects can be found works perfectly. The script selects all the objects, deselect "desireObject1", and "desireObject2" and deletes the rest. However on scene B and C, where only one of the two "desireObjects" can be found I get the following error:
// Error: line 3: No object matches name: desireObject2 //
(or desireObject1 , whichever is not present at the scene)
So the scrip stops and it doesn't execute the rest of the commands.
I am trying to work on a if{} statement but I would like to get help from the community to try to understand this process. I would really appreciate everyone's help. Thank you!
Replies
you can add objExists command to avoid error.
https://help.autodesk.com/cloudhelp/2017/CHS/Maya-Tech-Docs/Commands/objExists.html
That is exactly the command I ended using to solve the issue. Thank you for your help.