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

Visual GDL editor [again]

Anonymous
Not applicable
I’ve just finished manufacturer’s object library for ARCHICAD and Revit. When I was asked to do this job hourly, I had to estimate three times the time for ARCHICAD GDL programming than I had to for the same Revit family. Revit family editor lets me do all the BIM object creation tasks at least three times as fast, hence the difference.

I think the time has come to finally create a visual GDL editor to supplement all the other great features of ARCHICAD.

Today, world’s BIM software acceptance hinges on BIM object availability, and no matter the refined parametric ARCHICAD libraries we have now, they are no match for countless manufacturers’ objects that need to be created daily to represent all the BIM building components. Without proper GDL visual editor ARCHICAD is loosing the battle and people choose BIM applications with better BIM object support.

I can’t think of any feature for AC23 and beyond that may have as high growth impact potential for ARCHICAD franchise than easy to use Visual GDL editor.
88 REPLIES 88

Anonymous
Not applicable
@ leceta

IMO AI will never make the role of the Architect irrelevant. On the contrary. The only thing that AI doesn't have and we humans have is that "je ne se qua" inherent to the human condition that its not logical to any machine but Arts represent in a sublime way. Like this.

DGSketcher
Virtuoso
I thought that was an AI design.
Apple iMac macOS Big Sur / AC24UKI (most recent builds)

Anonymous
Not applicable
It was cataloged in the Algorithmic Design session.

leceta
Expert
On AI and coding literacy:
"State of the art machine intelligence today is usually provided as libraries of code, written by large-scale influential companies, (for example Google’s TensorFlow or Facebook’s Pytorch) structured by professional engineers such that the involved architectonics and procedures conform and reinforce the engineering problem-solving mindset. Anyone not able or willing to adhere to this mode of operation—for example architecture, which is neither a discipline, nor it is strictly about problem solving—is kept at a safe distance, and offered tools and tutorials. The knowledge about a computational concept, for example a much-hyped GAN, is offered to the peers as a complex technical paper, and to the rest, simply as a library of code to be played with. If an architect, willing to reinvent her field in today’s novel and significant technological context wishes to acquire the necessary literacy to navigate the space where the knowledge is created and negotiated, she faces considerable difficulties. Prerequisites to enter the field are the same as for future engineers, along with pedagogic principles. If, on the other hand, we are unwilling to pursue this literacy, we are once again in a situation to simply accept the tools and let them write our legacy. However, this time, the shortcut that we would be taking might have far greater consequences than before. It could, in fact, do a great honour to computer science by allowing it to turn a three-thousand-year-old legacy of architecture into one of its particular specialisations."
Nikola Marinçic

Nader Belal
Mentor
Here Here to @leceta
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.

DGSketcher
Virtuoso
Well there's a lovely example of a self important elitist spewing irrelevant effluent. You could almost read between the lines "Either you are with us, or you are with the terrorists". As Rob2218 might say, "Can you translate that to the language a five year old would understand?". Perhaps leceta could enlighten us to the author's site experience & relevance to this debate?

I find this faith in AI troublesome, each day we seem to be faced with more & more IT related problems, many of which are self inflicted because adequate checks have not been made prior to implementing the software. Try asking GS for a list of their current known factual hard proven bugs, I doubt you would have much response, so why should we believe Google & Co can be trusted even more?
Apple iMac macOS Big Sur / AC24UKI (most recent builds)

Anonymous
Not applicable
Nikola wrote:
It could, in fact, do a great honour to computer science by allowing it to turn a three-thousand-year-old legacy of architecture into one of its particular specialisations.

This statement tells much about how the author sees Architecture in comparison with Computer Science.

Again. Repetitive/Mundane tasks will be done by machines. It is not SciFi, its reality. At this moment cars and trucks are driving autonomously, Bots are chating with humans, Super computers are predicting weather, Facebook algorithm knows your political orientation, Most Engineers (if not all) don't calculate their structures by hand.

My point is: Its not wise to try to compete with machines in tasks that only involve logic. Instead, we have to leave them do what we shouldn't be doing; and do what they can't. But please forgive me to say: "three-thousand-year-old legacy of architecture" will always be much, much more than a Computer Science specialization.

DGSketcher
Virtuoso
Sorry, Braza, we're on the same page but...

At this moment cars and trucks are driving autonomously - Crashing & killing people
Bots are chatting with humans - and hacking forums & personal accounts
Super computers are predicting weather - Well they used to before climate change messed up the algorithms, now I can't even get a reliable prediction for next week
Facebook algorithm knows your political orientation - Only if you subscribe & give them your data to abuse
Most Engineers (if not all) don't calculate their structures by hand - but the educated will have a sense of what will be required and will interact to find a practical solution.

Machines & logic - great, but please recognise them as only a tool. The more they are entrusted to autonomous decisions the greater the scale of disaster when it eventually goes wrong - and it will. Hopefully it won't be an existential event, but you can see how someone sneezed in China and the financial markets are having a melt down over something which has a death rate way below influenza or cancer.

But please forgive me to say: "three-thousand-year-old legacy of architecture" will always be much, much more than a Computer Science specialization. - Very true!
Apple iMac macOS Big Sur / AC24UKI (most recent builds)

Anonymous
Not applicable
I know DGSketcher, that these facts are mind blowing. But lets not forget that every new technology needs time to adapt. I always remember the case of the elevator and the so called "Elevator Operator" (and not many of us ever saw one). At the time elevators were considered too dangerous for a not trained person to operate. And today... We only see them in very expensive hotels as a way to charge loads of money from its guests.

So. Relax that it will hurt less.

Jim Allen
Contributor
I learned to program in Autolisp years ago, and in SketchUp I became really competent in building dynamic components.

Now I use Archicad, I have GDL. However - this is just not an acceptable solution for ordinary users. Honestly, there are so few objects available by comparison with Revit or Sketchup.

Here is an example - Data cabinets. I downloaded one from BIMObject and found basically an imported Solidworks object with a ridiculous polygon count, and a load of standard parameters to edit. Try downloading things like hand driers, taps and furniture - it's ridiculous. The BIMobject guys seem to have no understanding whatsoever what BIM is for.

Commercial gates are another example of stuff we ought to have.

The reason we don't have enough good parametric objects is because GDL is much too inaccessible.

I think an approach is required which allows interested users to learn a little and be able to build properly parametric objects.

Something like the SketchUp Dynamic Component approach would be perfect. I tried Library Part Maker, but it's far too much effort for static components. Let's be honest, most of us probably want to build dynamic parametric components. Creating objects is easy enough if you don't want to mess around with levels of detail.

SketchUp DCs use the principle of manipulating instances or predefined geometry. You can stretch, rotate and array them and very quickly and effectively build properly parametric objects without having to define the geometry point by point. I have built dynamic windows and wall panelling with different patterns and options for skirtings and mouldings. Everything is based on arrays of instances of predefined geomteric components, most of which are arrays of simple cubes with the dimensions modified.

It ought to be possible to create a web-based application simply for building Archicad components. After all - you only need a small subset of Archicad's tools. There is a web-based version of SketchUp, so it shouldn't be *that* difficult. It could even export IFC components for other applications.

A web application avoids all the tedious updates and installation that we normally have, and avoids the cross-platform complexity.

You could also have a efficient workflow which takes you through building your 3D object, your 2D representation, modifying levels of detail, and adding parameters. This could also be a separate application done by a standalone team, that simply adds a front end to building traditional GDL objects.

GDL in itself is fine. Nothing at all wrong with it - it's just not a tool for over 90% of users. We need a front end that is sensible, intuitive, and accessible.

Grasshopper is another complicated solution to the problem. We should not have to download another expensive standalone 3d modeller to build Archicad objects.

Come on guys, there is a really easy solution to this. Look at Sketchup DCs and improve on that approach.
The attached screenshot shows what the UI looks like.
<p> </p>
You create/select named components, and define the origin point.

Then in the sections under the main definition, you control the copies, dimensions, position and rotation.
Arraying is done by setting the position variable. Supposing you want the user to input the number of copies (or derive them from the dimensions inputted) you use this to set the number of copies, and position is something like in (say) the X position box, as
copy*intervalSpacingVariable
If you want an offset, you could use:
offset +(copy*intervalSpacingVariable)
Like this:
<p> </p>
It's actually pretty straightforward.

If you look at the screenshot, next to some of the variables, you have a little dialog icon. Click on this and you have an option to configure user input like this:

<p> </p>

Of course the UI is a lot simpler than Archicad, but the approach I think is valid.

The point is that with a really simple UI and input dialogs, you can build some really useful complex parametric objects, and it's so much easier than GDL

Jim Allen
Contributor
leceta wrote:
On AI and coding literacy:
"State of the art machine intelligence today is usually provided as libraries of code, written by large-scale influential companies, (for example Google’s TensorFlow or Facebook’s Pytorch) structured by professional engineers such that the involved architectonics and procedures conform and reinforce the engineering problem-solving mindset. Anyone not able or willing to adhere to this mode of operation—for example architecture, which is neither a discipline, nor it is strictly about problem solving—is kept at a safe distance, and offered tools and tutorials. The knowledge about a computational concept, for example a much-hyped GAN, is offered to the peers as a complex technical paper, and to the rest, simply as a library of code to be played with. If an architect, willing to reinvent her field in today’s novel and significant technological context wishes to acquire the necessary literacy to navigate the space where the knowledge is created and negotiated, she faces considerable difficulties. Prerequisites to enter the field are the same as for future engineers, along with pedagogic principles. If, on the other hand, we are unwilling to pursue this literacy, we are once again in a situation to simply accept the tools and let them write our legacy. However, this time, the shortcut that we would be taking might have far greater consequences than before. It could, in fact, do a great honour to computer science by allowing it to turn a three-thousand-year-old legacy of architecture into one of its particular specialisations."
Nikola Marinçic
I'm sorry, the words are in English, and they are all in the right order, but I'm struggling to understand this.
The bits that I do understand I think are completely wrong.

The only people who tell us that AI will replace architects, are those who don't actually properly understand what we really do.

Jim Allen
Contributor
I had a quick play with how this might work. I mocked up an interface proposal, which I have attached below. It is based on the principle of making individual components using just the slab tool. It allows quite a lot of flexibility, but anything that is more three-dimensional can be modelled with the morph tool and loaded.

It keeps things simple.

There is not too much wrong with the current GDL editor. It's arguably too complex, but the key issue is that you have to script geometry creation as opposed to drawing it. This is the single biggest obstacle to making new parametric objects.

The idea is that you draw named geometrical elements, configure the materials, fill, line types and colours etc, and then you can change the scale, rotation and location of these relative to one another, and you can use the parameters in one element to drive those in another.

It also separates the specific elements of the Object Properties box, so they can be configured in isolation.
There are lots of things that Objects can include, and configuring these in discrete dialogs is not a bad approach.

You will notice that the Appearance in 2D and 3D is based on changing to the specific view in the preview box, and then clicking an edit button, so the preview acts as the way of configuring the views.

This is intended to be a starting point for discussion, not a fully-formed proposal.

Comments are encouraged!

leceta
Expert
I'm sorry, the words are in English, and they are all in the right order, but I'm struggling to understand this.
The bits that I do understand I think are completely wrong.
Understanding just the bits is not enough. This (could) lead you to decontextualize the words.

In my understanding, what the author wants to say is that architects using tools developed by people from other disciplines (software engineers) are ( arguably) limiting their "design space" to foraneous mindsets. So the interest of having architects literate in coding.

BTW, one of the lemmas of Graphisoft has been that ArchiCAD is "designed by architects for architects"

TMA_80
Contributor
Sorry to ask this, but regarding the visual interface, Is "the library part maker", a potentiel take ( vs the family editor in Revit)?
Or, is the nodal approach: Marionnette, Grasshopper, Dynamo. the real next step and take?

Maybe, both...
AC12_20 |Win10_64bit|

mikas
Advocate
I think that if there ever was an easy way to implement a general visual gdl-editor, it would have been done already. By Graphisoft itself, or by a third party developer. GDL, it’s an easy to comprehend language. I by myself have done a couple of objects from the ground up. A coordinate tool, and a water slide object. The latter one is still in use today, and it works just like it is intended to. Both of them were scripted as of late 90’s if I remember it right.

For me it’s been a while though with scripting, and it’s more complicated today than it was a couple of decades ago, I think. I would love a visual gdl editor. It would be magical for me and for everybody who are here today working with ArchiCAD.

Having done a couple of gdl-objects myself, I don’t think it’s an easy job to make and realize that kind of an editor. There are much too many variables in it.

I believe strongly in grasshopper connection myself. It’s visual enough, and mathematically more powerful and versatile than what gdl in itself is. GDL, as old as it is, does fulfill it’s purpose unbelievably well still today - as a geometry engine. I am amazed what they did back then at ´80s in GS Hungary laboratories. Great Job, thank you.

And then were are these other languages too to interact with ArchiCAD, like Python, which I am not familiar with, unfortunately.
AC25, Rhino6/7+Grasshopper, TwinMotionMac Pro 6,1 E5-1650v2-3,5GHz/128GB/eGPU:6800XT/11.5.1 • HP Z440 E5-1650v3/256GB/RVII/W10Pro

Podolsky
Mentor
In time of ArchiCAD 5 existed program called "Visual GDL" - that had possibility to model shapes with the mouse and write GDL scripts too. But it never came out from beta stage. Probably that time computers gave more limitations for complicated 3D tasks, or was not enough time to develop this software or initial algorithms were wrong.

As about current stage, I think GDL is absolutely perfect tool for creating cool libraries. It has a lot of possibilities, and it's sad that not so many people are able to use full capacities of it. Yes, it's quite complicated for architects and it's necessary to sit with language at least 2 years before getting great results.

Now, with PARAM-O version the problem of creating quick library parts looks like solved for whom does not like scripting.
As about users, who like GDL scripting, would be very good present as update of GDL editor interface. It's just outdated. Several things can be done there - from colour coding script to ability to "draw" 3D and 2D shapes, when program will generate the script, that late can be altered by user.
So, back to 90-ies to Visual GDL project!

vdentello
Contributor
Well, Param-o has its highlights, but i still believe GDL editor could benefit from a little update. I always say that here.
Archicad User Since 2013
GDL Developer
Experimenting with API
from Brazil

David Collins
Enthusiast
27 years ago (!) Visual GDL was definitely a good start, let’s not get too nostalgic. It had its issues:
• Crashes were frequent and final.
• It scripted objects in binary. Parametric variables were not possible.
• The interface was clunky and baffling, as was the documentation.

We have a pretty decent Visual GDL editor already built into ArchiCAD: the object editor combined with drag-and-drop from ArchiCAD proper. Any Archicad element can be dropped into the object editor and it will write out the script for you. You can then tweak that script to accomplish pretty much anything you want.

Okay, maybe it’s not that simple, especially for someone who refuses to learn even the most basic GDL, but I think expanding the drag-and-drop interface would be a more promising approach to Visual GDL than the direction PARAM-O is taking.

What if you could take a simple 2d polygon drawn in ArchiCAD, drop it into the object editor and a menu would walk you through a dialog that converted it to any kind of 3d object you wanted ?
David Collins
Win10 64bit Intel i7 6700 3.40 Ghz 32 Gb RAM
AC 24.0 (3022 INT FULL)

Anonymous
Not applicable
27 Years!

David wrote:
What if you could take a simple 2d polygon drawn in ArchiCAD, drop it into the object editor and a menu would walk you through a dialog that converted it to any kind of 3d object you wanted ?
I think this approach could be more productive than Param-o. The thing is, AFAIK, Param-o is more an assembly tool than a modeling one. Your suggestion along with the introduction of new GDL commands like a proposed StretchPlane/Poly, or even some sort of Stretch Modifiers for the GDL editor, could be more useful.
Cheers,

DGSketcher
Virtuoso
I still think a Block / Module solution is needed that would also address many users need to make one off or limited use models. And then there's Library Part Maker and If something is going to be used regularly & needs to be parametric then there's GDL or Param-O.
Apple iMac macOS Big Sur / AC24UKI (most recent builds)

Start a new conversation!

Still looking?

Browse more topics

Back to forum

See latest solutions

Accepted solutions

Start a new discussion!