Find the next step in your career as a Graphisoft Certified BIM Manager!

Archicad C++ API
About Archicad add-on development using the C++ API.

Automaton - New Open Source GDL Project

Podolsky
Ace

Dear all.

I was busy in past half year developing a new set of tools for Archicad. Now I feel it's time to share - what I'm actually working on. It's a new program, written completely on GDL (on Archicad 10, by the way), called Automaton. The idea behind it - to create a mini platform with built-in elements of AI (well, mini AI, just smart algorithms). Saying another words - to make smart GDL objects more smarter.

The first step of this development is to build UI elements, that would be reliable and simple to use and simple to implement into any sort of GDL objects. Archicad has quite advanced UI system in GDL, but I didn't see much good implementations of it.

Current program has got menu structure, launchpad of apps, scrollable text field and mini-CAD. Mini-CAD called QuickDraw has got simple structure of generating drawing directly in UI window. Using QDraw algorithms it is possible to make dynamically changeable previews of elements (to compare to current system, when all previews in UI are static images). Also I introduced new system of variables management and GDL syntax called #JAZZ, that helps to reduce amount of errors in GDL code and easier manage information exchange between macros. Scripts also recognised which platform is used and which Archicad version it is. Was chosen GDL version 22 (Archicad 10) - to be sure that it will work on ALL available today Archicad versions.

Please note - this is very early preview. I'm sharing actual working folder - so, content of it will change in time. Many functions are not available yet and are under development. And of course - there are some bugs. But for the early preview it's good enough - to give an idea how it's working. Currently there are two files, that working - Giza and QDraw. Just upload content of shared folder and add all into Archicad as a library and open Giza. It looks like mini operative system. In menu you can find 'Applications' and launch QDraw (another applications are not available yet). Feel free to review, make comments. If you like to joint this development - you are more then welcomed - this project is too large to handle it only by myself, when the effort I'm trying to make - for the whole community.

The link: https://drive.google.com/drive/folders/1DbtvW2hflgfpSWM42NmE7nPfVwdgAZXP?usp=sharing


Automaton England.jpg
6 REPLIES 6
Mathias Jonathan
Advocate

Thank you for the sharing. It seems a lot of work and very interesting.

I still don't understand exactly what the result would be for a finished gdl object.

Well, let me explain a little bit more. First - this is mini-operative system with applications. Each application can do something - let say make a window, road, stair, landscape. That means another developers can include their applications here (can be commercial or free). What they are benefiting? At least they are getting menu, search engine and screen size control. Menu, search and application list are simple text files - that means it's very easy to modify it and create any menu that you like. Quick Draw - simple (let say primitive) mini cad, that allows to draw basic shapes and create GDL object without knowing any GDL or using RARAM-O. Algorithms of QDraw can be used to generate dynamic previews - let say when you change proportion of window it can show actual size in UI dialog. Idea of Node application - to make something like Grasshopper or PARAM-O for composing complicated, multi-parametrical objects. Projector suppose to assist with building elements - walls, slabs, structure. Pipe (with Mario) - application, that builds MEP objects. Much nicer and simpler for user program instead of using Library Part Maker and expensive (but not always good) Add-Ons. Also few words about Add-Ons. Not everyone able to build Add-Ons because of C language. Add-Ons need compilation for each new version (and testing for bugs too sometimes!) and both platforms. To use GDL instead is simpler and it works as Java or HTML - once written works always. Yes, we can argue about Python. But while Python in Archicad will take proper shape - can take years of development. And, finally, if this system re-write on HTML and JavaScript - we can get online version of it - so you would be able to create GDL objects on smartphone. If include IFC support - then it's just library element builder without limits to any BIM platform.

That's a great development!

I had a "Terminal" version of a GDL automator that i built for myself using C++, it would produce the texts for different basic shapes and extrusions using pre-determined anchor spots, with a very primitive character generated "interface".
I'd like to help if possible, please PM me so we can further discuss.
I loved the Sabotage reference at automator. 😎

Archicad User Since 2013
GDL Developer
Experimenting with API
from Brazil
Podolsky
Ace

Documentation has got update. Now it contains description of #JAZZ language, structure of variables, menu, apps and console data - information useful for people who would like to try make their own app and include it into Automaton.

 


Screen Shot 2021-11-15 at 15.52.52.pngScreen Shot 2021-11-15 at 15.53.23.pngScreen Shot 2021-11-15 at 15.53.23.png

Screen Shot 2021-11-15 at 15.53.51.png