There might already be one, anyway I've cobbled up a quick maxscript (won't work as expected if there are any shared verts, obviously):
struct edgeVec
(
obj, pts, pos, vec,
fn setEdge len =
(
polyOp.setVert obj pts[1] (pos - len * vec)
polyOp.setVert obj pts[2] (pos + len * vec)
)
)
fn averageEdgeLengths obj =
(
local edges = polyOp.getEdgeSelection obj
local verts = polyOp.getVertsUsingEdge obj edges
local totalLength = 0
local edgeVecs = for e in edges collect
(
local verts = polyOp.getEdgeVerts obj e
local v1 = polyOp.getVert obj verts[1]
local v2 = polyOp.getVert obj verts[2]
local vec = v2 - v1
totalLength += length vec
edgeVec obj:obj pts:verts pos:(v1 + vec/2) vec:(normalize vec)
)
local len = totalLength / edges.numberSet / 2
for e in edgeVecs do e.setEdge len
)
if isKindOf selection[1] Editable_Poly do
averageEdgeLengths selection[1]
Replies
I have made Set Edge Length a whyle ago - watch[ame="http://www.youtube.com/watch?v=d9aSsBe6PV4"] this video[/ame].
I have to update it when I have spare time.
Swordslayer:
The 3dsMax and Maya Script work like a charme.
Miauu:
I take a look to your scripts pack, the ability to setup a lenght greatly interested me.
To me the perfect stitching and strap from my retopo !