Option Explicit
'Script written by Luis Quinones
'www.luisquinonesdesign.com
'www.computationalmatter.com
'Script version Wednesday, May 18, 2011 12:51:12 PM
Call Main()
Sub Main()
Dim strLayer : strLayer = Rhino.AddLayer("Frame",RGB(255,255,255))
Dim strMesh : strMesh = Rhino.GetObject("MESH",32)
Dim i
Dim arrFaces : arrFaces = Rhino.MeshFaces(strMesh)
Dim arrFace(3)
Rhino.EnableRedraw False
Do While i < Ubound(arrFaces)
arrFace(0) = arrFaces(i)
arrFace(1) = arrFaces(i+1)
arrFace(2) = arrFaces(i+2)
arrFace(3) = arrFaces(i+3)
Dim newLine : newLine = Rhino.AddLine(arrFace(0),arrFace(1))
Call Rhino.ObjectLayer(newLine,strLayer)
i = i + 4
Loop
Dim crvs : crvs = Rhino.ObjectsByLayer("Frame",True)
Rhino.Command "Join"
Rhino.UnselectAllObjects
Dim crv
Dim count
count = 0
Dim arrCrvstest : arrCrvstest = Rhino.ObjectsByLayer("Frame")
Dim y
Dim testCrv
Dim count2
count2 = 0
For Each testCrv In arrCrvstest
Dim meshtest : meshtest = Rhino.MeshPolyline(arrCrvstest(count2))
Dim areatest : areatest = Rhino.MeshArea(meshtest)
If areatest(1) = 0 Then
Call Rhino.Print("ONE FAILED")
Call Rhino.DeleteObject(arrCrvstest(count2))
End If
count2 = count2 + 1
Next
Rhino.UnselectAllObjects
Dim arrCrvs : arrCrvs = Rhino.ObjectsByLayer("Frame")
Dim newPts()
For Each crv In arrCrvs
Dim mesh : mesh = Rhino.MeshPolyline(arrCrvs(count))
ReDim Preserve newPts(count)
Dim centroid : centroid = Rhino.MeshAreaCentroid(mesh)
newPts(count) = Rhino.AddPoint(centroid)
count = count + 1
Next
Dim k
Dim ptloc
ptloc = newPts
For k = 0 To Ubound(newPts)
ptloc(k) = Rhino.PointCoordinates(newPts(k))
Next
Call Rhino.AddPolyline(ptloc)
Rhino.EnableRedraw True
End Sub
Update