Option Explicit 'Script written by willemderks.com 'Script version Thursday, October 23, 2014 22:48:48 Call NumberSequential() Sub NumberSequential() Dim TextHeight: TextHeight = 2 Dim FontName : FontName = "Times New Roman" Dim Explode : Explode = True Dim arrObj : arrObj = Rhino.GetObjects("Select objects to number", 4,, True) If isNull(arrObj) Then Exit Sub Call Rhino.EnableRedraw(False) Dim i, ptCentroid, string Dim arrTextID() ReDim arrTextID(Ubound(arrObj)) For i=0 To Ubound(arrObj) If i Mod 100 = 0 Then Call Rhino.Prompt("setting number :" & Cstr( i + 1)) 'convert sequence number into string (+1 as counting in an array starts with 0) string = Cstr(i + 1) 'format seperation mark for values above 1000 If len(string) > 3 Then string = (left(string, len(string) - 3) & "," & right(string, 3)) End If ' get area centroid of curve ptCentroid = Rhino.CurveAreaCentroid(arrObj(i))(0) 'Rhino.print string arrTextID(i) = Rhino.AddText(string, ptCentroid, TextHeight, FontName, 0, 4) Next If Explode Then Call Rhino.UnselectAllObjects() Call Rhino.SelectObjects(arrTextID) Call Rhino.Command("_Explode ", False) End If Call Rhino.EnableRedraw(True) End Sub