RhinoCommon API
GetBaseClassSetDefaultString Method |
Sets a string as default value that will be returned
if the user presses ENTER key during the get.
Namespace: Rhino.Input.Custom
Assembly: RhinoCommon (in RhinoCommon.dll)

public void SetDefaultString( string defaultValue )
Public Sub SetDefaultString ( defaultValue As String )
Parameters
- defaultValue
- Type: SystemString
value for default string.

Calling SetDefaultString will automatically handle setting the command prompt
default and reacting to the user pressing ENTER. If the user presses ENTER to
accept the default string, GetResult.String is returned and RhinoGet.GotDefault()
will return true. Calling SetDefaultString will clear any previous calls to
SetDefaultNumber or SetDefaultPoint.

partial class Examples { public static Rhino.Commands.Result AddLayer(Rhino.RhinoDoc doc) { // Cook up an unused layer name string unused_name = doc.Layers.GetUnusedLayerName(false); // Prompt the user to enter a layer name Rhino.Input.Custom.GetString gs = new Rhino.Input.Custom.GetString(); gs.SetCommandPrompt("Name of layer to add"); gs.SetDefaultString(unused_name); gs.AcceptNothing(true); gs.Get(); if (gs.CommandResult() != Rhino.Commands.Result.Success) return gs.CommandResult(); // Was a layer named entered? string layer_name = gs.StringResult().Trim(); if (string.IsNullOrEmpty(layer_name)) { Rhino.RhinoApp.WriteLine("Layer name cannot be blank."); return Rhino.Commands.Result.Cancel; } // Is the layer name valid? if (!Rhino.DocObjects.Layer.IsValidName(layer_name)) { Rhino.RhinoApp.WriteLine(layer_name + " is not a valid layer name."); return Rhino.Commands.Result.Cancel; } // Does a layer with the same name already exist? int layer_index = doc.Layers.Find(layer_name, true); if (layer_index >= 0) { Rhino.RhinoApp.WriteLine("A layer with the name {0} already exists.", layer_name); return Rhino.Commands.Result.Cancel; } // Add a new layer to the document layer_index = doc.Layers.Add(layer_name, System.Drawing.Color.Black); if (layer_index < 0) { Rhino.RhinoApp.WriteLine("Unable to add {0} layer.", layer_name); return Rhino.Commands.Result.Failure; } return Rhino.Commands.Result.Success; } }
Partial Class Examples Public Shared Function AddLayer(ByVal doc As Rhino.RhinoDoc) As Rhino.Commands.Result ' Cook up an unused layer name Dim unused_name As String = doc.Layers.GetUnusedLayerName(False) ' Prompt the user to enter a layer name Dim gs As New Rhino.Input.Custom.GetString() gs.SetCommandPrompt("Name of layer to add") gs.SetDefaultString(unused_name) gs.AcceptNothing(True) gs.Get() If gs.CommandResult() <> Rhino.Commands.Result.Success Then Return gs.CommandResult() End If ' Was a layer named entered? Dim layer_name As String = gs.StringResult().Trim() If String.IsNullOrEmpty(layer_name) Then Rhino.RhinoApp.WriteLine("Layer name cannot be blank.") Return Rhino.Commands.Result.Cancel End If ' Is the layer name valid? If Not Rhino.DocObjects.Layer.IsValidName(layer_name) Then Rhino.RhinoApp.WriteLine(layer_name & " is not a valid layer name.") Return Rhino.Commands.Result.Cancel End If ' Does a layer with the same name already exist? Dim layer_index As Integer = doc.Layers.Find(layer_name, True) If layer_index >= 0 Then Rhino.RhinoApp.WriteLine("A layer with the name {0} already exists.", layer_name) Return Rhino.Commands.Result.Cancel End If ' Add a new layer to the document layer_index = doc.Layers.Add(layer_name, System.Drawing.Color.Black) If layer_index < 0 Then Rhino.RhinoApp.WriteLine("Unable to add {0} layer.", layer_name) Return Rhino.Commands.Result.Failure End If Return Rhino.Commands.Result.Success End Function End Class
Python
import Rhino import scriptcontext import System.Guid, System.Drawing.Color def AddLayer(): # Cook up an unused layer name unused_name = scriptcontext.doc.Layers.GetUnusedLayerName(False) # Prompt the user to enter a layer name gs = Rhino.Input.Custom.GetString() gs.SetCommandPrompt("Name of layer to add") gs.SetDefaultString(unused_name) gs.AcceptNothing(True) gs.Get() if gs.CommandResult()!=Rhino.Commands.Result.Success: return gs.CommandResult() # Was a layer named entered? layer_name = gs.StringResult().Trim() if not layer_name: print "Layer name cannot be blank." return Rhino.Commands.Result.Cancel # Is the layer name valid? if not Rhino.DocObjects.Layer.IsValidName(layer_name): print layer_name, "is not a valid layer name." return Rhino.Commands.Result.Cancel # Does a layer with the same name already exist? layer_index = scriptcontext.doc.Layers.Find(layer_name, True) if layer_index>=0: print "A layer with the name", layer_name, "already exists." return Rhino.Commands.Result.Cancel # Add a new layer to the document layer_index = scriptcontext.doc.Layers.Add(layer_name, System.Drawing.Color.Black) if layer_index<0: print "Unable to add", layer_name, "layer." return Rhino.Commands.Result.Failure return Rhino.Commands.Result.Success if __name__=="__main__": AddLayer()

Rhino for Mac
Supported in: 5.4Rhino for Windows
Supported in: 6.14