cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 
GDL
About building parametric objects with GDL.

AI-Powered GDL Generator

Ahmed_K
Mentor

🚀 AI-Powered GDL Generator – Would This Be Useful for You? 🤖📐

 

Hello everyone! 👋

 

We’re exploring the idea of an AI-powered tool that generates GDL code based on natural language descriptions. Imagine simply describing the object you need, and the AI instantly produces the GDL script—no manual coding required! 🏗

 

Potential Features:

Text-to-GDL Conversion – Describe an object, get a functional GDL script.

Live Code Suggestions – AI assists in optimizing and debugging GDL code.

GDL Library Enhancement – Generate parametric objects quickly for Archicad.

Smart Learning – The AI improves over time based on user input.

 

Before going further, we’d love your thoughts and feedback:

💡 Would this be useful for you?

💰 Would you consider paying for a tool like this?

🔧 What features would make it truly valuable?

 

We’re still in the early development stage, so your input would be incredibly helpful in shaping the future of this tool! Looking forward to your insights. 🚀

 

#Archicad #GDL #BIM #AI #Innovation

AMD Ryzen 9 3900X, 32 GB RAM, RTX 3080 10 GB
Archicad 27
Windows 11 professional
https://www.behance.net/Nuance-Architects
20 REPLIES 20
Erik Bjornhage
Advisor

This would be a very welcome tool.

 

For someone who has not had the time to learn GDL properly I would love this kind of assistant.

Natural language coding, but also being able to troubleshoot existing code and/or suggest improvements to existing code.

 

Also, if it would be able to take an existing object code and amend that to add new parameters and options.

 

Would I use it - YES!

Would I pay for it - Probably not (but it all depends, doesn't it)

Erik Bjornhage : SwedishChef, INSIKT Digital Sapiens, Gothenburg, Sweden
Architect : Digital Development : Graphisoft Cert. BIM-Manager
INSIKT : Eriks LinkedIn
ThinkPad P1 G7; Ultra9 185H; 64 GB; RTX 4070 [8GB] : AC12 - future
jl_lt
Ace

hi! while we are not fond of having super detailed objects in our models and plans (thats what specs are for) every now and then we do need some customization. 

 

so yeah, it would be useful.

like everything else, we would pay for it if the price is fair.

 

on a tool like this, we would like to have:

-ability for instant visual 3d feedback

-ability to import any 3d object, generate its gdl code and then the ability to manipulate it

 

best of lucks in this endeavour!

 

Mr_Snarl
Graphisoft Partner
Graphisoft Partner

So, today I tried Gemini to do script for a simple chair. 

  • It listed all parameters that I needed
  • made simple 2d script with project2
  • full 3D script.

No errors!!!! 😀 Also comments for every part. 

 

2025-12-04 09 12 37.png

AI is learning,

Soon it will take over the world. 🤣

 

Barry.

One of the forum moderators.
Versions 6.5 to 27
i7-10700 @ 2.9Ghz, 32GB ram, GeForce RTX 2060 (6GB), Windows 10
Lenovo Thinkpad - i7-1270P 2.20 GHz, 32GB RAM, Nvidia T550, Windows 11

@Mr_Snarl,

 

Could you post the generated 2D script and 3D script? It would be interesting to see how it was created, how efficient the generated GDL script is.

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

LOL - Gemini did an EpicFail on me. Generated a lot of code, but nothing worked...
...either it was my description or it just didn't work.

Oh well...back to waiting...

Erik Bjornhage : SwedishChef, INSIKT Digital Sapiens, Gothenburg, Sweden
Architect : Digital Development : Graphisoft Cert. BIM-Manager
INSIKT : Eriks LinkedIn
ThinkPad P1 G7; Ultra9 185H; 64 GB; RTX 4070 [8GB] : AC12 - future

Here is the 3D script. The 2D was just Project2 3, 270, 2

Comments are in Swedish.

 

! --- INITIERING ---
RESOL 36 ! Gör cirklarna mjuka (36 sidor)
MATERIAL mat_stol

! Definiera radien för runda ben (halva tjockleken)
r = ben_tjk / 2

! Hotspots (samma som förut)
HOTSPOT 0, 0, 0
HOTSPOT A, B, 0
HOTSPOT A, B, ZZYZX

! --- 1. FRAMBEN ---
! Höjden på frambenen
h_fram = sits_hojd - sits_tjk

! --- Framben 1 (Vänster) ---
IF runda_ben THEN
! Runda ben ritas från mitten, så vi flyttar in origo radien bit
ADDx r
ADDy r
CYLIND h_fram, r
DEL 2
ELSE
! Fyrkantiga ben ritas från hörnet
BLOCK ben_tjk, ben_tjk, h_fram
ENDIF

! --- Framben 2 (Höger) ---
ADDx A - ben_tjk ! Flytta till högerkanten

IF runda_ben THEN
ADDx r
ADDy r
CYLIND h_fram, r
DEL 2
ELSE
BLOCK ben_tjk, ben_tjk, h_fram
ENDIF

DEL 1 ! Backa från högerkanten


! --- 2. BAKBEN ---
! Flytta till bakkanten (Y-led)
ADDy B - ben_tjk

! --- Bakben 1 (Vänster Bak) ---
IF runda_ben THEN
ADDx r
ADDy r
CYLIND ZZYZX, r
DEL 2
ELSE
BLOCK ben_tjk, ben_tjk, ZZYZX
ENDIF

! --- Bakben 2 (Höger Bak) ---
ADDx A - ben_tjk

IF runda_ben THEN
ADDx r
ADDy r
CYLIND ZZYZX, r
DEL 2
ELSE
BLOCK ben_tjk, ben_tjk, ZZYZX
ENDIF

DEL 1 ! Backa X (Höger bak)
DEL 1 ! Backa Y (Bakkanten)


! --- 3. SITS (Alltid rektangulär i detta exempel) ---
ADDz sits_hojd - sits_tjk
BLOCK A, B, sits_tjk
DEL 1


! --- 4. RYGGBRICKA ---
! Vi behåller denna rektangulär även om benen är runda,
! men man skulle kunna göra den krökt med PRISM_ om man vill vara avancerad.

ADDz ZZYZX - rygg_h
ADDy B - ben_tjk

! Flytta in så den sitter mellan benen
ADDx ben_tjk
BLOCK A - (2 * ben_tjk), ben_tjk, rygg_h
DEL 1 ! Backa X

DEL 2 ! Backa Z och Y

Can you remember the AI prompt?

Did you ask for a round or square leg option?

Adjustable seat and back height?

 

Barry.

One of the forum moderators.
Versions 6.5 to 27
i7-10700 @ 2.9Ghz, 32GB ram, GeForce RTX 2060 (6GB), Windows 10
Lenovo Thinkpad - i7-1270P 2.20 GHz, 32GB RAM, Nvidia T550, Windows 11

Yes, I did 🙂
I also tried to upload a picture of a desk with drawer. Asked it to make it so I could open the drawers.

It almist worked. Just the drawers was aligned wrong. But that was easy to fix manually.

Mr_Snarl_0-1764928461035.png

 

Variabel Typ Namn Värde
bredd_lador Längd Bredd på lådsektion 0.45
skiva_tjk Längd Materialtjocklek 0.03
oppna_lador Längd Dra ut lådor (0-0.5) 0.00
oppna_tgb Längd Dra ut tangentbord 0.00
mat_bord Material Ytmaterial Walnut Vertical
mat_handtag Material Handtagsmaterial Metal Stainless

 

! --- INSTÄLLNINGAR ---
RESOL 16
MATERIAL mat_bord

! Variabler för mått
sida_tjk = skiva_tjk ! Samma tjocklek på ben som skiva
hurts_b = bredd_lador ! Bredden på högra delen
vanster_b = A - hurts_b ! Bredden på vänstra delen (sittplatsen)
inner_djup = B - 0.02 ! Lådornas djup
lador_antal = 4

! Beräkna höjden för varje låda (total höjd minus skivan / antal lådor)
lada_h = (ZZYZX - skiva_tjk) / lador_antal


! --- 1. STOMME & BORDSSKIVA ---

! Bordsskivan
ADDz ZZYZX - skiva_tjk
BLOCK A, B, skiva_tjk
DEL 1

! Vänster ben (Gavel)
BLOCK sida_tjk, B, ZZYZX - skiva_tjk

! Bakstycke (Mellan vänster ben och hurtsen)
! Vi sätter den lite indragen
ADDx sida_tjk
ADDy B - 0.02
BLOCK vanster_b - sida_tjk, 0.02, ZZYZX - skiva_tjk - 0.15 ! Lite luft nertill
DEL 2

! Hurtsens vänstra vägg (Mellan benen)
ADDx vanster_b
BLOCK sida_tjk, B, ZZYZX - skiva_tjk
DEL 1

! Hurtsens högra vägg (Yttervägg)
ADDx A - sida_tjk
BLOCK sida_tjk, B, ZZYZX - skiva_tjk
DEL 1


! --- 2. TANGENTBORDSBRICKA ---

! Vi flyttar oss till mitten av sittutrymmet
ADDx sida_tjk
ADDz ZZYZX - skiva_tjk - 0.12 ! Placerad 12 cm under skivan

! Här sker magin: Flytta ut brickan baserat på parametern
ADDy -oppna_tgb

! Rita själva brickan
BLOCK vanster_b - sida_tjk, B*0.6, 0.02

! (Här skulle man kunna rita metallskenor också om man vill vara petig)

DEL 2 ! Backa ADDy och ADDx/z


! --- 3. LÅDOR (LOOP) ---

! Flytta origo till startpunkten för hurtsen
ADDx vanster_b + sida_tjk

! Loopa 4 gånger för att skapa 4 lådor
FOR i = 1 TO lador_antal

! --- RÖRELSE ---
! Om du vill att alla lådor öppnas samtidigt:
ADDy -oppna_lador

! (Alternativt: Om du bara vill öppna översta lådan kan man använda IF i = 4...)

! --- LÅDFRONT ---
! Vi gör fronten lite mindre än hålet för att få en springa (gap)
gap = 0.002

! Rita fronten
BLOCK hurts_b - sida_tjk - gap, 0.02, lada_h - gap

! --- HANDTAG ---
! Placera handtaget centrerat på fronten
cx = (hurts_b - sida_tjk)/2
cz = lada_h / 2

ADDx cx
ADDz cz
ADDy -0.01 ! Utanför fronten

MATERIAL mat_handtag
ROTx 90
CYLIND 0.02, 0.005 ! En enkel knopp/cylinder som handtag
DEL 1 ! Backa ROTx

! Rita handtaget som en rektangulär grej (som på bilden)
ADDx -0.05
ADDz -0.005
BLOCK 0.10, 0.01, 0.01
DEL 2

MATERIAL mat_bord ! Byt tillbaka till trä
DEL 3 ! Backa från handtagspositionen

! --- LÅDLÅDA (Själva boxen bakom fronten) ---
ADDy 0.02 ! Bakom fronten
ADDx 0.01

! Botten av lådan
BLOCK hurts_b - sida_tjk - 0.02, inner_djup*0.9, 0.015

! Sidor på lådan (frivilligt, men ser bra ut när man öppnar)
BLOCK 0.015, inner_djup*0.9, lada_h * 0.6
ADDx (hurts_b - sida_tjk - 0.02) - 0.015
BLOCK 0.015, inner_djup*0.9, lada_h * 0.6
DEL 1

DEL 2 ! Backa från lådlådan

DEL 1 ! Backa ADDy (Öppningsrörelsen)

! --- FÖRBERED NÄSTA VARV ---
! Flytta upp origo till nästa lådnivå
ADDz lada_h

NEXT i

! Städa upp stacken (vi har gjort ADDx och sedan en loop med ADDz)
DEL 1 + lador_antal
Laszlo Nagy
Community Admin
Community Admin

I would say that this is pretty impressive.

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