2017-10-28 4 views
2

Ich bin ein echtes Python-Noob (seit ungefähr einer Woche mit ihm), aber ich genieße es wirklich, einige meiner Maya-Tools zu optimieren. Ich bin momentan ein wenig fest auf dem folgenden; Ich versuche PolySplitRing mit Einfügen mit Edge Flow zu erhalten, um eine Auswahl von mehreren Kanten zu bearbeiten. Ich kann es an einer Kante arbeiten, aber ich kann es nicht an mehreren Kanten arbeiten. Ich versuche eine Liste zu verwenden, aber ich brauche etwas, das besser ist als das. Habe versucht, nach dem gleichen Problem zu suchen, habe aber nichts gefunden (auch nicht sicher, wonach genau gesucht werden soll). Wenn es ein Dokument gibt, um so etwas einzurichten, bitte Link!Python: PolySplitRing Einfügen mit Edge-Flow an mehreren Kanten

Hier ist, was auf einem einzelnen Kantenauswahl funktioniert gut:
einzelne Rand Auswahl:

import maya.cmds as cmds 
import maya.mel as mm 

mm.eval("polySelectSp -ring;") 
cmds.polySplitRing(ief=True, cch=1) 

Hier ist, was bei für mehr Edge-Lösung arbeite ich

import maya.cmds as cmds 
import maya.mel as mm 

sel=cmds.ls(sl=1) 
edgeCount = cmds.polyEvaluate(ec=True) 
print edgeCount 
edgeList = [edgeCount] 
print edgeList 

for each in edgeList: 
    mm.eval("polySelectSp -ring;") 
    cmds.polySplitRing(ief=True, cch=1) 


mm.eval("polySelectSp -ring;") 
cmds.polySplitRing(ief=True, cch=1) 

polySplitEdgeRing Insert with Edge Flow working on a single edge

desired end result after selecting multiple edges

Prost!

Antwort

1

Zuerst müssen Sie nicht besonders Mel-Modul verwenden, können Sie die gleichen Operationen in Python (besser).

Dann erstellen Sie einfach eine Liste der ausgewählten Kanten und wenden Sie Ihre Aufteilung auf jeden.

import maya.cmds as cmds 

selEdges = cmds.ls(selection = True) 

for edge in selEdges: 
    # Find edge Id 
    edgeId = int(edge.split('[')[-1][:-1]) # Should be better with a regex, I know... 
    # Apply split on this particular edge thanks to edge Id 
    cmds.polySelect(edgeRing = edgeId) 
    cmds.polySplitRing(ief = True) 
Verwandte Themen