Test if multiple object exist

1,004 views
Skip to first unread message

carlos-...@hotmail.com

unread,
Dec 3, 2015, 7:29:04 PM12/3/15
to Python Programming for Autodesk Maya, Carlos_...@hotmail.com
Hi all,

Am new to maya swiching from XSI and am learning mel and python for now.
Am trying to check if multiple object are in the scene but it seems that when I use "objExists" I can only test if one object exist....
Can anyone help me on this.
The code would go in my mind something like this


if ( `objExists Object1, Object2, ...` )
{

print "All object exist";

} else {

print "Your missing some objects";

}


Thanks in advance!

Justin Israel

unread,
Dec 3, 2015, 9:55:55 PM12/3/15
to Python Programming for Autodesk Maya, Carlos_...@hotmail.com
Hi,

Is your goal to just find out if any of the given objects exist? or all of the objects exist? To you want be able to handle the case where some exist and some dont?

The `ls` command can handle being given a list of names and returning those that exist:
if cmds.ls(["foo", "bar", "baz"]):
    print "at least one exists"
Or if you want to ensure all objects exist:
names = ["foo", "bar", "baz"]
found = cmds.ls(names)
if len(found) == len(names):
    print "all objects exist"

Justin


--
You received this message because you are subscribed to the Google Groups "Python Programming for Autodesk Maya" group.
To unsubscribe from this group and stop receiving emails from it, send an email to python_inside_m...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/python_inside_maya/e54bc6c2-7fea-47ee-a3ce-a9e35bb8f568%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Carlos Abrego

unread,
Dec 4, 2015, 1:30:59 AM12/4/15
to Justin Israel, Python Programming for Autodesk Maya

Thanks a lot Justin it really helps.


I don t need it right now but for sure would be nice to seee how you handle the case where some object exist and some don't.

For now, let  see if am able to convert that to mel.


Thanks a lot again


Carlos




From: Justin Israel <justin...@gmail.com>
Sent: December 3, 2015 9:55 PM
To: Python Programming for Autodesk Maya
Cc: Carlos_...@hotmail.com
Subject: Re: [Maya-Python] Test if multiple object exist
 

Marcus Ottosson

unread,
Dec 4, 2015, 2:17:25 AM12/4/15
to python_in...@googlegroups.com, Justin Israel
Now why would one want to convert anything to MEL?

Since you mention that you are new to Maya, I'll just mention that MEL is the predecessor to Python and code is typically converted the other way around. The one (only?) reason to stick with MEL is if you have old code that you cannot change and need to maintain or update; MEL itself doesn't offer anything that Python doesn't do better. However this doesn't seem to be the case if you are just switching to Maya.


For more options, visit https://groups.google.com/d/optout.



--
Marcus Ottosson
konstr...@gmail.com

Justin Israel

unread,
Dec 4, 2015, 2:37:25 AM12/4/15
to Carlos Abrego, Python Programming for Autodesk Maya
On Fri, Dec 4, 2015 at 7:24 PM Carlos Abrego <carlos_...@hotmail.com> wrote:

Thanks a lot Justin it really helps.


I don t need it right now but for sure would be nice to seee how you handle the case where some object exist and some don't.


Sure. The easiest way to do it is to loop over each name and call objExists(). If we had a massive list of items and wanted to reduce the maya calls, we could do something more complicated with a single call to ls, but that is for another time...
items = ["foo", "biz", "baz"]
for item in items:
    if cmds.objExists(item):
        print item, "exists"
    else:
        print item, "does not exist"
Reply all
Reply to author
Forward
0 new messages