Grasshopper - ARCHICAD Live connection: Reference geometry for ARCHICAD tools

Akos Karoczkai
This article covers ARCHICAD tools that are available in the Grasshopper - ARCHICAD Live connection and their necessary Grasshopper reference geometries complemented with tips & tricks for the different tools.


Necessary input: planar 2D curve (line, polyline, curve) in the horizontal plane. This curve defines the Wall's reference line
Tip: ARCHICAD segments the Rhino-Grasshopper NURBS curves and approximates them with arcs. Therefore one Grasshopper curve can result in multiple ARCHICAD walls.


Necessary input: 3D curve in any direction
Tip: The more horizontal the reference curve is, the more accurate the resulting ARCHICAD beam will be. If the reference curve's inclination is too steep, the curve will be segmented into small parts and the beams will be distorted. [caption id="attachment_74425" align="aligncenter" width="912"]
Distorted beams if the inclination angle of the reference curve is steep[/caption]  


Necessary input: Anchor point and End point. The Anchor point's Z coordinate has to be smaller than that of the End point (as it represents the column's top point).
Tip: When the structure is more vertical it is recommended to use the column tool. If the height difference between the Anchor and the End point is small, the geometry will be distorted. [caption id="attachment_74427" align="aligncenter" width="912"]
Distorted columns when the slant angle of the source curve is small[/caption] Tip2: Columns have a rotation angle from -180 to +180 degrees so the grasshopper code have to be set up in this coordinate system if rotated columns are necessary. [caption id="attachment_74439" align="aligncenter" width="912"]
Column rotation angles in ARCHICAD. 0° is the positive Y direction.[/caption] Example on how to place columns perpendicular to a curve:


Necessary input: Closed 2D planar curve in horizontal plane. This closed curve gives the the Slab's edge.
Tip: It is possible to create Slabs with holes if you use a Grasshopper surface as an input for the Slab Polygon. The same technique works for Single Plane Roofs and 2D Fills.

Roof (single plane)

Necessary input: Closed 2D planar curve in any plane.
Tip: The inclination of the planes must be between -89 and 89 degrees (this is the angle that is interpretable by the ARCHICAD roof tool)


Necessary input: 3D points and a closed planar 2D curve for boundary (ARCHICAD Mesh's contour)
Tip: It is recommended to divide the contour curve into points and add it to the list of 3D points to avoid anomalies in the geometry.

Ruled Shell

Necessary input: Two 2D planar curves (the planes of the two curves have to be parallel). The curves can be closed or open.
Tip/good to know: This is the most versatile tool of the Grasshopper - ARCHICAD Live connection. Most double curved surfaces can be covered with the Ruled Shell tool (or a series of them).

Extruded shell

Necessary input: 2D planar profile curve and an extrusion vector (the vector has to be perpendicular to the profile curve's plane)

Revolved shell

Necessary input: 2D planar profile curve and an Axis line. The axis line has to be in the profile's plane.


Necessary input: Closed 2D planar curve in horizontal plane and the zone stamp's anchor position (The zone stamp is only visible on the ARCHICAD Floor plan)


Necessary input: 3D curve or Mesh geometry.
Tip: The polygon number of the Solid Morph's mesh can be controlled with the different Mesh Settings node in Grasshopper. [caption id="attachment_74442" align="aligncenter" width="700"]
Mesh Settings (Custom node) with different options to fine-tune the quality of the resulting mesh.[/caption]


Necessary input: Doors and windows need a host wall to be placed in, an insertion point or a length parameter (from the starting point of the wall) and an orientation point (defines the opening side and direction)
Tip: Since one Grasshopper curve can generate multiple ARCHICAD walls, for the same insertion point or length parameter, multiple openings will be created. This can be sorted with different list operations in Grasshopper. [caption id="attachment_74444" align="aligncenter" width="966"]
An opening will be placed into every wall segment.[/caption]

Still looking?

Browse more articles

Back to articles

See latest solutions

Accepted solutions

Start a new discussion!