forked from bartvdbraak/blender
fixed error that mode this script not work in python 2.3
This commit is contained in:
parent
afbe9a7e78
commit
38b6f07251
@ -74,13 +74,8 @@ class edgeLoop:
|
|||||||
# Use next and prev, nextDist, prevDist
|
# Use next and prev, nextDist, prevDist
|
||||||
|
|
||||||
# Get Loops centre.
|
# Get Loops centre.
|
||||||
self.centre = Mathutils.Vector()
|
fac= 1.0/len(loop)
|
||||||
f = 1.0/len(loop)
|
self.centre= reduce(lambda a,b: a+b.co*fac, loop, Mathutils.Vector())
|
||||||
for v in loop:
|
|
||||||
self.centre += v.co * f
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Convert Vert loop to Edges.
|
# Convert Vert loop to Edges.
|
||||||
self.edges = []
|
self.edges = []
|
||||||
@ -226,11 +221,14 @@ def getSelectedEdges(me, ob):
|
|||||||
return i1, i2
|
return i1, i2
|
||||||
|
|
||||||
# value is [edge, face_sel_user_in]
|
# value is [edge, face_sel_user_in]
|
||||||
|
try: # Python 2.4 only
|
||||||
edge_dict= dict((ed_key(ed), [ed, 0]) for ed in me.edges)
|
edge_dict= dict((ed_key(ed), [ed, 0]) for ed in me.edges)
|
||||||
|
except:
|
||||||
|
edge_dict= dict([(ed_key(ed), [ed, 0]) for ed in me.edges])
|
||||||
|
|
||||||
for f in me.faces:
|
for f in me.faces:
|
||||||
if f.sel:
|
if f.sel:
|
||||||
fidx= [v.index for v in f.v]
|
fidx= [v.index for v in f]
|
||||||
for i in xrange(len(fidx)):
|
for i in xrange(len(fidx)):
|
||||||
i1= fidx[i]
|
i1= fidx[i]
|
||||||
i2= fidx[i-1]
|
i2= fidx[i-1]
|
||||||
@ -242,7 +240,6 @@ def getSelectedEdges(me, ob):
|
|||||||
ed_data= edge_dict[i1,i2]
|
ed_data= edge_dict[i1,i2]
|
||||||
ed_data[1]+=1
|
ed_data[1]+=1
|
||||||
|
|
||||||
|
|
||||||
Blender.Mesh.Mode(MESH_MODE)
|
Blender.Mesh.Mode(MESH_MODE)
|
||||||
return [ ed_data[0] for ed_data in edge_dict.itervalues() if ed_data[1] == 1 ]
|
return [ ed_data[0] for ed_data in edge_dict.itervalues() if ed_data[1] == 1 ]
|
||||||
|
|
||||||
@ -396,15 +393,6 @@ def main():
|
|||||||
return
|
return
|
||||||
|
|
||||||
me = ob.getData(mesh=1)
|
me = ob.getData(mesh=1)
|
||||||
'''
|
|
||||||
if not me.edges:
|
|
||||||
Draw.PupMenu('Error, add edge data first')
|
|
||||||
if is_editmode: Window.EditMode(1)
|
|
||||||
return
|
|
||||||
'''
|
|
||||||
|
|
||||||
# BAD BLENDER PYTHON API, NEED TO ENTER EXIT EDIT MODE FOR ADDING EDGE DATA.
|
|
||||||
# ADD EDGE DATA HERE, Python API CANT DO IT YET, LOOSES SELECTION
|
|
||||||
|
|
||||||
selEdges = getSelectedEdges(me, ob)
|
selEdges = getSelectedEdges(me, ob)
|
||||||
vertLoops = getVertLoops(selEdges) # list of lists of edges.
|
vertLoops = getVertLoops(selEdges) # list of lists of edges.
|
||||||
@ -491,9 +479,8 @@ def main():
|
|||||||
|
|
||||||
# REMOVE SELECTED FACES.
|
# REMOVE SELECTED FACES.
|
||||||
faces= [ f for f in me.faces if f.sel ]
|
faces= [ f for f in me.faces if f.sel ]
|
||||||
print faces
|
|
||||||
if faces:
|
if faces:
|
||||||
print faces
|
|
||||||
me.faces.delete(1, faces)
|
me.faces.delete(1, faces)
|
||||||
|
|
||||||
if is_editmode: Window.EditMode(1)
|
if is_editmode: Window.EditMode(1)
|
||||||
|
Loading…
Reference in New Issue
Block a user