On Land

Environment Information
At Rill Architects we run ArchiCAD on Mac OS X. If you work at Rill, this is your stuff. If you don't, but you work in ArchiCAD, you may find something interesting. Anybody else, I don't know.
December 2004 Archive

[Slightly updated, really just bumped. Originally posted in April 04.]

Turn the Schedule Symbol off and leave it off. At the bottom of the settings dialog you'll see a division called 'Dimension Marker'. Click the flyout at the top and select 'Door[or Window]TagJAM9'.

Why do it this way instead of the old way? Because the display of these markers is a display option. To show the markers, choose 'Show with Dimension' under the doors and windows display option. To hide them but show the swings, choose 'Show on Plan'. This allows you to show the swings in the electrical plan without the tags.

One glitch: For JAM8 windows, if the door/window is in a mirrored wall, the symbol will go to the wrong side. Mirror the wall segment again to fix it, or just drag the tag. The JAM9 windows won't have this problem.

This has been superseded by this.


Location: 05 Metals

This object can take the form of any steel column in the AISC manual. You can set the shape, dimensions and strength. Label it with Description JAM9.

You can choose to model the top bearing plate.

You can display the column dashed below. This is very helpful in developing framing plans: Show the columns overhead to make sure they're all supported.

Location: 03 Concrete

A slab edge, trazezoidal or triangular. Placed under/adjacent to an element of the same fill, it will clean up in section. There was an 8 version of this, but I never wrote it up.

I don't recommend running these everywhere, but a little piece at the section cut helps the section a lot. One less thing to draw.

The goofy thing about this object is I put in a routine where you can edit the section profile in plan. (Turn on "Edit Shape in Plan".) Just an idea.

Edit in Plan


Edit in Plan

These objects have detectable edges.

Cutline JAM9
Cab Blob JAM9
Wood Beam JAM9
Steel W Shape JAM9
Opening Slash JAM9
Stair Arrow JAM9
CenterLine JAM9
All the JAM9 trim objects (Crown, Rake, etc.)

"Labels are text blocks or symbols optionally linked to construction elements and 2D fills. Labels allow you to identify or comment elements or parts of your design." That's from the Archicad 9 Ref Guide page 343, and it's pretty succinct so I'll keep it. Here's more:

"You can use labels in two ways:

Independent labels manually placed using the Label tool.

Associative labels can be assigned automatically before the creation of an element or added to them later."

So there's two kinds. Independent labels are like regular objects, in that they do their own thing. There is a simple text label that's basically a text block with a leader, and it works OK as long as you don't go longer than one line. I (used to!) use these to call out structure in the sections and other simple things like that. They are a marginal improvement over plain text with an arc.

Associative labels are attached to elements, and can say intelligent things about them. They remain accurate as the data they represent changes. They can move when the element is moved. They are very cool.

(Why don't we use them yet? Because the underlying design of the label functionality is very poor, making it hard to figure out how they work, especially the differences between the two kinds. Now that I/we have them figured out, the actual making isn't hard.)

Frequently (Probably) Asked Questions follow. I'm focusing on associated labels, since independent labels are simple.


This is somewhat redundant with the GDL Syntax section of the reference guide. I'm trying to make it a little clearer.


An object consists mainly of parameters and scripts.


• The GDL Reference Guide. They don't give us a printed version anymore. That's OK, the PDF is better. This guide is a really bad tutorial, because it's not a tutorial. It's more like a dictionary. Once you have the basic ideas, it's very clear, and indispensable.

• The GDL Cookbook 3, by David Nicholson-Cole. PDF. Out of print, out of date, but still useful. How to do lots of things. What most of the commands do. A bunch of tips. Handy references for binary arithmetic and circle geometry. Inspirational objects by people smarter than us, such as fountains, waving flags, ferris wheels. David is the primary evangelist for GDL and Archicad culture in general, one of the pillars of the community, and also the author of...

Object Making with Archicad: GDL for Beginners, published by Graphisoft. PDF, or buy it at the link. It covers object making without GDL, and then GDL for beginners.

• The Libraries / Library Parts / GDL forum of Archicad Talk. Like any question you might consider asking on ACTalk, ask me first, it's faster.

GDL Talk on Yahoo Groups. Same advice as above, with the added caveat that issues in this forum tend to be of a higher level.

• The File -> GDL Objects -> Open Object command. GDL scripts are de facto open, and it's a good way to see applied examples. A word of advice: It's also a good way to see bad scripting, especially in the Archicad library itself. Anyway, no one can stop you from reading a script and trying to figure it out.

• Your humble narrator. On a scale of 1 to 10, I'm a seven. I don't know everything, but I know of everything. I've done tons of it, over the course of five years. I've done a couple of things first, maybe. I can't teach you all I know due to time constraints, but I can give guidance on basic to intermediate questions.

All the PDFs mentioned here are available at 3 Resources : Documentation. Remember, PDFs in your local Archicad 9 : Documentation folder will show up in the help menu within Archicad. So handy.

I strongly, strongly, strongly recommend opening all PDFs in Preview, the reader by Apple that comes with OS X, rather than Acrobat Reader by Adobe. It's faster, simpler, launches quicker, and has better searching. No comparison.

You're mostly on your own. I can help with questions, but the way you learn is struggle. Once you get the basic ideas, the GDL manual actually makes sense. The code itself is not very hard; GDL is a lightweight in programming language terms. The hard part is design, and being perfect.

Yes, perfect, at least with regard to spelling and syntax. When you are working with code, errors really aren't tolerated very well. The machine has no idea you meant "PRISM_" when you typed "PRSM_". This is very different from high level software, where the developers of a program have written in the ability to cut the user some slack. For example, you can have MS Word switch that spelling error for you before you even see it. Another: A big part of Archicad is detectability, which is a way of saying, once you're close enough, you're there.

Code doesn't work like this, and it can be frustrating, especially since some of the error messages you get are a little cryptic. It takes patience, which, it turns out, is more of a habit than a trait.

OK, end of parental advisory. What is GDL? It is the language of Objects, in all their types: doors, windows, lamps, labels, zone stamps, properties. It is a way of using words, logic and math to create drawing and model elements. In its simplest form, a GDL script says: "Go over there, make something, come back." (The coming back is technically optional, but do it anyway.) The complexity and power come in when the script can say: "Depending on what the user [that's you] does, or on conditions in the environment, make things a certain way, or in a certain quantity, or in a certain arrangement, and if the environment changes, adjust/change/rearrange the things as appropriate". And: "Remember that these things are usually particular building parts, so you should know something about them if anyone asks, which they will."

The ability of objects to change themselves on the fly in response to changes in the environment or decisions by the user is called "parametrics". You can have objects that aren't parametric, such as those saved from the plan or 3D window. Such objects are useful, but they're not flexible, so they tend to be one-offs. Parametric objects can act smart and follow rules, saving you a lot of time. This leads to an axiom:

It is impossible to professionally deploy Archicad without customized, parametric, GDL objects. GDL is the way you get Archicad to do exactly what you want.

From this, it follows that we make objects to solve problems, and we learn GDL so we can solve problems that Archicad can't solve by itself. It also means we learn what we need to solve the problem we have, and leave the window library to someone else. This is because windows are hard, and a lot of people are way ahead of you. But you likely have some problem that no one has worked on yet, and chances are that even a little GDL can help.

GDL is arguably the single most powerful feature of Archicad. That doesn't mean everyone has to do it, but it does mean that one person in each firm has to do it, or at least have access to the skills somewhere.

I would like to offer the opportunity to join an introduction to GDL, i.e., object scripting, for anyone who is interested. And, I would like to not offer it to anyone who is not. Interested.

I'm thinking of a map of the territory, a broad overview, with the goal of demystifying object making, so you can envision creating custom solutions yourself, with help. I'm not envisioning teaching you the whole thing, which no one has ever done for anyone.

I'm pulling together some preliminary reading here, under the category "GDL". If you are interested, browse this material, and then we can set up a meeting.

Let me know what you think.