R&D Data/Code · 2025. 9. 7.

종이모형 설명서 제작용 심볼 왼쪽 추가 생성 라이노 스크립트

Add Symbol to Left

!-_RunScript (
Option Explicit

Call Main()
Sub Main()

	Dim TextObject, Text, Allowance
	Dim shift01, shift02, Length01
	
	Allowance = Rhino.GetString("Add symbol:","*")
	
	Do
		TextObject = Rhino.GetObject("Select a number:")
		If Not isNull (TextObject) Then
			If Rhino.isText (TextObject) Then
				Text = Rhino.TextObjectText (TextObject)
				Length01 = Len(Text)
'				Text = Text & Allowance
				Text = Allowance & Text '좌측에 위치시킬때
				Rhino.TextObjectText TextObject, Text
				If Length01<Len(Text) Then
					shift01 = Array (0,0,0)
					shift02 = Array (-((Rhino.TextObjectHeight(TextObject)*0.25 * (Len(Text)-Length01))),0,0)
					Rhino.MoveObject TextObject, shift01, shift02
				End If
				Else
					Rhino.Print "The selected object is text"
				End If
			End If
		Rhino.Print "Finished users"
	Loop Until isNull (TextObject)
End Sub
)

 

 

Remove Left Symbol

!-_RunScript (
Option Explicit

Call Main()
Sub Main()
	Dim TextObject
	Dim Help01, Help02, TextObj
	Dim Length, left01, right01, e, Operator01, Firstposition
	
	Do
	TextObj = Rhino.GetObject("Choose number:")
	
	If Not isNull (TextObj) Then
		If Rhino.isText(TextObj) Then
			TextObject = Rhino.TextObjectText(TextObj)
			right01 = TextObject
			If Not isNumeric (right01) Then
				Length = Len(right01)
				For e = 1 To Length
					Operator01 = right (TextObject, e)
					If Not isNumeric (Operator01) Then
						e = Length
						right01 = right(TextObject, Firstposition)
						Rhino.TextObjectText TextObj, right01
						If Len(TextObject)>Len(right01) Then
							Help01 = Array (0,0,0)
							Help02 = Array ((Rhino.TextObjectHeight(TextObj)*-0.4 * (Len(TextObject)-Len(right01))),0,0)
							Rhino.MoveObject TextObj,Help01,Help02
						End If
					Else
						Firstposition = e
					End If


					Next

			End If
		Else
			Rhino.Print "The object is not text"
		End If
	Else
		Rhino.Print "Completed by"
		
	End If
	Loop Until isNull (TextObj)

End Sub
)