Make Hole command

I cannot seem to be able to find the Make Hole command equivalent in Python on Rhino 7.

My use case is to build a tool (and teach myself about Rhino scripting/automation) that I can select a face of a solid in the Rhino viewport, feed Rhino a curve shape and some parameters such as amount of holes width and amount of holes height and/or alternatively the curve shape and tell rhino to just make as many as it can fit with some variable amount of space between the holes.

I have looked a little at grasshopper and it seems to lack Make Hole tool functionality as well as being able to select a face of an existing solid via interactively clicking in the viewport.

I have read up/watched videos on some of the starter material for both Python and Grasshopper which seems to be much more focused on creating new surfaces, solids or curves which is not really what I am trying to achieve with such a tool.

@rajaa - can you help with this?

There is no such thing as far as I know. You should be able to program it in Python, but it’s fairly complex.

You will need:
From Rhino.Input.Custom:

  • Sub-object selection (to get a face of a brep)
  • Multiple parameter collection on the command line

Plus various RhinoCommon geometry creation methods - extrusion, Boolean operations, etc.

This would require some kind of “packing” algorithm which is not native in RhinoCommon.

One thing that might be useful to try is to automate using Grasshopper. You can script the parts that GH does not support directly using the GH-Python component.

Also, as @Helvetosaur mentioned, the tool you are trying to create involves advanced algorithms such as packing which are not supported in RhinoCommon.

Many thanks for the responses.

The “packing” part was more an example or to provide context of what i need the Make Hole and face/sub-selection for. I was expecting to come up with this part.

I want to make this a tool/automation used on “existing” traditional made model face made with the usual Rhino toolset.

Many (most likely not all) other Rhino tools have a matching function in GrassHopper and/or Python tool/function.

I would have thought making holes is something that could be nice to automate, is there a process for requesting this seemingly missing feature?

The tool is already there in some capacity in Rhino, I would like script access.