Tapir / Docs / Grasshopper

Grasshopper, visually.

The Tapir plugin connects Grasshopper to a running Archicad: read elements and their settings, change them, and create new ones from Rhino geometry, without writing code.

What the components do.

Each component sends a Tapir command to Archicad and gives you the answer as Grasshopper data. You find them on the Tapir tab, grouped as in Archicad.

READElements and their dataElements by type, story or selection; their properties, classifications, settings and geometry.
CHANGEWhat you pass inProperty values, classifications, layers, IDs and tool settings of the elements you pass in.
CREATEFrom Rhino geometryWalls, doors, windows, railings, level dimensions and more, from points and curves.
PROJECTThe rest of the fileStories, attributes, navigator views, layouts, issues, favorites and libraries.

Which Tapir commands have a component, and which settings each covers, is on the Grasshopper coverage page.

One per Archicad tool.

A tool component works like the Archicad tool of the same name. One JSON input and one JSON output per panel of its settings dialog, keyed by the labels you see there, such as Wall Height.

Design Tools

Walls

Placed by StartPoint and EndPoint.

Refresh Execute Create

Design Tools

Doors

Placed in an OwnerWall at a CenterOffset.

Refresh Execute Create

Design Tools

Windows

Placed in an OwnerWall at a CenterOffset.

Refresh Execute Create

Design Tools

Railings

Placed along a ReferenceLine.

Refresh Create

Document Tools

LevelDimensions

Placed at a Position, optionally on a parent element.

Refresh Create

REFRESHReadsReads the elements in ElementGuid and fills every output.
EXECUTEWritesWrites the given settings to those elements. Only the keys you give are written.
CREATEMakes new elementsFrom the geometry inputs, starting from the tool's defaults or from a FavoriteName.

Nothing is written to Archicad until you press Execute or Create. A JSON output read by Refresh can be fed straight back into the same input. Archicad has no command to change railings or level dimensions after they are placed, so for those Execute only writes the ID, layer and draw order.

Note Walls remembers the walls its Create made, in the .gh file. The next Create updates them instead of making new ones. Turn this off, or forget them, in the component's menu.

Install

  1. Install the Tapir Add-On in Archicad

    The components talk to Archicad through the Add-On. Get started shows how.

  2. Install the tapir package in Rhino

    In Rhino 7 or 8, open Tools > Package Manager (or type PackageManager), search for tapir and click Install. Restart Rhino.

  3. Open Archicad, then Grasshopper

    With a project open in Archicad, start Grasshopper. The Tapir tab appears in its toolbar. With more than one Archicad open, give the port of the one you want to the ConnectArchicad component (Tapir > General); the first Archicad uses 19723.

One wall.

Build this in an empty Grasshopper canvas, with a project open in Archicad:

  1. Place two Point parameters and set them to 0,0,0 and 5,0,0. Archicad reads the numbers as metres.
  2. Place the Walls component from Tapir > Design Tools. Connect the points to StartPoint and EndPoint.
  3. Place a Panel with the text on the right and connect it to GeometryAndPositioning_JSON.
  4. Press Create. A 5 m wall appears in Archicad, 3 m high and 30 cm thick.
  5. Move a point and press Create again: the same wall moves. Change the panel and press Create: the same wall changes.

Press Refresh to see every setting of the wall in the JSON outputs. Copy a key from there to set it the next time.

Panel → GeometryAndPositioning_JSONJSON
{"Wall Height": 3.0, "Wall Thickness": 0.3}