July 11, 2008
RhinoScript | Redraw Curve
* 커브 그리기 할때, 폐곡선을 그리려고 했는데 실수로 명령을 끝내버리는 실수를 종종하게 된다. 이러한 경우, 커브의 EndPoint를 옮겨 폐곡선을 만들거나 CloseCrv을 사용하게 되면 Periodic 커브가 아닌 폐곡선이 만들어진다.
* 커브 그리기 할때, 필요한 CP 갯수보다 적은 수로 커브를 만들어 InsertKnot, InsertControlPoint를 이용하여 포인트를 추가하게 된다. 그러나 이 경우 원하는 위치에 CP가 놓이지 않게 되거나 MakeUniform 명령을 추가로 사용해야 하는 경우가 있다.
아래는 위 두가지 경우에 사용할수 있는 간단한 라이노 스크립트이다. 사용법은 위 동영상에서 볼 수 있 듯이 -Runscript ( )를 이용하여 아이콘을 만들면 편리하다.
Option Explicit
Sub CurveRedraw()
Dim strObject,dblDegree,arrPoints,strCmd,arrPoint,i
strObject= Rhino.GetObject ("Select curve to redraw",4)
If IsNull (strObject) Then Exit Sub
If Rhino.IsCurveClosed(strObject) Then
Rhino.Print "The object is a closed curve."
Exit Sub
End If
arrPoints = Rhino.CurvePoints(strObject)
dblDegree = Rhino.CurveDegree(strObject)
Rhino.DeleteObject strObject
Dim strE
strE=" "
If IsArray(arrPoints) Then
For Each arrPoint In arrPoints
If i=UBound(arrPoints) Then strE=""
strCmd=strCmd&"W"&Pt2str(arrPoint)&strE
Next
End If
Rhino.command "Curve Degree="&CStr(dblDegree)&" "&strCmd, False
End Sub
CurveRedraw
labels:
Rhino,
RhinoScript,
tips,
라이노
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment