RhinoCommon API
ObjectEnumeratorSettings Class |
Settings used for getting an enumerator of objects in a document.
See FindByFilter(ObjectEnumeratorSettings),
GetObjectsByTypeT(ObjectEnumeratorSettings),
and GetEnumerator(ObjectEnumeratorSettings).

Namespace: Rhino.DocObjects
Assembly: RhinoCommon (in RhinoCommon.dll)

The ObjectEnumeratorSettings type exposes the following members.

Name | Description | |
---|---|---|
![]() ![]() | ObjectEnumeratorSettings |
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.
|

Name | Description | |
---|---|---|
![]() | ActiveObjects |
When true, objects that are part of current model and saved in file are returned.
|
![]() | ClassTypeFilter | |
![]() | DeletedObjects |
When true, deleted objects are returned.
|
![]() | HiddenObjects |
When true, hidden objects or objects on hidden layers are returned.
|
![]() | IdefObjects |
When true, objects in instance definitions (not the instance references) are returned.
|
![]() ![]() | IncludeGrips |
The default object enumerator settings will not iterate through grip objects.
If you want the iterator to include grips, then set this property to true.
|
![]() ![]() | IncludeLights |
The default object enumerator settings will not iterate through render light objects.
If you want the iterator to include lights, then set this property to true.
|
![]() | IncludePhantoms |
The default object enumerator settings will not iterate through phantom objects.
If you want the iterator to include phantom objects, then set this property to true.
|
![]() | LayerIndexFilter |
The layer filter property can be used to limit the iteration to objects on a specific layer.
The default is to iterate through all layers.
|
![]() | LockedObjects |
When true, locked objects or objects on locked layers are returned.
|
![]() ![]() | NameFilter |
The name filter property can be used to limit the iteration to objects with a specific name.
|
![]() | NormalObjects |
When true, normal objects (e.g. not locked and not hidden) are returned.
|
![]() | ObjectTypeFilter |
The object type filter property can be used to limit the iteration to specific types of geometry.
The default is to iterate all objects types.
|
![]() | ReferenceObjects |
When true, objects that are for reference and not saved in file are returned.
|
![]() | SelectedObjectsFilter |
The default object enumerator settings ignore the selected state of objects.
If you want the iterator to limit itself to selected objects, then set this property to true.
|
![]() | SubObjectSelected |
If true then objects which only have a sub object selected
will be included. This is false by default.
|
![]() | ViewportFilter |
The viewport filter property can be used to limit the iteration to objects that are active in a specific viewport.
|
![]() | VisibleFilter |
The default object enumerator settings ignore the visiblity state of objects.
If you want the iterator to limit itself to visible objects, then set this property to true.
|

Name | Description | |
---|---|---|
![]() | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.) |
![]() | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.) |
![]() | GetHashCode | Serves as the default hash function. (Inherited from Object.) |
![]() | GetType | Gets the Type of the current instance. (Inherited from Object.) |
![]() | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) |
![]() | ToString | Returns a string that represents the current object. (Inherited from Object.) |

using Rhino; using Rhino.Commands; using Rhino.DocObjects; namespace examples_cs { public class MoveSelectedObjectsToCurrentLayerCommand : Command { public override string EnglishName { get { return "csMoveSelectedObjectsToCurrentLayer"; } } protected override Result RunCommand(RhinoDoc doc, RunMode mode) { // all non-light objects that are selected var object_enumerator_settings = new ObjectEnumeratorSettings(); object_enumerator_settings.IncludeLights = false; object_enumerator_settings.IncludeGrips = true; object_enumerator_settings.NormalObjects = true; object_enumerator_settings.LockedObjects = true; object_enumerator_settings.HiddenObjects = true; object_enumerator_settings.ReferenceObjects = true; object_enumerator_settings.SelectedObjectsFilter = true; var selected_objects = doc.Objects.GetObjectList(object_enumerator_settings); var current_layer_index = doc.Layers.CurrentLayerIndex; foreach (var selected_object in selected_objects) { selected_object.Attributes.LayerIndex = current_layer_index; selected_object.CommitChanges(); } doc.Views.Redraw(); return Result.Success; } } }
Imports Rhino Imports Rhino.Commands Imports Rhino.DocObjects Namespace examples_vb Public Class MoveSelectedObjectsToCurrentLayerCommand Inherits Command Public Overrides ReadOnly Property EnglishName() As String Get Return "vbMoveSelectedObjectsToCurrentLayer" End Get End Property Protected Overrides Function RunCommand(doc As RhinoDoc, mode As RunMode) As Result ' all non-light objects that are selected Dim object_enumerator_settings = New ObjectEnumeratorSettings() object_enumerator_settings.IncludeLights = False object_enumerator_settings.IncludeGrips = True object_enumerator_settings.NormalObjects = True object_enumerator_settings.LockedObjects = True object_enumerator_settings.HiddenObjects = True object_enumerator_settings.ReferenceObjects = True object_enumerator_settings.SelectedObjectsFilter = True Dim selected_objects = doc.Objects.GetObjectList(object_enumerator_settings) Dim current_layer_index = doc.Layers.CurrentLayerIndex For Each selected_object As RhinoObject In selected_objects selected_object.Attributes.LayerIndex = current_layer_index selected_object.CommitChanges() Next doc.Views.Redraw() Return Result.Success End Function End Class End Namespace
Python
from Rhino import * from Rhino.Commands import * from Rhino.DocObjects import * from scriptcontext import doc def RunCommand(): # all non-light objects that are selected object_enumerator_settings = ObjectEnumeratorSettings() object_enumerator_settings.IncludeLights = False object_enumerator_settings.IncludeGrips = True object_enumerator_settings.NormalObjects = True object_enumerator_settings.LockedObjects = True object_enumerator_settings.HiddenObjects = True object_enumerator_settings.ReferenceObjects = True object_enumerator_settings.SelectedObjectsFilter = True selected_objects = doc.Objects.GetObjectList(object_enumerator_settings) current_layer_index = doc.Layers.CurrentLayerIndex for selected_object in selected_objects: selected_object.Attributes.LayerIndex = current_layer_index selected_object.CommitChanges() doc.Views.Redraw() return Result.Success if __name__ == "__main__": RunCommand()
