I will start off with I am just starting with MEL and Python and I am sorry if my code looks basic. I am trying to understand how MEL works beyond the regular commands that we get from Maya and I would appreciate everyone's help to increase my knowledge beyond this point.
I am having problems with a selection script I want to use for various Maya scenes.
I want to select and delete every item on the scene except for two common denominators. Right now, I am listing all the possible items someone can found on each scene and delete them. For example on scene A I have 10 objects, on scene B I have 7 objects, and on scene C I have 5 objects. I want to delete every object expect for 2 objects that are found on all three scene. So this is what I currently have written.
// Select and delete unnecessary objects and groups in the scene
select -r pSphere1 ;
select -add pCube1 ;
select -add pTorus3 ;
select -add Plane ;
select -add Camera ;
This may work on scene A where all those objects are present but on scene B and C some objects are missing. For example the object "pTorus3" is missing on scene B and C and when I run the script I get the following error:
Error: line 3: No object matches name: pTorus3 //
Please let me know if someone has a better idea on how to approach something like this. Thank you all for your help.
you can do it in a loop over all the objects. Here's an example:
something to note is you can't delete certain objects - like the default cameras - so in the script example I've made sure you're only deleting objects you are allowed to.
Things like doDelete should be avoided (there are exceptions but I will not go into details here). It is not a MEL-command but a function call to some MEL script, meaning it's better that you learn what said script does (hint: many scripts do a lot of things you can live withouit).
You can find out what script by using the whatIs -command, like this:
Once you know the command, look it up in the documentation:
TLDR: whatIs is a life saver when learning MEL and should be used from day 1.