Libraries & objects
About Archicad and BIMcloud libraries, their management and migration, objects and other library parts, etc.

GDL in the age of Grasshopper, is it worth it?

Anonymous
Not applicable
Hello,

I have been using ArchiCAD for 8 years now, so naturally, learning GDL seemed to be the next step. I have been learning GDL scripting on and off for the past two years and while I enjoy creating custom objects in my personal time, I keep coming back to the same question... is it worth it?

Having recently graduated University in Sydney, Australia, I was exposed to Rhino + Grasshopper which I also enjoy using (especially with the ArchiCAD - Grasshopper Live Connection). The benefit of Grasshopper is that it is relatively user friendly for architects given that it has a visual interface. Similarly, Revit Families appear to have some type of visual interface (although I have not had much exposure to this). GDL on the other hand seems to be dated and not as user friendly, not to mention the lack of available learning resources (other than the obvious ones).

I guess my question is, has GDL had it's day? Should I really be investing so much time in learning something which seems to be out of sync with what is being taught in Universities? Of course this might not be the case for other Universities overseas, however in Australia, this is most certainly the case. It is also worth mentioning that I work for a small practice, however, GDL scripting does not appear to be a desirable skill that Architecture Practices are actively seeking. Is this also the case for large practices using ArchiCAD in Australia or elsewhere?

Furthermore, it is my understanding that GDL is a proprietary programming language, this also appears to be on a downwards trend with other programming languages such as Python becoming widely adopted and integrated into 3D modelling softwares such as Rhino + Grasshopper. Would my time be better spent learning Python?

Feel free to post your thoughts below. I am interested to know where people stand on this? And I welcome any advice that experienced ArchiCAD users have to offer.
20 REPLIES 20
Jim Allen
Expert
A little while ago I posted a reply on this topic in the Visual GDL thread.

GDL is fine. It works, so replacing it seems to make no sense seeing how much of a key part it plays in Archicad.

The issue for me is getting a means of creating GDL objects which works intuitively and easily.

The example I posted was of SketchUp's Dynamic Components, which uses a really simple set of principles to create some pretty complex nd properly parametric components without anything like the GDL learning curve.

I've looked into GDL, and you have to define the geometry point by point in 3d space, which is kind of like AutoLisp. That was fine in the 80s, but it's definitely not now.

I think Graphisoft understand how much of an obstacle GDL is to building a huge community resourced library or parametric content. Look at BIMObject and you will see lots of static components. Sure they have all the parameters, but most of us don't want to browse through 15 different versions of objects all with different specific dimensions to find the one we want. And if we want to change it - we have to do it all over again!

It's awful.

A visual GDL editor would be a great addition. My suggestion would be for a standalone web-based tool, used for building, viewing and modifying GDL objects. It could even output IFC objects, or geometry in other formats. Maybe it could even import geometry and use it for creating Archicad versions of files from other sources.

Once it's accepted that this is a critical feature, there's some interesting discussions to be had over what form the tool should take.

I don't think it needs to be in Archicad. I would go for a standalone separate application, that you can run alongside Archicad. We've seen how Twinmotion's Direct link can work really neatly, why can't we have a web app?

I've seen BImScript and Lena, but these are too complex for most people. Something like the SketchUp approach I think is the way forward.
Archicad 27 UKI | OS X 12.7.1 Monterey
Nader Belal
Mentor
@Jarrof Phillips

I'm a professional GDL and Grasshopper programmer.

So I will give you a resume:
1. Many people here are against coding in general & GDL upfront, simply because they treat it as an esoteric practice that are best leave to "PROGRAMMERS" because architects should not code ... and sometimes there problems are quiet simply to solve by two to three lines max.

2. GDL is a long term investment and should be planned as such, and I mean that you need to learn the basics just to get along and solve pressing issues, experience will come on the way, and the rest will be built up upon those basics.

3. Unfortunately, Graphisoft's GDL manuals is not a good one, if you're interested you can read my personal favourite for SIr David A. Nicholson-Cole, The GDL Cookbook. You can get both versions free.

4. With GDL you can achieve things that can't be done with Grasshopper connection, and with Grasshopper you can achieve other things that can't be done by GDL, but the power house is in the common area that can be achieved by both, since that area can be used complement the other ones.

I can give you more info, but not as much since I have signed a NDA.
A good friend of mine have once told me that I´m so brute that I´m capable of creating a GDL script capable of creating GDLs.
Jim Allen
Expert
@Moonlight

It's not that architects can't or shouldn't code, it's that it isn't an efficient use of our time. There are so many things we need to deal with that are construction-related, even learning BIM competence can be a stretch.

GDL is not a tool for end users in the way that Revit Families or SketchUp's Dynamic Components are.

Learning GDL would be like me going back and re-learning AutoLisp. As you say in point 2 - a long term investment in time.

I can justify learning something like Revit Families or SketchUp DCs. The ratio of time spent to benefits derived is way higher with these than with GDL. Admittedly I could build anything if I learned GDL, but I don't need to.

I need to build parametric components like for example furniture and the thing I really need right now - a parametric roller shutter door.

I've no idea how long it would take for a Revit family, but a SketchUp DC perhaps and hour, maybe an hour and a half, two hours tops, but that's for a component I might need for maybe 75% of my projects.

No - Archicad needs a much, much quicker and easier tool than GDL to build proper parametric library objects.
Archicad 27 UKI | OS X 12.7.1 Monterey
Nader Belal
Mentor
@Jim Allen

I´m not talking about architects who can't code because the lack of time or excess of responsibilities, I was talking that generally speaking, I have observed that most of the members here simply do not want to code, even if the ROI would help them achieve better or quicker results.

GDL is not complicated.

I will not talk about Sketchup DC as I didn't experiance it myself, but when I say long term investment, is because most of the people I know want to be the Kings of GDL library part creation for yesterday, and it doesn't work that way.

But I would like to highlight that most the available literature available for GDL, is not helpful except the one I have mentioned before. But I can offer you advise when you need.

Besides, future of architecture will be in coding.
A good friend of mine have once told me that I´m so brute that I´m capable of creating a GDL script capable of creating GDLs.
Nader Belal
Mentor
@JARROD PHILLIPS

There're few points that I have forgot to mention:

1. Generally speaking, whether to invest in GDL & Grasshopper, GDL or Grasshopper, or neither, will depend on:
1.a. How you want to plan your career's future steps (example: pure design, architectural & algorithmic design, pure algorithmic design with a focus on architectural design)

2.b. Scope:
Well if you want to be a light user of Grasshopper, well may be to only depend on the graphical representation of nodes and connections will be more than enough for you, but if you want to get deeper then you will have to learn to code, and on the Grasshopper side it would be python and C#.

If you want to get deeper, the quick way is Python, it's crystal clear to read, and quicker to learn, and it have the advantage that Graphisoft have already started on a project to incorporate python to ArchiCAD, which will avoid you the headache of learning of using the C++ api in ArchiCAD, and Grasshopper's C#, and the related incompatibilities between C++ and C#.

3. opportunities:
Well I can't walk in your shoes, but what ever was the opportunity you have available take it.
A good friend of mine have once told me that I´m so brute that I´m capable of creating a GDL script capable of creating GDLs.
Anonymous
Not applicable
Thanks for the comments!

@Jim Allen I agree with your point that architects could benefit from having a visual interface for GDL like the one you have described. I imagine this is why Revit has a lot more content available online from suppliers and manufacturers. I can also understand that not all architects have the time available to invest in learning programming be it GDL, Python or another programming language.

@Moonlight I think every architecture practice will at the very least require one person with a background in programming, this is already happening at a lot of the larger practices in Australia, they now have teams that fulfil this role. I'm not sure how many would know how to create custom objects using GDL, my guess would be not many. If you don't mind me asking what is the size of the practice you are currently working at? and how many people are working in a role similar or the same as yours? Thanks for the tips by the way, I have been learning from David A. Nicholson-Cole's GDL Cookbook 3 & 4 as well as Andrew Watson's GDL Handbook (although i have been having trouble getting myself a good copy of this). I am currently working on a Kitchen Carcass Object. this is taking a considerable amount of time and focus, I would love to pick your brain if you would be so kind!

Thanks!
Nader Belal
Mentor
@Jarrod Phillips

First mistake:
many offices do not use revit cause they can model families, at the best you could consider it a plus, most of these offices were AutoCAD users, so when Autodesk gave them revit,it was a natural for these clients to make a switch.

Second mistake:
Manufacturer providing their content in Revit, is based on each company's marketing strategy and clients.

Answering your questions, I work as a freelance for a UK client, I would have shown some of my work, but since I have signed an NDA, I can't show you any

PM me
A good friend of mine have once told me that I´m so brute that I´m capable of creating a GDL script capable of creating GDLs.
runxel
Legend
On the general question, if GDL is worth it:
Whatever broadens your knowledge is probably worth it 😉
It's also a question about your goal. There are only a handful of people who are doing GDL in a (near) fulltime manner worldwide.
But as already mentioned, sometimes you just have to "scratch your own itch" – and then it certainly helps to know a bit of GDL. Every office I was in didn't looked for someone who can do GDL. But in the end everyone of them was happy that I did, because it eased many things. So while most architecture firms will not really look out for us specifically, knowing GDL is still a valuable asset imho.

And there are certain aides, which will help to utilize GDL more easily.

Also good time to cite this ol' classic:
(Families only seem to be flexible and more easy than GDL. The opposite holds true)

Lucas Becker | AC 27 on Mac | Author of Runxel's Archicad Wiki | Editor at SelfGDL | Developer of the GDL plugin for Sublime Text |
«Furthermore, I consider that Carth... yearly releases must be destroyed»
Nader Belal
Mentor
@runxel

I'm Nader 😉

would you please how to use your colour coding for VS Code??
A good friend of mine have once told me that I´m so brute that I´m capable of creating a GDL script capable of creating GDLs.