Tuesday - last edited yesterday by Barry Kelly
I managed to convert several GSM objects and GDL macros to XML, modify them, rebuild them, and load them back into Archicad as GSM files. they work perfectly after several compilations,
The only thing I'm stuck with now is the GDL compilation.
The code is compiled by Archicad, so outside Archicad I can modify the GDL, but I have no way to know if the code actually compiles correctly until I open it in Archicad.
Is there any way to compile GDL outside Archicad?
Maybe an external compiler, command-line tool, SDK, or something used internally by Archicad that I'm not aware of?
If there is a way to do this, it would be a pretty big deal for what I'm trying to build.
Has anyone ever managed to compile or validate GDL code outside Archicad?
Tuesday
There is not an external compiler. Actual GDL coding is discussed in a separate developer forum here:
https://community.graphisoft.com/t5/GDL/bd-p/forum-gdl
Tuesday
It's called the LPXML_Converter. It's technically a separate app inside the Archicad install dir.
yesterday
I am using Cluade AI Pro and creating GDLs with no problems. Claude writes XML code and then I translate to GSM with LPXML_Converter and vice versa. No manual coding. Made large quantity of GDLs for office use.
yesterday
i'm actually using LPXML_Converter to convert generated Xmls from Claude AI too , i thought there is a way to check the code before importing inside archicad , to avoid multiple conversions of Xmls ,
So actually it's the only way of doing things ,
yesterday
Yes. A syntax check like in Archicad is essentially possible with Graphisoft’s LP_XMLConverter.
LP_XMLConverter convertlibrary -checkall <temp-src> <temp-dst>
I use it in a VS Code based GDL development environment. The GDL source is edited outside Archicad and rebuilt/validated through LP_XMLConverter. Together with Graphisoft’s GDL VS Code extension this gives you syntax checking and a GSM build workflow without opening Archicad.
I wrapped the complete workflow here: GDLnucleus.
yesterday
Very interesting !! i'll give it a try ,
yesterday - last edited yesterday
I’m currently using Claude in vscode to create and edit GDL objects for me. I’ve currently got it compiling and checking the code for errors itself and with the tapir api, reloading libraries, placing object and editing parameters to allow Claude to write the code, check it, load the updated object in Archicad and place test objects and test different parameters while its trying to work something out or resolve a GDL error.
It has created a Claude skill and has a powershell build script to run the lpxml converter compile command and object error checking and another powershell script to run the tapir api functions.
It’s incredibly impressive. I’m in the process of trying to determine how to make the skill shareable with the intent of adding in more gsl
reference guide info and best practices.
I had a few missteps at first, it was creating a new object with no subtype, so I couldn’t place it, it’s gotten caught on itself using incorrect array structures or array indexes. But once I told it how to check for errors itself before it compiled it’s just been solving its own issues, and I just test out whatever new feature it’s added to the object and give it feedback on where its needs functional adjustments.
The current little project I was working on this evening was porting the dynamic hotline object that posted @sinceV6 posted here into a batten screen object that can have adjustable batten colours for every batten. Has only taken me a couple of hours to get something functional.
It’s great at writing the UI interface too!
3 hours ago
This discussion is little bit beyond my coding skills, but aren’t these “vibed” GDL objects written entirely in binary? Do they include parametric variables like we see in traditional GDL script? Can they be easily edited or does any change require an entirely new object?
2 hours ago - last edited 2 hours ago
The LP_XML converter extract each script in a folder (the parameters is in an xml format). The AI uses the same tool as us, minus the alert/verification info that we can retrieve when we code directly in archicad. So you can edit them as any other object.