partialclassExamples{publicstaticRhino.Commands.ResultAddChildLayer(Rhino.RhinoDoc doc){// Get an existing layerstring default_name = doc.Layers.CurrentLayer.Name;// Prompt the user to enter a layer nameRhino.Input.Custom.GetString gs =newRhino.Input.Custom.GetString();
gs.SetCommandPrompt("Name of existing layer");
gs.SetDefaultString(default_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();int index = doc.Layers.Find(layer_name,true);if(index<0)returnRhino.Commands.Result.Cancel;Rhino.DocObjects.Layer parent_layer = doc.Layers[index];// Create a child layerstring child_name = parent_layer.Name+"_child";Rhino.DocObjects.Layer childlayer =newRhino.DocObjects.Layer();
childlayer.ParentLayerId= parent_layer.Id;
childlayer.Name= child_name;
childlayer.Color=System.Drawing.Color.Red;
index = doc.Layers.Add(childlayer);if(index <0){Rhino.RhinoApp.WriteLine("Unable to add {0} layer.", child_name);returnRhino.Commands.Result.Failure;}returnRhino.Commands.Result.Success;}}
importRhinoimport scriptcontext
importSystem.Drawing.ColordefAddChildLayer():# Get an existing layer
default_name = scriptcontext.doc.Layers.CurrentLayer.Name# Prompt the user to enter a layer name
gs =Rhino.Input.Custom.GetString()
gs.SetCommandPrompt("Name of existing layer")
gs.SetDefaultString(default_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()
index = scriptcontext.doc.Layers.Find(layer_name,True)if index<0:returnRhino.Commands.Result.Cancel
parent_layer = scriptcontext.doc.Layers[index]# Create a child layer
child_name = parent_layer.Name+"_child"
childlayer =Rhino.DocObjects.Layer()
childlayer.ParentLayerId= parent_layer.Id
childlayer.Name= child_name
childlayer.Color=System.Drawing.Color.Red
index = scriptcontext.doc.Layers.Add(childlayer)if index<0:
print "Unable to add", child_name,"layer."returnRhino.Commands.Result.FailurereturnRhino.Commands.Result.Successif __name__=="__main__":AddChildLayer()
PartialClassExamplesPublicSharedFunctionAddChildLayer(ByVal doc AsRhino.RhinoDoc)AsRhino.Commands.Result' Get an existing layerDim default_name AsString= doc.Layers.CurrentLayer.Name' Prompt the user to enter a layer nameDim gs AsNewRhino.Input.Custom.GetString()
gs.SetCommandPrompt("Name of existing layer")
gs.SetDefaultString(default_name)
gs.AcceptNothing(True)
gs.[Get]()If gs.CommandResult()<>Rhino.Commands.Result.SuccessThenReturn gs.CommandResult()EndIf' Was a layer named entered?Dim layer_name AsString= gs.StringResult().Trim()Dim index AsInteger= doc.Layers.Find(layer_name,True)If index <0ThenReturnRhino.Commands.Result.CancelEndIfDim parent_layer AsRhino.DocObjects.Layer= doc.Layers(index)' Create a child layerDim child_name AsString= parent_layer.Name+"_child"Dim childlayer AsNewRhino.DocObjects.Layer()
childlayer.ParentLayerId= parent_layer.Id
childlayer.Name= child_name
childlayer.Color=System.Drawing.Color.Red
index = doc.Layers.Add(childlayer)If index <0ThenRhino.RhinoApp.WriteLine("Unable to add {0} layer.", child_name)ReturnRhino.Commands.Result.FailureEndIfReturnRhino.Commands.Result.SuccessEndFunctionEndClass