Firstly, I am still a beginner in C# and still trying to understand how it works.
So, what I am trying to do is to make a script that automatically selects all objects in a specific layer.
private void RunScript(int inLayer, ref object A, ref object B)
{
//select specific layer in rhino doc
Rhino.RhinoDoc doc = Rhino.RhinoDoc.ActiveDoc;
var selLayer = doc.Layers.FindIndex(inLayer);
//get objects in layer
Rhino.DocObjects.RhinoObject[] objs = doc.Objects.FindByLayer(selLayer);
A = selLayer;
B = objs;
}
However, instead of selecting the objects, it just selects the object’s properties ( I guess).
var ghobjs = new List<object>();
var selectedLayer = RhinoDoc.ActiveDoc.Layers.FindName(layerName);
var layers = new List<Rhino.DocObjects.Layer>(){selectedLayer};
if(subLayer)
{
foreach(var layer in RhinoDoc.ActiveDoc.Layers)
if(layer.IsChildOf(selectedLayer))
layers.Add(layer);
}
B = layers;
foreach(var layer in layers)
{
var rhobjs = doc.Objects.FindByLayer(layer);
foreach (var rhObj in rhobjs)
ghobjs.Add(rhObj.Geometry);
}
A = ghobjs;