!-_RunScript (
Option Explicit
Call Numbering02
Sub Numbering02
Dim Number
Dim Fontsize, Text
Dim arrBod01, arrBod02, arrBod03
Dim arrTextassociate
Dim Line01, Line02
Dim UnderlineLength
Dim Operator, Letter, Character
Dim arrLeaderPoints(1)
Operator = 0
Letter = Rhino.GetString("Begin with a:", "A")
Number = Rhino.GetReal("Select a number:",1)
Fontsize = Rhino.GetReal("Font Size:",2)
If Not Rhino.isLayer("Numbers::Parts_Num") Then
Rhino.AddLayer "Numbers::Parts_Num"
End If
If Not Rhino.isLayer("Numbers::Num_Lines") Then
Rhino.AddLayer "Numbers::Num_Lines"
End If
If Not Rhino.isLayer("Numbers::Leader_Lines") Then
Rhino.AddLayer "Numbers::Leader_Lines"
End If
Do
UnderlineLength = Fontsize*0.8
UnderlineLength = UnderlineLength * Len(Number&Letter)
arrBod01 = Rhino.GetPoint("Select the top line:")
If Not IsNull (arrBod01) Then
arrBod02 = Rhino.GetPoint("Select the end of the line:", arrBod01 )
If Not IsNull (arrBod02) Then
If arrBod02(0)>arrBod01(0)Then
' Line01 = Rhino.AddLine(arrBod01,arrBod02)
arrBod03 = Array(arrBod02(0)+UnderlineLength,arrBod02(1),arrBod02(2))
Line02 = Rhino.AddLine(arrBod02,arrBod03)
' Rhino.CurveArrows Line01, 1
arrTextassociate = Array(arrBod02(0),arrBod02(1)+0.5,arrBod02(2))
Text = Rhino.AddText (Letter&Number, arrTextassociate, Fontsize)
Rhino.TextObjectFont Text, "Arial"
Rhino.TextObjectStyle Text,0
Number = Number + 1
Else
' Line01 = Rhino.AddLine(arrBod01,arrBod02)
arrBod03 = Array(arrBod02(0)-UnderlineLength,arrBod02(1),arrBod02(2))
Line02 = Rhino.AddLine(arrBod02,arrBod03)
' Rhino.CurveArrows Line01, 1
arrTextassociate = Array(arrBod02(0)-UnderlineLength,arrBod02(1)+0.5,arrBod02(2))
Text = Rhino.AddText (Letter&Number, arrTextassociate, Fontsize)
Rhino.TextObjectFont Text, "Arial"
Rhino.TextObjectStyle Text,0
Number = Number + 1
End If
' Rhino.ObjectLayer Line01, "Numbers::Leader_Lines"
Rhino.ObjectLayer Line02, "Numbers::Num_Lines"
Rhino.ObjectLayer Text, "Numbers::Parts_Num"
Else
Operator = 1
End If
'화살표 그리기
arrLeaderPoints(0) = arrBod01
arrLeaderPoints(1) = arrBod02
Rhino.AddLeader arrLeaderPoints
Else
Operator = 1
End If
Loop Until Operator=1
Rhino.Command "SelNone"
Rhino.Command "SelLeader"
Rhino.Command "-ChangeLayer pause Numbers::Leader_Lines"
Rhino.Command "SelNone"
Rhino.Print("Finished users")
End Sub
)
Arrow
!-_RunScript (
Option Explicit
Call Numbering02
Sub Numbering02
Dim Number
Dim Fontsize, Text
Dim arrBod01, arrBod02, arrBod03
Dim arrTextassociate
Dim Line01, Line02
Dim UnderlineLength
Dim Operator, Letter, Character
Dim arrLeaderPoints(1)
Operator = 0
Letter = Rhino.GetString("Begin with a:", "A")
Number = Rhino.GetReal("Select a number:",1)
Fontsize = Rhino.GetReal("Font Size:",2)
If Not Rhino.isLayer("Numbers::Parts_Num") Then
Rhino.AddLayer "Numbers::Parts_Num"
End If
If Not Rhino.isLayer("Numbers::Num_Lines") Then
Rhino.AddLayer "Numbers::Num_Lines"
End If
If Not Rhino.isLayer("Numbers::Leader_Lines") Then
Rhino.AddLayer "Numbers::Leader_Lines"
End If
Do
UnderlineLength = Fontsize*0.8
UnderlineLength = UnderlineLength * Len(Number&Letter)
arrBod01 = Rhino.GetPoint("Select the top line:")
If Not IsNull (arrBod01) Then
arrBod02 = Rhino.GetPoint("Select the end of the line:", arrBod01 )
If Not IsNull (arrBod02) Then
If arrBod02(0)>arrBod01(0)Then
Line01 = Rhino.AddLine(arrBod01,arrBod02)
arrBod03 = Array(arrBod02(0)+UnderlineLength,arrBod02(1),arrBod02(2))
Line02 = Rhino.AddLine(arrBod02,arrBod03)
Rhino.CurveArrows Line01, 1
arrTextassociate = Array(arrBod02(0),arrBod02(1)+0.5,arrBod02(2))
Text = Rhino.AddText (Letter&Number, arrTextassociate, Fontsize)
Rhino.TextObjectFont Text, "Arial"
Rhino.TextObjectStyle Text,0
Number = Number + 1
Else
Line01 = Rhino.AddLine(arrBod01,arrBod02)
arrBod03 = Array(arrBod02(0)-UnderlineLength,arrBod02(1),arrBod02(2))
Line02 = Rhino.AddLine(arrBod02,arrBod03)
Rhino.CurveArrows Line01, 1
arrTextassociate = Array(arrBod02(0)-UnderlineLength,arrBod02(1)+0.5,arrBod02(2))
Text = Rhino.AddText (Letter&Number, arrTextassociate, Fontsize)
Rhino.TextObjectFont Text, "Arial"
Rhino.TextObjectStyle Text,0
Number = Number + 1
End If
Rhino.ObjectLayer Line01, "Numbers::Leader_Lines"
Rhino.ObjectLayer Line02, "Numbers::Num_Lines"
Rhino.ObjectLayer Text, "Numbers::Parts_Num"
Else
Operator = 1
End If
'화살표 그리기
arrLeaderPoints(0) = arrBod01
arrLeaderPoints(1) = arrBod02
' Rhino.AddLeader arrLeaderPoints
Else
Operator = 1
End If
Loop Until Operator=1
'Rhino.Command "SelNone"
'Rhino.Command "SelLast"
'Rhino.Command "-ChangeLayer pause Numbers::Num_Lines"
'Rhino.Command "SelNone"
'Rhino.Command "SelText"
'Rhino.Command "-ChangeLayer pause Numbers::Parts_Num"
'Rhino.Command "-SelLayer Numbers::Num_Lines"
'Rhino.Command "Join"
Rhino.Command "SelNone"
Rhino.Print("Finished users")
End Sub
)