Hi,
Is there a .NET Rhino plugin example how to select Rhino blocks and iterate geometry objects inside of a block?
Hi,
Is there a .NET Rhino plugin example how to select Rhino blocks and iterate geometry objects inside of a block?
Iteration of InstanceDefinition
Select block instance, iterate
There are a couple more when you look at the search results here
Thank you very much.
Can these examples be used in command line c# plugins?
They seem to be much more simple than before.
These examples show the basics, but you should be able to write commands in C# plug-ins that tap into block definitions and their instances.
Thanks. One more question.
How do you cast Rhino object rhino_objects[i] to geometry types e.g. curves here
var rhino_objects = idef.GetObjects();
for (int i = 0; i < rhino_objects.Length; i++)
Rhino.RhinoApp.WriteLine(“Object {0} = {1}”, i, rhino_objects[i].Id);
You can use the RhinoObject.ObjectType Property to find out what ObjectType Enumeration an object is, then cast to one of the inheriting classes.
Addendum:
I suppose you can also use the is
keyword in if
checks:
RhinoObject ob = GetSomeUndeterminedObject();
if(ob is MeshObject meshOb) { /* play with meshOb */ }
else if(ob is CurveObject curveOb) { /* play with curveOb */ }
/* etc. */
Works perfectly. Thank you