RhinoCommon API
ObjectEnumeratorSettings Constructor |
Constructs object enumerator settings that will iterate the document looking for
normal object and locked object that are active, or part of current model and saved in file.
Namespace: Rhino.DocObjects
Assembly: RhinoCommon (in RhinoCommon.dll)
Since: 5.0


using System; partial class Examples { public static Rhino.Commands.Result FindObjectsByName(Rhino.RhinoDoc doc) { const string name = "abc"; Rhino.DocObjects.ObjectEnumeratorSettings settings = new Rhino.DocObjects.ObjectEnumeratorSettings(); settings.NameFilter = name; System.Collections.Generic.List<Guid> ids = new System.Collections.Generic.List<Guid>(); foreach (Rhino.DocObjects.RhinoObject rhObj in doc.Objects.GetObjectList(settings)) ids.Add(rhObj.Id); if (ids.Count == 0) { Rhino.RhinoApp.WriteLine("No objects with the name " + name); return Rhino.Commands.Result.Failure; } Rhino.RhinoApp.WriteLine("Found {0} objects", ids.Count); foreach (Guid id in ids) Rhino.RhinoApp.WriteLine(" {0}", id); return Rhino.Commands.Result.Success; } }
Partial Class Examples Public Shared Function FindObjectsByName(ByVal doc As Rhino.RhinoDoc) As Rhino.Commands.Result Const name As String = "abc" Dim settings As New Rhino.DocObjects.ObjectEnumeratorSettings() settings.NameFilter = name Dim ids As New System.Collections.Generic.List(Of Guid)() For Each rhObj As Rhino.DocObjects.RhinoObject In doc.Objects.GetObjectList(settings) ids.Add(rhObj.Id) Next If ids.Count = 0 Then Rhino.RhinoApp.WriteLine("No objects with the name " & name) Return Rhino.Commands.Result.Failure Else Rhino.RhinoApp.WriteLine("Found {0} objects", ids.Count) For i As Integer = 0 To ids.Count - 1 Rhino.RhinoApp.WriteLine(" {0}", ids(i)) Next End If Return Rhino.Commands.Result.Success End Function End Class
Python
import Rhino import scriptcontext import System.Guid def FindObjectsByName(): name = "abc" settings = Rhino.DocObjects.ObjectEnumeratorSettings() settings.NameFilter = name ids = [rhobj.Id for rhobj in scriptcontext.doc.Objects.GetObjectList(settings)] if not ids: print "No objects with the name", name return Rhino.Commands.Result.Failure else: print "Found", len(ids), "objects" for id in ids: print " ", id return Rhino.Commands.Result.Success if __name__ == "__main__": FindObjectsByName()
