forked from mcneel/rhino-developer-samples
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathSampleCurveDivideByCount.py
31 lines (29 loc) · 1.26 KB
/
SampleCurveDivideByCount.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
################################################################################
# SampleCurveDivideByCount.py
# Copyright (c) 2017 Robert McNeel & Associates.
# See License.md in the root of this repository for details.
################################################################################
import Rhino
import scriptcontext as sc
import clr
import System
def SampleCurveDivideByCount():
go = Rhino.Input.Custom.GetObject()
go.SetCommandPrompt("Select curve")
go.GeometryFilter = Rhino.DocObjects.ObjectType.Curve
go.Get()
if go.CommandResult() == Rhino.Commands.Result.Success:
curve = go.Object(0).Curve()
if curve:
#parameters = curve.DivideByCount(5, True)
points = clr.StrongBox[System.Array[Rhino.Geometry.Point3d]]()
parameters = curve.DivideByCount(5, True, points)
points = list(points.Value)
for pt in points:
sc.doc.Objects.AddPoint(pt)
sc.doc.Views.Redraw()
# Check to see if this file is being executed as the "main" python
# script instead of being used as a module by some other python script
# This allows us to use the module which ever way we want.
if __name__ == "__main__":
SampleCurveDivideByCount() # Call the function defined above