Restriction of ObjectType in RhinoCommon


I can see in the source file that ON::object_type (C ++) and Rhino.DocObjects.ObjectType (.Net) is just a direct integer conversion.

so I set the ON::object_type.brepvertex_filter value to GetObject.GeometryFilter:

var go = new GetObject ();
go.SetCommandPrompt ("Select");
go.GeometryFilter = (ObjectType) 0x100000;
go.GetMultiple (0, 0);

And this works !

If GetObject.GeometryFilter is just a wrapper around the c function, why Rhino.DocObjects.ObjectType can not set a BrepVextex ?

And I have another question.
In .Net, I can not select extrusion vertices with GetObject.
How can we do that?

Thank you

With go.GeometryFilter = (ObjectType) 0x100000, i can not select the extrusion corners.
With go.GeometryFilter = (ObjectType) 0x100000 | ObjectType.EdgeFilter I have juste borders extrusion.

But with go.GeometryFilter = (ObjectType) 0x100000 | ObjectType.Curve I have borders ans corners:

(that does not seem normal to me?)

Hi @kitjmv,

I’m assuming the question is why there is no ObjectType.BrepVertex enumeration? The reason is that ON::object_type::brepvertex_filter is not an object type but rather a selection filter. I do agree, however, there should be a way to specify this value.

Extrusions do not have vertices.

– Dale

Thank you Dale for considering adding this possibility.

Ok, but i do not understand why with GetObject.GeometryFilter = (ObjectType) 0x100000 | ObjectType.Curve i can select the corners of extrusion ?

Hi @kitjmv,

Rhino object picker “can” treat extrusions like Breps, since extrusions can be represented as Breps.

– Dale