| McNeel Wiki | |||||
| edit · print · help · all topics | |||||
Main Pages
Languages
| QuestionCan someone tell me how to execute the CutPlane command from RhinoScript? AnswerConsider the following example function:
Function CreateCutPlane(objs, p0, p1)
' Declare local variables
Dim saved, s0, s1, cmd
' Set default return value
CreateCutPlane = Null
' For speed, turn of screen redrawing
Rhino.EnableRedraw False
' Save any selected objects
saved = Rhino.SelectedObjects
' Unselect all objects
Rhino.UnSelectAllObjects
' Select the objects to create the cut plane through
Rhino.SelectObjects objs
' Script the cutplane command
s0 = Rhino.Pt2Str(p0,,True)
s1 = Rhino.Pt2Str(p1,,True)
cmd = "_CutPlane " & s0 & s1 & "_Enter"
Rhino.Command cmd, 0
' Get the object created by CutPlane
CreateCutPlane = Rhino.FirstObject
' Unselect all objects
Rhino.UnSelectAllObjects
' If any objects were selected before calling
' this function, re-select them
If IsArray(saved) Then Rhino.SelectObjects(saved)
' Don't forget to turn redrawing back on
Rhino.EnableRedraw True
End Function
The function above can be test using the following simple subroutine:
Sub TestCutPlane
' Declare local variables
Dim objs, p0, p1, obj
' Pick the objects to cut
objs = Rhino.getobjects("Select objects for cut plane")
If Not IsArray(objs) Then Exit Sub
' Pick start of cut plane
p0 = Rhino.GetPoint("Start of cut plane")
If Not IsArray(p0) Then Exit Sub
' Pick end point of cut plane
p1 = Rhino.GetPoint("End of cut plane", p0)
If Not IsArray(p1) Then Exit Sub
' Call our function
obj = CreateCutPlane(objs, p0, p1)
If Not IsNull(obj) Then
Rhino.Print obj
End If
End Sub
| ||||
| rename · changes · history · subscriptions · lost and found · references · file upload | |||||