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
Anonymous
Not applicable
Olivier wrote:
-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.
Hi, guys

I had a similar idea few years ago. At the time i was often scripting elements in GDL. I was annoyed with constant need to precisely modify values, so, at one point created a link between simple forms. I created new object, point in 3D, and passed it's value to one of the generating functions. So, now, when i open 3d of my, say, extruded profile, i have points on it that i can drag in 3d, and form adapts to new position of the point.

I abandoned further development because i can't call rebuild form gdl script, so i have to rebuild 3D manually every time. Even offered the code to Graphisoft at one point, but never heard from them.

Anyway, it can be done without moving to GDL2.0 Adding couple of commands to current GDL would be enough. Not that i don't hate current syntax

And, for classes, you can use macros. Since you can always call a macro and pass the parameters to it, I'd say that's it.
owen
Newcomer
ztaskai wrote:
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.
GDL does not necessarily need a new 'format' .. unless of course you mean new commands .. a LOT of new commands. And a completely new interface - taken from a slightly off-topic post earlier today:
owen wrote:
Rob wrote:
... this would require much more powerful GDL code base which I think is unnecessary. The overall goal should actually be moving from coding as such to more graphic tools.


Yes a good graphical editor really is a must - I don't know why Graphisoft still haven't shown any intention of doing something about it. If done properly it could make ArchiCAD incredibly powerful compared to what it is today for parametric design. ArchiCAD's modeling capabilities need to step up before they get left in the dust, and when they do anything that the AC engine is capable of creating should be accessible via this graphical object editor. Although I agree the goal should be moving to graphical editing, the editor should also provide for working in both 3D and code views - a split view would be ideal, so you can see the effects of working in one mode 'live' in the other. But all this has been done to death and seems to be falling on deaf ears...
Rob wrote:
Secondly it would be a huge overhead to program an internal interpreter that would allow for 'degrading' a code to earlier versions. In fact I think it would not be possible at all in some cases (SEO, movable hotspots etc)
Agree it is not really feasible to include a converter but you should be able to save back to earlier versions if you want to and run the risk of it not working. I have mistakenly edited an object in AC12 several times when running AC11 in parallel - there is no recourse other than your backups. This is completely ridiculous when I know for certain all the code is actually AC10 compliant.

What this new editor should have is some form of code validation check with AC Version options highlighting code that is not compatible with the selected version.

So yes i guess you could say 'edit again' is an important function. The new interface should allow you script any model entity ArchiCAD is capable of creating really.

One more thing .. Maxonform was a graphical GDL creator (via 3rd party app) which allowed you to 'edit again'. It was in no way parametric though.

Please promise you will never, ever ever do something like that again.

and lastly
ztaskai wrote:
Unlike for GDL2.0, we have (mid-long term) plans for such a solution. It has to come someday.
The day is long overdue - this has been near the top of so many users wish lists for such a long time ... years and years, many versions of AC. Nothing has really changed in GDL and absolutely nothing in terms of how we work with it. So we can only assume alot of planning has been happening these past years. High expectations ..
cheers,

Owen Sharp

Design Technology Manager
fjmt | francis-jones morehen thorp

iMac 27" i7 2.93Ghz | 32GB RAM | OS 10.10 | Since AC5
Anonymous
Not applicable
First i have to say i am socked. A guy from Graphisoft actually discussing in here!! This is a very pleasent suprise

Some basic thought - assumptions.

1) Sketchup shows clearly how intelegent and usefull objects can be
2) You should not let the past drag you down because in the end, it will bring the whole project down.
3) I will again use Sketchup as a paradigm to point basic axes

a) Ease of use: A basic interface to create objects, with basic interactivity etc
b) Advanced use. The graphic design interface (from (a)), actually generates code. An advanced user should be able to continue and build on that code.

4) Object oriented approach, interactivity, access to the building database... Does this sound like Ruby . There are free Langs out there. There is no need to stick to GDL (although i am sure you will) and hold the project back many years.

As for backwards compatibility, i guess just viewing the mesh would be possible. Its time (or better its already late) to move on
vistasp
Advisor
oreopoulos wrote:
First i have to say i am socked.
Knocked you off your feet, did it? 😉

Zsolt has been posting of late and it's always nice to hear from someone on the team.
= v i s t a s p =
bT Square Peg
https://archicadstuff.blogspot.com
https://www.btsquarepeg.com
| AC 9-27 INT | Win11 | Ryzen 5700 | 32 GB | RTX 3050 |