@raduh82 wrote:
Hi, the issue is like this I have a function that has as input a ObjRef array an inside this function I would like to update the selection by removing or adding other objects to the array, my function is working fine with Curves but if I will create some objects using extrude and I will use those there will be a strange behavior, First thing is that my pre selected objects can only be deselected only after I first select them again, even if those are already highlighted as selected, can not use multiple selection to deselect also. And another strange thing is that if I will select an object(ex: a cube) by a face and I will try to deselect it by clicking on another face it will not work, I need to deselect using same selection face. I will also pot my function code below so, from what I read there are some issues with extruded objects but can anybody suggest a workaround to solve this. Thanks.
public void SelecRhinoObjects(ref Rhino.DocObjects.ObjRef[] objRefs) { Objects.UnselectAll(); if (objRefs != null) { Objects.Select(objRefs); RhinoDoc.Views.Redraw(); } GetObject go = new GetObject(); go.SetCommandPrompt("Select objects"); go.GeometryFilter = ObjectType.AnyObject; go.GroupSelect = true; go.SubObjectSelect = false; go.EnableClearObjectsOnEntry(false); go.EnableUnselectObjectsOnExit(false); go.DeselectAllBeforePostSelect = false; bool bHavePreselectedObjects = false; for (;;) { Rhino.Input.GetResult res = go.GetMultiple(1, 0); if (go.ObjectsWerePreselected) { bHavePreselectedObjects = true; go.EnablePreSelect(false, true); go.AlreadySelectedObjectSelect = true; continue; } break; } if (bHavePreselectedObjects) { for (int i = 0; i < go.ObjectCount; i++) { Rhino.DocObjects.RhinoObject rhinoObject = go.Object(i).Object(); if (null != rhinoObject) rhinoObject.Select(false); } Util.Redraw(); } if (go.Objects() != null && go.Objects().Any()) objRefs = go.Objects(); else objRefs = null; }
Posts: 1
Participants: 1