cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 

The 2025 Technology Preview Program is now live. Join today!

Parametric design
About Rhino & Grasshopper and PARAM-O.

Archicad-Grasshopper Live connection: Curtain wall parametric panels

Bertea7
Participant

Hello, I am currently working on a parametric facade in archicad and grasshopper and the idea is that the curtain wall panels are a sheet metal which have a grid of circular perforations, and the parametric aspect is that i would like to add an attractor point/curve that makes the holes larger or smaller. I am wondering if it is possible for GH to take an existing curtain wall from archicad, extract from it only the panels and replace them with ones that can be adjusted by this attractor point script, and then also sync back to archicad in the same position. How would i go about achieving this effect? Would it be better to try and build the curtain wall in GH from scratch, or even to just make the panels entirely separate? I saw some videos achieving similar things but not much info on the archicad-GH curtain wall object. 

 

Operating system used: Windows INT 3001

10 REPLIES 10
Laszlo Nagy
Community Admin
Community Admin

The Archicad-Grasshopper connection cannot modify geometry that it did not create. So, any geometry you bring into Rhino-Grasshopper from Archicad with the relevant components can only serve as a reference geometry, based on which you will need to create your Curtain Wall with the attractor point affecting its panels.

Loving Archicad since 1995 - Find Archicad Tips at x.com/laszlonagy
AMD Ryzen9 5900X CPU, 64 GB RAM 3600 MHz, Nvidia GTX 1060 6GB, 500 GB NVMe SSD
2x28" (2560x1440), Windows 10 PRO ENG, Ac20-Ac28

I think there is a feasible approach, which is to use GDL to achieve this. I have a few ideas and if they work out, I will share them here. I believe it’s better not to use the Curtain Wall component in the AC connection set—it is too complex yet difficult to customize. Using GDL is the best way.

RhinoX
Booster

test1.PNG

I think I’m almost done by combining GH + Python and GDL. The last issue I’m facing is that the holes don’t render correctly — only the first hole looks fine. I suspect it’s a status code error, and I’ll fix it soon once I find the cause.

RhinoX
Booster

perforate panel 01.png

I have completed it, and I drew the following process as my experience: Grasshopper will design the geometric form, Python will process the data to feed into GDL. I believe most geometries can be done this way.

I will write a small guide on this forum about my approach, in case it could be helpful to someone else.

Lingwisyer
Guru

Can you attach a LoD to the generated panels? Circular holes can get poly heavy very fast...

AC22-28 AUS 3110Help Those Help You - Add a Signature
Self-taught, bend it till it breaksCreating a Thread
Win11 | i9 10850K | 64GB | RX6600 Win11 | R5 2600 | 16GB | GTX1660

01.png02.pngScreen Shot 2025-08-26 at 22.23.30.png

Thanks, I’m just testing the modeling capabilities in GDL. As shown above, each panel has about 200 holes, with roughly 4,500 holes in total. The model slows down a bit but it’s not too heavy. Since my computer is quite old, I assume it wouldn’t be an issue on a more powerful machine. I’ll lower the RESOL value when working with the overall model.

Laszlo Nagy
Community Admin
Community Admin

There is a point (in terms of number of polygons in 3D) that can cause slowness due to the sheer amount of processing power required. It usually happens when you are dealing with millions of polygons (less on older machines or machines with lower specs).

The default RESOL values in GDL is 36, if I remember correctly, so with 4500 holes, that is already over a hundred thousand polygons. And if you will have many more of these panels, that can go into the millions of polygons, so using the RESOL command is probably the way to make easier to handle.

Loving Archicad since 1995 - Find Archicad Tips at x.com/laszlonagy
AMD Ryzen9 5900X CPU, 64 GB RAM 3600 MHz, Nvidia GTX 1060 6GB, 500 GB NVMe SSD
2x28" (2560x1440), Windows 10 PRO ENG, Ac20-Ac28
runxel
Hero

Very interesting topic!

@RhinoX I assume you just gave a prism an array of coordinates and sizes and then you will `put` them in in a for loop, fed to a prism?

 

On a sidenote: if the holes will be of much different sizes it will probably better to switch to TOLER instead of RESOL.

While RESOL is much easier to grasp ("how many segments per ideal circle") it will also lead to janky forms. TOLER is adaptive to the radius because one gives the maximal deviation from the ideal circle. 

 

Lucas Becker | AC 27 on Mac | Graphisoft Insider Panelist | Akroter.io – high-end GDL objects | Author of Runxel's Archicad Wiki | Editor at SelfGDL | Developer of the GDL plugin for Sublime Text

My List of AC shortcomings & bugs | I Will Piledrive You If You Mention AI Again |

POSIWID – The Purpose Of a System Is What It Does /// «Furthermore, I consider that Carth... yearly releases must be destroyed»

Exactly. First, I’ll use xform to switch the coordinate system, then process the data with Python and feed it into GDL.

 

000.png

 

001.png

 

002.png

 

003.png

Setup info provided by author