Hi Justin,
On regex, I would like to create that if the object with '_ + without
string on dictionary' then it won't do repeat again. So the result still
keep on '_+ without string on dictionary' not '_+ without value on
dictionary + _ + value dictionary'.
Let say I have 'mesh_ply' then i wanna keep on 'mesh_ply'. I don't wanna it
comes to 'mesh_ply_geo'
Any advice?!
On Friday, January 18, 2019 at 10:51:18 PM UTC+7, delibrax wrote:
>
> Hi there,
>
> I would like to adding the suffix regarding the object type. So here my py:
>
> import maya.cmds as mc
> import re
>
> SUFFIXES = {
> 'mesh' : 'geo',
> 'joint' : 'jnt',
> 'follicle' : 'fol',
> 'nurbsCurve' : 'crv',
> }
> GROUP = 'grp'
>
> def renameObject(object):
>
> for obj in object:
> sN = obj.split('|')[-1]
>
> lR = mc.listRelatives(sN, s=1)
>
> if lR == None:
> objType = mc.objectType(obj)
> else:
> objType = mc.objectType(lR)
>
> suffix = SUFFIXES.get(objType, GROUP)
>
> regex = r'_.*'
>
> if not suffix:
> continue
>
> if sN.endswith('_' + suffix):
> continue
>
> if re.match(regex, sN):
> continue
>
> newName = "%s_%s" % (sN, suffix)
>
> mc.rename(sN, newName)
>
> index = object.index(obj)
>
> object[index] = obj.replace(sN, newName)
>
> return object
>
>
> so the result is :
>
> when the 'joint' or 'mesh' (without have any suffix) been selected then it
> will has 'joint_jnt' and 'mesh_geo'. Otherwise if it is re-run then WON'T
> be 'joint_jnt_jnt' (we know it happened by statements endswith)
>
> My problem is when the object has suffix without on list dictionary (let
> say 'mesh_ply') then become 'mesh_ply_geo'. As you can see I wanna that
> every object with suffix will 'continue'. Any advice?! Thanks in advance.
>
>
>
--
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 [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/python_inside_maya/9df1940a-9331-4434-a50c-6e683e167e11%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.