Select cube subsurface


I have realized, that there is a big difference between Rhino Python and IronPython when I select a sub-surface in Rhino 5. I do not need to use Shift in RhinoPython, while in IronPython I have to use Shift to select subobject. Is there an easy method to just select the face in IronPython without using Shift key?

In Rhino Python:
# Select target surface
obj_base = rs.GetObject(“Select target”, 24, True, False, None, True)

In IronPython:
# select a surface
gs = Rhino.Input.Custom.GetObject()
gs.SetCommandPrompt(“select surface”)
gs.GeometryFilter = Rhino.DocObjects.ObjectType.Surface
gs.SubObjectSelect = True
if gs.CommandResult() != Result.Success:
return gs.CommandResult()


@onrender, both of your examples use IronPython. The first is RhinoScript syntax while the second is RhinoCommon.

You can enable subobject selection with RhinoScript syntax too, but it does not return a surface or polysurface id. You can get that from the ObjRef it returns though:

import rhinoscriptsyntax as rs

rc = rs.GetObject("Sub-Surface", 8, False, False, None, subobjects=True)
print rc

Note the help text for rs.GetObject here.