bcavett
11-01-2006, 01:51 AM
Id like a script that displays open edges all the time when Im modeling. I have come up with a script but its incredibly slow and is not always correct if the object's xform is not reset. How would I get this to run faster? How would I get it to loop through all my objects? Or should I just have it work on only one at a time? I'm also at a loss on how to get it to work if there are modifiers on top. I'd really like to know what direction to go in for making faster. Thanks for any help.
(
fn displayOpenEdges =
(
OpenEdges=polyop.getopenedges $ as array
gw.setTransform(Matrix3 1)
gw.setcolor #line (color 2 228 240)
for i in 1 to OpenEdges.count do
(
PolyLinePos=#() -- clear array for every vertex pair
EdgeVerts=polyop.getvertsusingedge $ OpenEdges[i] as array
for v in 1 to EdgeVerts.count do
(
VertPos = (polyop.getvert $.baseobject EdgeVerts[v]) * $.transform
append PolyLinePos VertPos
print vertpos
)
gw.polyline PolyLinePos false -- make each set of verts it's own polyline
)
gw.enlargeUpdateRect #whole
gw.updateScreen()
)
registerRedrawViewsCallback displayOpenEdges
)
(
fn displayOpenEdges =
(
OpenEdges=polyop.getopenedges $ as array
gw.setTransform(Matrix3 1)
gw.setcolor #line (color 2 228 240)
for i in 1 to OpenEdges.count do
(
PolyLinePos=#() -- clear array for every vertex pair
EdgeVerts=polyop.getvertsusingedge $ OpenEdges[i] as array
for v in 1 to EdgeVerts.count do
(
VertPos = (polyop.getvert $.baseobject EdgeVerts[v]) * $.transform
append PolyLinePos VertPos
print vertpos
)
gw.polyline PolyLinePos false -- make each set of verts it's own polyline
)
gw.enlargeUpdateRect #whole
gw.updateScreen()
)
registerRedrawViewsCallback displayOpenEdges
)
