*在俯臥的曲線,我試著畫一個封閉的曲線往往是丟棄命令完成錯誤是錯誤的。在這種情況下,通過移動曲線的端點創建閉合曲線或如果使用CloseCrv itjyo一個問題,即曲線不是閉合曲線的週期曲線製成,而不是意圖。 *在劃定曲線,當拉伸在少數的CP曲線做得比必要數量來添加使用InsertKnot,InsertControlPoint分。在這種情況下,然而,可能需要使用一個附加的CP不放置MakeUniform或命令到期望的位置。這裡是可以在上述兩個情況下使用一個簡單的Rhino腳本。當您使用作為-Runscript()圖標可以在視頻中可以看出上面的使用方便。TB haedu附加文件也可以使用污泥裝載文件TB .. |
3점을 입력하면 그 점을 기준으로 하는 평면으로 오브젝트를 잘라주는 스크립트입니다. 점을 입력할때 클릭하는 방향에 따라 생셩되는 평면의 Normal방향이 달라져 잘려나가는 부분이 바뀌게 됩니다. Option Explicit '2008.12.10 'Script by sac3@rhinos.co.kr CutSolid Sub CutSolid () Dim arrObjects, arrPoints, arrVector1, arrVector2, arrBD, strCut arrObjects = Rhino.GetObjects ("Select Solids to Cut",8+16,vbTrue,vbTrue) If IsNull(arrObjects) Then Exit Sub arrPoints = Rhino.GetPoints (True, False , "Pick 3 Points",, 3 ) If IsNull(arrPoints) Then Exit Sub If UBound(arrPoints) <2 Then Exit Sub Rhino.EnableRedraw False arrVector1= Rhino.VectorCreate (arrPoints(0), arrPoints(1) ) arrVector2= Rhino.VectorCreate (arrPoints(0), arrPoints(2) ) strCut = Rhino.AddCutPlane (arrObjects, arrPoints(0), arrPoints(1) , arrVector2) arrBD = Rhino.BooleanDifference (arrObjects, Array(strCut) ) If IsArray(arrBD) Then Rhino.ShrinkTrimmedSurface arrBD(0) Rhino.SelectObjects arrBD Else Rhino.DeleteObject strCut Rhino.Print "Failed to Cut" End If Rhino.EnableRedraw True End Sub 참고로 평면들이 서로 겹친 부분들이 있는 경우 BooleanUnion을 하고나면, 그 부분이 면이 나눠져 있게되는데 그 부분을 하나의 면으로 합쳐주기 위해서는 MergeAllFaces 커맨드를 사용하면 됩니다. 동영상에서는 두 커맨드를 macro를 이용하여 한번에 실행되도록 해둔것입니다. ! _BooleanUnion pause _SetRedrawOff _SelLast _MergeAllFaces _SelNone _SetRedrawOn |
1.19 KB, 下载次数: 208
欢迎光临 Rhino(犀牛)中国技术支持与推广中心 (http://bbs.rhino3d.asia/) | Powered by Discuz! X3.2 |