ObjectAttributesLayerIndex Property |
Layer definitions in an OpenNURBS model are stored in a layer table. The layer table is conceptually an array of ON_Layer classes. Every OpenNURBS object in a model is on some layer. The object's layer is specified by zero based indices into the ON_Layer array.
Namespace: Rhino.DocObjects
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()