When using the Rhino.Input.Custom.GetObject class, is there a way to set the filter to PolyCurve? I don’t see it in Rhino.DocObjects.ObjectType.
Hi @Mike24,
Use a custom geometry filter function.
import Rhino
import scriptcontext as sc
def __polycurve_filter(rhObject, geometry, componentIndex):
return isinstance(geometry, Rhino.Geometry.PolyCurve)
def test_get_polycurve():
go = Rhino.Input.Custom.GetObject()
go.SetCommandPrompt("Select polycurve")
go.SetCustomGeometryFilter(__polycurve_filter)
go.Get()
if go.CommandResult() != Rhino.Commands.Result.Success:
return
crv = go.Object(0).Curve()
if not crv:
return;
print("PolyCurve domain: {0}".format(crv.Domain))
for i in range(0, crv.SegmentCount):
seg = crv.SegmentCurve(i)
if seg:
print(" Segment {0} domain: {1}".format(i, seg.Domain))
if __name__ == "__main__":
test_get_polycurve()
– Dale
@dale - Perfect. Thanks!