Спасибки, знал что ты подскажешь , Возьму на вооружение эти варианты на будущее. Да, там самые большие тормоза из за селекции каждого фейса, я просто не нарыл возможность получить количество вертексов с фейса не выделяя его, да и %s [*] подобными вещами не умею пользоваться. Пока не знаю что они даже значат и как их применять, надо найти инфу и внимательно почитать ) Этот то скрипт сам по себе мне особо не нужен, но важна сама суть. Поскольку придется с подобным много раз столкнуться.
там опечатка у меня, не 'f['%s']'%Face, а 'f[%s]'%Face. Это короче, чем 'f['+str(Face)+ ']', %s - это стринг, %d - число, %i - целое и тд. Тут лучше взять %i так как в цикле и это будет быстрее всего, мизерно быстрее))
Вообще, ещё правильней вместо lis+ '.' + 'f['+str(Face)+ ']' написать '%s.f[%i]'%(lis,Face) но по-моему так хуже читается, чем lis+ '.f[%i]'%Face
Потом, совсем не оптимально мне было писать:
Код:
cmds.select( '%s.f[*]'%Poly, add=True )
for F in cmds.filterExpand(sm=34):
Код:
numFaces = cmds.getAttr('%s.face'%Poly, size=True)
for iF in xrange(numFaces):
F = Poly + '.f[%i]'%iF
VtxCo = cmds.listAttr(F,st=['*pnts*'])
if len(VtxCo) != 4: Filtface.append(F)
for F in cmds.filterExpand(sm=34):
даёт возможность селектировать фейсы выборочно, вместо всего объекта