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

A more "object oriented" GDL format ?

Anonymous
Not applicable
Does anyone have any idea if GDL could evolve towards a more "object oriented" programming language ?
I mean by that that you could use functions instead of subroutines, classes etc.. and other things that make it easier when building complex algorithmer.
I think it could give GDL another level of use, as a study tool to experiment.
When looking at things generated through Maxscript or Rhinoscript in youtube you can see som interesting examples.
GDL is I think is far more interesting I would say due to its smart way of describing geometry, but its weak point is IMHO its syntax which is too close to Basic instead of javascript or other languages.
That would be a great thing if it should happen, but I have no idea if it is possible
best regards
13 REPLIES 13
ztaskai
Graphisoft Alumni
Graphisoft Alumni
All of us see clearly that the current syntax and logic of GDL is very far from object orientation (except for solid operations). This change would be so deep that GDL would have to go GDL2.0 with no compatibility with current GDL. Knowing this, such a change could imply changing the Basic-like syntax for something Java-like or Python-like or whatever.
This would surely improve the readability and modularity of GDL source code. But this change wouldn't add anything to the descriptive power of GDL. This second reason makes this revamp less valuable. Less valuable than its tremendous cost.

There may be a time when going object oriented will be the reasonable decision for Graphisoft. I'm quite sure it won't come in the next couple of years. There are a lot of smaller fixes which can make GDL better.

I don't want to kill this idea but I would focus on the little annoying things instead.

I'm sorry to bring the realities in this idea-topic:)

Regards,
Zsolt
Zsolt Táskai
ArchiCAD Development - GDL Team
AC13, AC14 and upwards...
vistasp
Advisor
Olivier, I don't know a thing about object-oriented programming so could you explain how it would benefit GDL?

Have just got a handle on some basic and am not sure if a more powerful and therefore (possibly) more complicated language is compatible with my architect's brain. 😉
= v i s t a s p =
bT Square Peg
https://archicadstuff.blogspot.com
https://www.btsquarepeg.com
| AC INT | Win11 | Ryzen 5700 | 32 GB | RTX 3050 |
ztaskai
Graphisoft Alumni
Graphisoft Alumni
vistasp wrote:
Have just got a handle on some basic and am not sure if a more powerful and therefore (possibly) more complicated language is compatible with my architect's brain. 😉
Thank you for bringing up this angle. You are right: normal architects would need a replacement for GDL before making it even more sophisticated. This is a definite prerequisite which postpones the issue some more.

Regards,
Zsolt
Zsolt Táskai
ArchiCAD Development - GDL Team
AC13, AC14 and upwards...
Anonymous
Not applicable
ztaskai wrote:
Thank you for bringing up this angle. You are right: normal architects would need a replacement for GDL before making it even more sophisticated. This is a definite prerequisite which postpones the issue some more.
Perhaps it should actually hasten the need to deal with the issue.

The average architect cannot get their head around the current GDL. A new approach needs to be taken. The actual direction is not particularly important, it just needs to be presented in a format that is not so arcane and unfriendly.

I'd prefer it if the majority of the GDL was 'hidden' from the general user, and a sophisticated front-end built that allowed objects to be constructed visually with parameters. If the advanced user wanted to fiddle with the code manually, they should still be able to.

I wouldn't be surprised if something like this actually satisfied 70% of peoples needs at the moment. A large proportion, whatever the figure.

Maybe you need to get someone like Ralph onto it!
ztaskai
Graphisoft Alumni
Graphisoft Alumni
Peter wrote:
Perhaps it should actually hasten the need to deal with the issue.

The average architect cannot get their head around the current GDL.

...
Sure. We need to do something. But you should see that this isn't a pure coding issue a talented programmer (like Ralph) could solve. This is a heavy design job to produce a good interface and workflow which integrates fluently with ArchiCAD.

Unlike for GDL2.0, we have (mid-long term) plans for such a solution. It has to come someday.

Regards,
Zsolt
Zsolt Táskai
ArchiCAD Development - GDL Team
AC13, AC14 and upwards...
Anonymous
Not applicable
I undestand your point, and didn't realize it would be such a huge step for GDL.
Anyway I hope this mid solution will come soon!
But I would like to say 2 more things:
-A GDL2.0, or object oriented GDL wouldn't necessaryli be more difficult than the actual GDL, quite the contrary as it would be similar to most of the other programming languages out there.
-Another obstacle to using GDL is the fact is that if you are using it to model something, you have then to do all modifications through GDL, and this can be scary(and difficult). It would be really great if you could at some point "explode" the GDL" into primitives and adjust the things manually.
Or maybe this:
Without exploding the object you kind of freeze it with its actual parameters and 3d, and edit the primitives a bit like a block editing in Autocad and then save the object. At this point the object doesn't follow any longer the 3d script, but its geometry is as saved during the edition. You might then at a later time unlock it and make it follow again the script.
Hope you have your own ideas at graphisoft on that.
Keep up the good work!
Olivier
ztaskai
Graphisoft Alumni
Graphisoft Alumni
Thanks for the further ideas.

I think the "editing again" thing must be a basic feature of any custom content creation function. We'll remember this when designing this functionality.

Regards,
Zsolt
Zsolt Táskai
ArchiCAD Development - GDL Team
AC13, AC14 and upwards...
Anonymous
Not applicable
Hello Vistasp,
you asked for explanation about the advantages of a more obj oriented language.

I see two examples at first sight:

-it is easier for complex prgorams with lots of variables, as they are local to functions they are created in.

-The big adv.: you could have nested objects (for ex. balusters and posts in a railing) with their own parameters adjustable form the top object. As it is now you have to make a parameter to choose the subobject (with already defined possible values), and create in the top object the same parameters as in the subobject to be able to change those latest. This makes it virtually impossible to create really versatile objects which would mix many subobjects, as in Revit for ex.
In a good obj oriented system you could get access to the parameters of subs as well as to choose which subs you want without locking their possible values from the main object.

There are surely more things to say about this subject.

Best regards,
Olivier
vistasp
Advisor
Thanks for the details Olivier. It would be great to create more complex and intelligent objects. My only worry as an architect is the complexity of the language itself! 😉
= v i s t a s p =
bT Square Peg
https://archicadstuff.blogspot.com
https://www.btsquarepeg.com
| AC INT | Win11 | Ryzen 5700 | 32 GB | RTX 3050 |