It comes form Geometric Description Language and it is a creation of the Hungarian team which invented the first entirely BIM orientated application for architects - ArchiCAD. This language is the basis of Archicad, it is used in all its features, including the most important one - describing the geometry of 2D and 3D objects which are the working instuments of BIM and on the whole - architectural project making with ArchiCAD. GDL is based on BASIC language and because of its simplicity and power it gives us the freedom to make interesting and useful parametrical objects.
The easiest way to work woth GDL is to use the embedded GDL editor in ArchiCAD. Of cource you need a valid ArchiCAD license for it. The editor has multiple windows for each view and code page.
Main library editor window. This is where all starts - object name, type, license and other information is added.
Parameters editor window. Here are defined all parameters and their types. Initial values are also added.
Script editor window - 2D script in this case.
View window for the result object. 2D window in this case.
Open ArchiCAD and reate new library part. Go to file -> libraries and objects -> new object. The initial library editor window will open. Fill in the form with the required information - write your name, select subtype (or use default), click Placeable if this is a stand alone object or Use as subtype if you want to create part of other object. Then select the type of license and fill in Description and Keywords.
If you wish to change some attribute of your object programatically you need to define custom parameters. This is how you do it. Open Parameters tab. You can use the pre-defined parameters and define your own. Predefined are the 3 main dimensions - A, B, ZZYZX. These are the same as X, Y, Z in other applications but for some reason named like that. If you wish to create custom variable, click New button and fill in the details - Variable name, Type, Display name and value. You can also chose if the variable is displayed in ArchiCAD ot not wit the red X in the beginning of the line. There are different types you can chose from. Some of them are strictly geometrical - Length, Angle or graphical Material, Color, Line, Profile, Fill. Other are typical for programming - Real, Decimal, Boolean, Array. There are also helper types like Separator and Title.
Scripts are the place where you write your code. There are different script windows in the editor. Master script is used for declarations which are valid for all other code and globally defined. 2D script provides the code for 2D representation of the object. And 3D script models the geometry itself. You need to know the syntax of GDL to write all scripts. If you need to learn base concepts you can use our GDL cheatsheet. But have in mind that GDL can be far more complex and is quite powerful like every other programming language.
For constant preview of your changes while writing the scripts you can use the provided 2D view and 3D view windows. Everything is live updated when changes to core or parameters are made.