Headless Rhino in Archicad

  • Objective: What are you trying to achieve, *e.g.
    Receive the Geometry from ArchiCAD to rhino/grasshopper through Coding.
    We have been trying to construct a platform(Plug in) for Archicad where one specific script from grasshopper can be running in the background o archicad.

We have gone through using Speckel as the connection but still a bit unclear about the process.
Would be great if we can get some guidance that can help us to run the Gh script directly in Archicad background. We want to pick some elements from archicad model and be able to deconstruct the selected element, then the grasshopper script with create some zones to do daylight analysis.
I hope the explained process is clear, but let me know if you need more information.

Kind Regards
Niloofar Zaker

In summary:

  • You want an instance of Grasshopper running inside ArchiCAD?

There is a plugin from Graphisoft that enables this. Where would Speckle be involved?

That plug in does not connect inside Archicad, as Rhino.inside for example. It should be opened separately and be connected to Archicad through the add on. and the point is that their commands is not open source. My gh script is originally using that plug in components in grasshopper but the point is to get rid of opening different softwares and connecting them separately,…

Speckle has the possibility to translate the geometry, all we want is that get the geometry in Archicad(select walls, windows,…) and eksport it into OBJ or select the elements and send it to rhino in the background where the Grasshopper code can be running.

I am looking into Speckle to get the geometry translation method and the way Speckle can translate elements into 3d models or obj for example. I just have started looking into it and would appreciate any hints.

I am very curious to check out more features of Speckle.

If you really-really need to avoid opening Rhino and Grasshopper, you will probably need to use Speckle combined with Rhino.Compute; I don´t see or know other way to run GH files without opening GH or Rhino.

The workflow can look like this Archicad->Speckle->Rhino Compute->Your Results.

Otherwise, you can open Rhino in the background and send data from Archicad using Speckle. Every time you upload data to Speckle you can trigger your GH definition. You can even use something like GH player so you don’t open Grasshopper.

Are you the daylight analysis based on Ladybug tools? Or is it some customer code?

What @Nikos says, but also tldr; Speckle doesn’t work outside of host applications.

  • ArchiCAD to Speckle has to happen within a running ArchiCAD instance
  • Speckle to GH has to happen within a running version of GH (either in Rhino or Rhino.Compute)
  • Speckle can import OBJ but under the hood everything is in Speckle Object Model

Thanks for your answer Nikos, yes it is based on Ladybug Tools. We were trying to translate the script to Python and connect the grasshopper file to Archicad with Python Connect in Archicad but talking to the Archicad Live developers, the python has very limited commands in Archicad for now.

The workflow that you are mentioning will be running in C++? is there anyway to do it with writing the code in Python?

So does it mean the way Nikos suggested doesn’t work if we do not open Rhino? I started to look into rhino compute a bit, will discover it more. Can Speckle work if we open rhino as headless mode?

You don´t need C++, you can run Rhino Compute using Python. But before doing so, you need to spin up a VM in a server where Rhino Compute will run. I will recommend reading the RhinoCompute docs carefully. You can seek support for RhinoCompute in the Rhino Forum.

Essentially when you run Rhino Compute it is like running Rhino but in a Server. From there you can do everything that you want. You can use the SpecklePy to access your Speckle Model; run grasshopper files, Ladybug, and much more. The challenging part is to set up Rhino Compute - which requires some technical knowledge.

1 Like