SimplifyCrv is what I was looking for!! Thanks, Pascal! I’ll just implement that method in my script instead of fixing the surfaces, so I don’t even have to spend any extra time.
Although, it works for the most part, sometimes it still leaves 1 knot where it’s supposed to remove it. See attached. Asterisk Surfaces.3dm (39.6 KB)
That happens when the start/end of the curve is there rather than on a corner point- these do not get simplified out, though it seems like maybe that would not be too hard.
I made it work by “cycling” the curve with explode+join commands. This all can be marked as solved.
Sub SurfaceREbuilder()
Dim Surface, Surfaces, CLayer, check
CLayer = Rhino.CurrentLayer
Surfaces = Rhino.GetObjects("Pick surfaces to rebuild", 8,, True)
If IsEmpty(Surfaces) Or IsNull(Surfaces) Then Exit Sub
Rhino.EnableRedraw False
For Each Surface In Surfaces
check = 0
Rhino.CurrentLayer Rhino.ObjectLayer(Surface)
Do While check = 0
Call Cycler(Surface, check)
Loop
Next
Rhino.CurrentLayer CLayer
Rhino.EnableRedraw True