New GDL Features in ARCHICAD 23

This section contains a fly-through of the new GDL features in ARCHICAD 23.

New data type: dictionary

It is now possible to organize variables and parameters in a structured way, similar to many other languages. Dictionary data type – declared with the keyword DICT – is a hierarchical collection of key-value pairs, where values can be other dictionaries or arrays too.

dict pointA, object
pointA.x = 1
pointA.y = 2[3].edges[4].points[5] = pointA

This technique

  • allows more readable and easier-to-maintain code
  • can be used when more-than-two dimensional arrays would be needed
  • reduces the number of variables needed for data exchange between AC and GDL objects (global variables and requests)
  • reduces the number of parameters needed for data exchange between objects and macros

For more detailed info, see

New functions in PolyOperations add-on

Polygons/polylines can be given as a dictionary when communicating with the PolyOperations add-on. The general workflow is the same, storing/reading can be simplified with these functions:

The dictionary structure is the same as OPENING_SYMBOL_GEOMETRY.polygon2D.

New tool: Opening

The new opening tool’s 2D symbol is a GDL object. New symbols can be created using the subtype General GDL Object / Documentation Element / Opening Symbol.
An opening has two independent symbols, one shown when the opening is cut (in a wall), the other when the opening is viewed (in a slab).

For more detailed info, see

Updated tools: Beam and Column

With the updated Beam and Column tools it is possible to model multi-segmented elements. New labels can be chosen to be placed on the elements or on segments, labels placed on segments receive a new GLOB_ELEM_TYPE. Most of the Beam and Column global variables are available for them, for availability details see Beam and Column global variables.

For more detailed info, see:

New Property requests

From ARCHICAD 23 Building Materials can have Properties and Classifications. The properties of the building materials are referred to as component properties, as these properties belong to a component of the parent element. To display these properties new requests have been introduced, which are available in Labels.

The input and output values of “Component_Ids_Of_Parent” and “Component_Property_Values_Of_Parent” requests are in the new dictionary format, “Component_Properties_Of_Parent” has the same input and output data structure as the existing “Properties_Of_Parent” request.

  • “Component_Ids_Of_Parent” The available Building Material components in the parent element are identified by ARCHICAD, these IDs are available through the “Component_Ids_Of_Parent” request.
  • “Component_Property_Values_Of_Parent” To get the component property values of a parent element, the new “Component_Property_Values_Of_Parent” request can be used. It returns the property values for a given component with any number of given property IDs.
  • “Component_Properties_Of_Parent” For the Property selection on the User Interface the “Component_Properties_Of_Parent” has been introduced. This request is similar to “Properties_Of_Parent”, except that it returns the available component properties of the parent element.
  • “Property_Values_Of_Parent” A new version of the “Property_Value_Of_Parent” request is available: “Property_Values_Of_Parent”. This request’s input and output values are defined in the new dictionary format. Unlike “Property_Value_Of_Parent”, multiple property IDs can be defined as dictionary keys, and multiple property values are returned.

Diagnostics mode

There is a new menu command that allows easier debugging where the GDL Debugger doesn’t work (complex tools like Curtain Wall, Stair, Railing, Opening or debugging the contents of dictionaries). In the Library Developer Menu (it can be added via Work Environment / Menus) the Library Part Diagnostics Mode menu item toggles the GLOB_DIAGNOSTICS_MODE global. It can be used to write conditional PRINT commands and/or show hidden parameters on the UI that control the debugging process. The model is not automatically rebuilt after toggling the menu, use Rebuild & Regenerate (Ctrl-Alt-Shift-R) to re-run the scripts.
Some ARCHICAD library parts use this feature, make sure to publish plans with the menu item turned off.

Command updates and extended versions


The IFC Add-on uses IFC4 standard instead of IFC 2×3. There are some minor changes in these these fix-named parameters:

New source format with LP_XMLConverter

The LP_XMLConverter tool can convert to and from a new type of source format called HSF. Library parts are stored in the same folder as images, the xml source is split into smaller xml files and separate .gdl scripts.
LCF and GSM made from XML is fully compatible in ARCHICAD with one made from HSF, conversion between HSF and XML can be done using LP_XMLConverter via the GSM format.