A simple script developed during the Rib maker script, this Rhinoscript interface allows the user to select a set of curves then input a sequential set of curve parameters between 0 and 1. The curve set is then broken according to the sequential parameters.
Rhino Script
Option Explicit 'Script written by <David Mans> 'Script copyrighted by <Neoarchaic Studio> 'Script version Monday, April 27, 2009 9:56:55 PM Call Main() Sub Main() Dim strCurve: strCurve = Rhino.GetObject("Select Curve", 4) If isnull(strCurve) Then Exit Sub reparameterize(strCurve) Call removeSegment(strCurve, array(array(0.1, 0.2), array(0.4, 0.5))) End Sub Function removeSegment(strCurve, arrParams) removeSegment = Null Dim arrVal() Dim i, curve, crv, keep i = 0 keep = strCurve Do Until i = uBound(arrParams) + 1 curve = Rhino.SplitCurve(keep, arrParams(i)(0), True) crv = Rhino.SplitCurve(curve(1), arrParams(i)(1), True) Call Rhino.DeleteObject(crv(0)) keep = crv(1) ReDim Preserve arrVal(i) arrVal(i) = keep i = i + 1 Loop For i = 0 To ubound(arrVal) Step 1 Call Rhino.ObjectColor(arrVal(i), RGB(255, 0, 0)) Next removeSegment = arrVal End Function Function reparameterize(strCurveID) If Rhino.IsCurve(strCurveID) = True Then Call rhino.SelectObject(strCurveID) Call rhino.Command("reparameterize 0 1") Call rhino.UnselectAllObjects() End If If Rhino.IsSurface(strCurveID) = True Then Call rhino.SelectObject(strCurveID) Call rhino.Command("reparameterize 0 1 0 1") Call rhino.UnselectAllObjects() End If End Function