RhinoCommon API
LayerTableCurrentLayer Property |
At all times, there is a "current" layer. Unless otherwise specified,
new objects are assigned to the current layer. The current layer is
never locked, hidden, or deleted.
Returns reference to the current layer. Note that this reference may
become invalid after a call to AddLayer().
Namespace: Rhino.DocObjects.Tables
Assembly: RhinoCommon (in RhinoCommon.dll)
Since: 5.0
Property Value
Type: Layerusing Rhino.Commands; partial class Examples { public static Rhino.Commands.Result SelLayer(Rhino.RhinoDoc doc) { // Prompt for a layer name string layername = doc.Layers.CurrentLayer.Name; Result rc = Rhino.Input.RhinoGet.GetString("Name of layer to select objects", true, ref layername); if (rc != Rhino.Commands.Result.Success) return rc; // Get all of the objects on the layer. If layername is bogus, you will // just get an empty list back Rhino.DocObjects.RhinoObject[] rhobjs = doc.Objects.FindByLayer(layername); if (rhobjs == null || rhobjs.Length < 1) return Rhino.Commands.Result.Cancel; for (int i = 0; i < rhobjs.Length; i++) rhobjs[i].Select(true); doc.Views.Redraw(); return Rhino.Commands.Result.Success; } }
Partial Class Examples Public Shared Function SelLayer(ByVal doc As Rhino.RhinoDoc) As Rhino.Commands.Result Dim rc As Rhino.Commands.Result ' Prompt for a layer name Dim layername As String = doc.Layers.CurrentLayer.Name rc = Rhino.Input.RhinoGet.GetString("Name of layer to select objects", True, layername) If rc <> Rhino.Commands.Result.Success Then Return rc ' Get all of the objects on the layer. If layername is bogus, you will ' just get an empty list back Dim rhobjs As Rhino.DocObjects.RhinoObject() = doc.Objects.FindByLayer(layername) If rhobjs Is Nothing OrElse rhobjs.Length < 1 Then Return Rhino.Commands.Result.Cancel End If For i As Integer = 0 To rhobjs.Length - 1 rhobjs(i).Select(True) Next doc.Views.Redraw() Return Rhino.Commands.Result.Success End Function End Class
Python
import Rhino import scriptcontext import System.Guid, System.Drawing.Color def SelLayer(): # Prompt for a layer name layername = scriptcontext.doc.Layers.CurrentLayer.Name rc, layername = Rhino.Input.RhinoGet.GetString("Name of layer to select objects", True, layername) if rc!=Rhino.Commands.Result.Success: return rc # Get all of the objects on the layer. If layername is bogus, you will # just get an empty list back rhobjs = scriptcontext.doc.Objects.FindByLayer(layername) if not rhobjs: Rhino.Commands.Result.Cancel for obj in rhobjs: obj.Select(True) scriptcontext.doc.Views.Redraw() return Rhino.Commands.Result.Success if __name__=="__main__": SelLayer()