Skip to content

Instantly share code, notes, and snippets.

@SEVEZ
Last active November 28, 2017 17:42
Show Gist options
  • Save SEVEZ/7241f40c4be1c344bbbb to your computer and use it in GitHub Desktop.
Save SEVEZ/7241f40c4be1c344bbbb to your computer and use it in GitHub Desktop.
Custom edgeloop selection #WIP
from pymel.all import *
def selectEdgeLoop():
edge = ls( sl=1, fl=1 )[0]
shp = PyNode( ls( hl=1 )[0] ).getShape()
vertices = edge.connectedVertices()
newEdges = []
newEdges.append( edge )
for vertex in vertices:
currVertex = vertex
currEdge = edge
while 1:
edgesUnneed = []
for f in currEdge.connectedFaces(): edgesUnneed.extend( f.getEdges() )
edgesUnneed = [ shp.e[ e ] for e in edgesUnneed ]
targetEdges = [ e for e in currVertex.connectedEdges() if e not in edgesUnneed ]
targetEdges = [ e for e in targetEdges if e not in newEdges ]
if len( targetEdges ) != 1: break
newEdges.append( targetEdges[0] )
currEdge = targetEdges[0]
currVertex = [ v for v in targetEdges[0].connectedVertices() if v != currVertex ][0]
select( newEdges, r=1 )
import time
start = time.time()
selectEdgeLoop()
print ( time.time() - start )
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment