GDL and the Power of the Customized Library
Using GDL as a programming language is helpful for the award-winning ARCHICAD power using-team at Kitchen & Associates (K&A). The NJ-based firm learned early on how GDL allows you to design and document what you want to build. Joe Augustine, an architect at the firm helped me understand how valuable this tool really is.
Every ARCHICAD user can do what K&A has done – create a customized library of items that they’ve modified to suit a specific project need. Namely for a high-rise project located in New Brunswick, NJ that is currently in schematic design. The mixed-use building will include five stories of parking, ground level retail, a commercial office floor with a swimming pool and other amenity spaces. The upper fourteen stories are dedicated to residential apartments. K&A is making good use of BIMx to assist the client and building professionals understand the complexity of the building.
“An office of eighty or so design professionals requires clear standards, effective templates and the right tool to design and document our projects in an efficient manner. We have been using ARCHICAD since release 6.5, (circa 1999). Since that time, we have developed a library of custom GDL objects. The K&A library is intended to be used in concert with the ARCHICAD library. When a new version of ARCHICAD is released, the K&A library is evaluated and updated as required to align with the latest features. Whenever we begin working on a new project, we take a look at the two libraries side-by-side. Our library is customized via the integrated GDL Object Editor application within ARCHICAD. GDL is a parametric coding language, like BASIC. It is the fundamental structure of all the parametric objects found in ARCHICAD. GDL uses a series of “scripts” to construct the objects. The coding can be simple but still very effective, or it can be quite complex with many more features and options.”
While there is a separate ARCHICAD manual dedicated to GDL, coding may be a daunting endeavor. However, it is still possible to create custom objects without the need to write code. Users can build their own GDL objects without coding, they simply need to select the elements and save them as an object. ARCHICAD will handle the rest and write the GDL code. There is a caveat; while the part is saved as designed, it is not a parametric object. That is where the need for coding comes into play.
“There may be items in the standard library that comes with ARCHICAD that do not look ‘just the way’ you like, or simply want to change – by taking advantage of the GDL feature built in to ARCHICAD, it opens up opportunities to simplify, modify and create your own library.”
As you begin to write the code in ARCHICAD, you can start with an existing object – it is important to refrain from modifying the original objects in the built-in library. Create your own library, because changes will be over-written when updates are issued for ARCHICAD and it is a good practice to preserve the integrity of the library, explains Augustine.
“Work in your own library when you are creating new GDL objects. Once an object is created and stored in your custom library, repetitive instances of that object can be inserted in your model in one gesture, thus leading to consistent documentation.” GDL Objects are categorized and associated by type so they can be available in the different ARCHICAD tools. Custom door and window panels can simply be created from a collection of slabs.
One of the beauties of ARCHICAD is the power of objects with parametric attributes. While a collection of any ARCHICAD element can be saved as a GDL object, it behaves like a cookie cutter. Sometimes that is enough, but getting deeper into the code a bit allows you to move it, change the size and scale of the object. That is the power of parametric objects. A good portion of the K&A library is 2D graphics that Augustine and his team need on their drawings. Sometimes the objects are more complex 3D parts. Augustine began by creating a canopy support system that he needed for a current project. The detailed components of the plates, clevises, turnbuckles, connecting rods and fasteners began as morph elements. They were then set to the appropriate position and saved as GDL objects. This is a handy way to begin working with GDL since as you create and save the object, basic attributes are automatically saved. Parameters for surface and line attributes can then be modified as you would a typical library part.
“I used the morph tool to create each part of the canopy support. One group of morphs was the bracket assembly that attaches to the wall, while another was the bracket assembly that attached to the canopy. (It is important to save the morph elements in a PLN file in case we need to create new parts from the original template.) The intent was set the parts at common angles; 15, 30, 45, 60 and 75 degrees. So, each time I rotated the parts around the hinge pin and saved that assembly out as a GDL part. There are now five instances of the wall bracket and canopy bracket at the prescribed angles. While the GDL code was created for me by ARCHICAD, I wanted to make it even more user friendly for the team. This is where the GDL coding came into play. I created parent objects called ‘wall bracket’ and ‘roof bracket’. They each have a pull-down menu with options – including a third part created for the rod and turnbuckle which can be parametrically orientated and stretched to connect to the two brackets.”
The “save to GDL” feature has been a part of ARCHICAD for a while, but may be an aspect of ARCHICAD that is underused by many. A super helpful tip is to select an object and choose ‘Open Object’ from the library and Objects menu. It sees and even copies portions of the code. With a little reverse engineering, custom objects can be re-created with modifications.