PDA

View Full Version : uv selection info question


skygunner
12-08-2011, 03:08 AM
Hello.

If I have uvs selected for an object, I duplicate that object and want to get the same exact uv selection but on the duplicated object, how would I do that?

Ex. let's say I have these uvs selected.
pCube1.map[6:10]

I duplicate pCube1 and get pCube2.

I want to select pCube2.map[6:10] .

Other than slicing the object name off the index name and rebuilding the list, is there a Maya Python command somewhere I can use to save the uv info without the object name?

NaughtyNathan
12-08-2011, 10:22 AM
not really. your question is also a little vague. do you want a solution to process the exact case you've given (i.e. the single static string "pCube1.map[6:10]") or do you just want a way of stroing arbitrary component ids, and then applying those to another object name?
# select some uvs on an object, then:
uvIds = [int(id.split('[')[1].split(']')[0]) for id in mc.filterExpand(sm=35)]
new = ['pCube2.map[%d]' % id for id in uvIds]
mc.select(new)
this example code will take the selected uvs and create a python list of ints. The second line will then map that list onto a new list of strings, using the supplied name. You could make it work with any component types by changing the sm= flag (or adding more sm= flags).
This is one basic way of doing it with python list comprehensions, but there are others.
:nathaN

skygunner
12-08-2011, 10:52 AM
Nathan,

Thank you for your response. I am sorry I was too vague in my question. Yes, I just want a way of storing arbitrary component ids and then applying them to a duplicate object.

Your answer is what I was looking for though I was just wondering if there was some maya command I was not aware of.

Originally, I thought I might even have to slice off the name of the object before the ' . ' and add the string to each component in the list but I thought it was awkward.

Thank you again!

NaughtyNathan
12-08-2011, 11:01 AM
don't apologise, I wasn't telling you off! ;) :D I was just qualifying why my post may not have been the answer you were looking for. :)

Originally, I thought I might even have to slice off the name of the object before the ' . ' and add the string to each component in the list but I thought it was awkwardyou could just as easily (if not easier) do it this way using the exact same method I gave.
uvIds = [id.split('.')[1] for id in mc.filterExpand(sm=35)]
new = ['pCube2.%s' % id for id in uvIds]
mc.select(new):nathaN

CGTalk Moderation
12-08-2011, 11:01 AM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.