RhinoCommon API
GetObjectGetMultiple Method |
Call to select objects.
Namespace: Rhino.Input.Custom
Assembly: RhinoCommon (in RhinoCommon.dll)

public GetResult GetMultiple( int minimumNumber, int maximumNumber )
Public Function GetMultiple ( minimumNumber As Integer, maximumNumber As Integer ) As GetResult
Parameters
- minimumNumber
- Type: SystemInt32
minimum number of objects to select. - maximumNumber
- Type: SystemInt32
maximum number of objects to select. If 0, then the user must press enter to finish object selection. If -1, then object selection stops as soon as there are at least minimumNumber of object selected. If >0, then the picking stops when there are maximumNumber objects. If a window pick, crossing pick, or Sel* command attempts to add more than maximumNumber, then the attempt is ignored.
Return Value
Type: GetResultSuccess - objects selected. Cancel - user pressed ESCAPE to cancel the get. See GetResults for other possible values that may be returned when options, numbers, etc., are acceptable responses.

using System; using System.Collections.Generic; partial class Examples { public static Rhino.Commands.Result AddObjectsToGroup(Rhino.RhinoDoc doc) { Rhino.Input.Custom.GetObject go = new Rhino.Input.Custom.GetObject(); go.SetCommandPrompt("Select objects to group"); go.GroupSelect = true; go.GetMultiple(1, 0); if (go.CommandResult() != Rhino.Commands.Result.Success) return go.CommandResult(); List<Guid> ids = new List<Guid>(); for (int i = 0; i < go.ObjectCount; i++) { ids.Add(go.Object(i).ObjectId); } int index = doc.Groups.Add(ids); doc.Views.Redraw(); if (index >= 0) return Rhino.Commands.Result.Success; return Rhino.Commands.Result.Failure; } }
Imports System.Collections.Generic Partial Class Examples Public Shared Function AddObjectsToGroup(ByVal doc As Rhino.RhinoDoc) As Rhino.Commands.Result Dim go As New Rhino.Input.Custom.GetObject() go.SetCommandPrompt("Select objects to group") go.GroupSelect = True go.GetMultiple(1, 0) If go.CommandResult() <> Rhino.Commands.Result.Success Then Return go.CommandResult() End If Dim ids As New List(Of Guid)() For i As Integer = 0 To go.ObjectCount - 1 ids.Add(go.[Object](i).ObjectId) Next Dim index As Integer = doc.Groups.Add(ids) doc.Views.Redraw() If index >= 0 Then Return Rhino.Commands.Result.Success End If Return Rhino.Commands.Result.Failure End Function End Class
import Rhino import scriptcontext def AddObjectsToGroup(): go = Rhino.Input.Custom.GetObject() go.SetCommandPrompt("Select objects to group") go.GroupSelect = True go.GetMultiple(1, 0) if go.CommandResult()!=Rhino.Commands.Result.Success: return go.CommandResult() ids = [go.Object(i).ObjectId for i in range(go.ObjectCount)] index = scriptcontext.doc.Groups.Add(ids) scriptcontext.doc.Views.Redraw() if index>=0: return Rhino.Commands.Result.Success return Rhino.Commands.Result.Failure if __name__ == "__main__": AddObjectsToGroup()

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