ObjectEnumeratorSettings
Settings used for getting an enumerator of objects in a document. See
FindByFilter(ObjectEnumeratorSettings)
,GetObjectsByType.T.(ObjectEnumeratorSettings)
, and GetEnumerator(ObjectEnumeratorSettings).Inheritance Hierarchy
System.Object
Rhino.DocObjects.ObjectEnumeratorSettings
Namespace: Rhino.DocObjects
Assembly: RhinoCommon (in RhinoCommon.dll)
Syntax
public class ObjectEnumeratorSettings
The ObjectEnumeratorSettings type exposes the following members.
Constructors
Name
Description
Public Method
Code Example
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.
Properties
Name
Description
Public Property
ActiveObjects
When true, objects that are part of current model and saved in file are returned.
Public Property
ClassTypeFilter
Public Property
DeletedObjects
When true, deleted objects are returned.
Public Property
HiddenObjects
When true, hidden objects or objects on hidden layers are returned.
Public Property
IdefObjects
When true, objects in instance definitions (not the instance references) are returned.
Public Property
Code Example
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.
Public Property
Code Example
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.
Public Property
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.
Public Property
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.
Public Property
LockedObjects
When true, locked objects or objects on locked layers are returned.
Public Property
Code Example
NameFilter
The name filter property can be used to limit the iteration to objects with a specific name.
Public Property
NormalObjects
When true, normal objects (e.g. not locked and not hidden) are returned.
Public Property
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.
Public Property
ReferenceObjects
When true, objects that are for reference and not saved in file are returned.
Public Property
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.
Public Property
SubObjectSelected
If true then objects which only have a sub object selected will be included. This is false by default.
Public Property
ViewportFilter
The viewport filter property can be used to limit the iteration to objects that are active in a specific viewport.
Public Property
VisibleFilter
The default object enumerator settings ignore the visibility state of objects. If you want the iterator to limit itself to visible objects, then set this property to true.
Methods
Name
Description
Public Method
Equals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Protected Method
Finalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object.)
Public Method
GetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public Method
GetType
Gets the Type of the current instance.
(Inherited from Object.)
Protected Method
MemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public Method
ToString
Returns a string that represents the current object.
(Inherited from Object.)
Examples
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; } }}
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()