private void RunScript(ref object A)
{
if(!_init)
{
Rhino.RhinoDoc.SelectObjects -= RhinoDocOnSelectObjects;
Rhino.RhinoDoc.SelectObjects += RhinoDocOnSelectObjects;
Rhino.RhinoDoc.DeselectObjects -= RhinoDocOnSelectObjects;
Rhino.RhinoDoc.DeselectObjects += RhinoDocOnSelectObjects;
Rhino.RhinoDoc.DeselectAllObjects -= RhinoDocOnDeselectAllObjects;
Rhino.RhinoDoc.DeselectAllObjects += RhinoDocOnDeselectAllObjects;
_init = true;
}
A = objs;
}
// <Custom additional code>
private bool _init = false;
List<GeometryBase> objs = new List<GeometryBase>();
private void RhinoDocOnSelectObjects(object sender, RhinoObjectSelectionEventArgs e)
{
foreach(var rhObj in RhinoDoc.ActiveDoc.Objects.GetSelectedObjects(false, false))
objs.Add(rhObj.Geometry);
Component.ExpireSolution(true);
}
private void RhinoDocOnDeselectAllObjects(object sender, RhinoDeselectAllObjectsEventArgs e)
{
objs.Clear();
Component.ExpireSolution(true);
}
SelectedObjects.gh (13.3 KB)