Launch rhino/grasshopper without displaying for optimization loop

rhino
display
grasshopper
python
modeling

#1

Hi everybody

It is my first topic in this forum, and I guess my first inquiry is not that straight forward!

I am currently using grasshopper to generate a parametric geometry with a set of parameter also read by an optimizer. Today the optimizer is coupled with grasshopper to generate at each optimization step a new shape. But the problem is at each step the script display the window of rhino launching grasshopper and I lose time for each opening. Moreover for a parallel optimization the optimizer will open different session leading to graphical issues. Actually i do not need to display rhino/grasshopper. It just has to read and generate automatically the geometry. Is there is a way to launch Rhino/Grasshopper in basch mode such as “rhino.exe /nodisplay /runscript = grasshopper” as command to avoid any displaying? Also maybe we can launch grasshopper without using rhino? in this is case it would be easier to perform the optimization loop without opening.

Thanks for the help,

Kevin


(David Rutten) #2

The UI is not the bit that takes up the most time here, it’s the loading of the plugin/starting of Rhino, which is not optional. If you wish to reduce the initial cost of starting Rhino or GH, your only option is to re-use the same instances over and over.


#3

Hi,

Thanks for your quick answer!
I understand I can use the same session to avoid this extra time. But anyway, is there a way to launch grasshopper without any display? I am sure it is better and more comfortable if you want to realise other task during the computation.


(David Rutten) #4

You can access some Grasshopper functionality through RhinoScript. You can certainly disable the banner during loading, but I’m not entirely sure you can hide the editor all the way through. See this post for some details.

Also a similar discussion here.


#5

Hi ,

Thanks for the first post it helps me a lot.
But I did not find a way to disable the editor yet.


#6

Hi,

Finally I wrote this little Rhino script Rhino_script.py (1.2 KB) in order to keep rhino open during my optimization process. The script reads a txt file named “run.del” where there is a value number (0 or 1) plus a path where grasshopper has to bake the geometry. Once the optimizer has written 1, Rhino will run my grasshopper script. Then the value become again 0 to stop the execution and wait for the next change.
But I find this solution a little bit “crashy”. I am sure Rhino likes to loop over and over again. I tested this solution on 3 samples but I am not sure it is robust enough for 50 up to 100 samples. So I would like to know if there is any other possible external tools using Pyhton to control Rhino execution? I saw there is IronPyhton but this way does not convince me.
Thanks a lot