python maya检查所选项目

时间:2014-04-03 17:03:30

标签: python maya

如何检查变量'curSel'中的选定项目以测试它们是否是'顶点'。我假设我会使用if / then语句。那么我可以删除任何进一步的错误。

我猜我可以测试看看列表中的第一项是否是一个顶点。如果它是一个顶点然后继续,如果没有那么不做任何事情。但是我该怎么写呢?

import maya.cmds as cmds

# collect the selected verts
curSel = cmds.ls(sl=1, fl=1)

工作代码:为每个选定的顶点

创建定位器
import maya.cmds as cmds

selectedVerts = [v for v in cmds.ls(sl=True, fl=True) if '.vtx' in v]

print selectedVerts

for v in selectedVerts:
    pos = cmds.xform( v, query=True, translation=True, worldSpace=True )
    cmds.spaceLocator( p=(pos) )

1 个答案:

答案 0 :(得分:1)

您可以使用filteExpand命令而不是ls作弊。不带参数的FilterExpand始终适用于当前选择,而selectionMask选项将其限制为特定的组件类型。所以

cmds.filterExpand(sm=31)

将仅返回选定的顶点而不返回任何其他顶点。如果没有选择任何顶点,它将返回None。

另一种方法是检查字符串'.vtx'的选择,这是你从选定的顶点得到的

selected_verts = [v for v in cmds.ls(sl=True, fl=True) if '.vtx' in v]