Currently, we are using Rhino to manipulate toolpaths and the related curves, and points. We have Rhino running in the background and send it commands via shared memory. All of this is done with Python. This solution works great but there are some limitations, and I would like to know what my options are for using Rhino without the normal user interface.
For example, can I use:
import Rhino.Geometry as rg
import rhinoscriptsyntax as rs
import scriptcontext as sc
from any Python program? Do I still have layers to organize? What features do I have with the normal GUI that will go away?
My goal is NOT to hide Rhino, but if I can use the functions inside a Qt thread then I will be able to send signals through the Qt (officially PySide) application. I cannot do that with the current architecture.
A couple of other options - some Python code inside Rhino talks to Python code outside it, e.g. via a simple local UDP server.
For batch tasks to be done using Rhino, it does actually have a CLI too. The trickest part was getting back to the command line, which required ending Rhino from within it, without being interrupted by a “Save Document before closing?”, so I wrote Cheetah_GH.
Also, I’m possibly guilty of walking around with a hammer, looking for screws to hit, but so many tasks of this nature are straightforward in Grasshopper.