如何在maya python ls命令中选择顶点?

时间:2018-11-22 15:53:52

标签: python maya

当我在选择顶点时要使用maya的ls命令,并且想要我要选择的顶点列表时,如何使用类型选项,以便仅获得网格的顶点?

类似的东西:

import pymel.core as pm
verts = pm.ls(sl=True, fl=True, type=[vertex? polymeshVtx?])

2 个答案:

答案 0 :(得分:2)

有点晚了,但是您可以使用filterExpand

sel = cmds.ls(sl=True)
onlyVertices = cmds.filterExpand(sel, sm=31)

答案 1 :(得分:0)

我给你maya.cmds的方法 第二种可能是pymel的解决方案,但可能还有另一种更简单的方法。

import maya.cmds as cmds
sel = cmds.ls(sl=True, o=True)[0]
sel_vtx = cmds.ls('{}.vtx[:]'.format(sel), fl=True)

import pymel.core as pm
obj_sh = pm.ls(sl=True, dag=True, type='mesh')[0]
vtx_nb = obj_sh._numVertices()
vtx_flatten = ['{}.vtx[{}]'.format(obj_sh,i) for i in vtx_nb]

---编辑---

import pymel.core as pm

obj_sh = pm.ls(sl=True, dag=True, type='mesh')[0]
for v in obj_sh.vtx:
    print(v)