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.

Click to enlarge.

dormer illustration

Wordier version from AC10 here.

Location: 32 Exterior Improvements /

Update: Japan and Alaska.

I needed a US flag, and I didn't have my own, so I searched in the settings dialog. The US Archicad Library doesn't have one either. There is one on BIMComponents, written by Graphisoft, and maybe that one is in the international version library. It's just as well, because the object (Flag.gsm) doesn't offer the US design.

In fact, it doesn't name any countries. It is charmingly purely parametric: Choose the number of stripes, their direction, and their surfaces. In this way, they can cover lots of the flags of Europe. There is also a cross option to address Scandinavia. UK? Haha no.

This Graphisoft flag looks really good. It is waving, compound waving even, and it droops just a bit. The code is classic morphbarf, though I wouldn't know how to create such a morph in native Archicad. It was likely done in a proper freeform modeler, imported to a morph, and then saved as an object. Their trick is to slice up the waving flag geometry with CUTPLANEs in various proportions and directions, depending on those non-national parameters, and then apply colors to the slices. So Hungary and France and everyone have different stripes with the exact same waving.

But now we can see why there is no US, UK, or Canada version. The stripes and crosses are all simple straight cuts, and sometimes flags need closed and nested polygons, many of them. When I have to weave together a lot of weird geometry, I head for the group operations, the GDL equivalent of SEOs.

I appropriated the morphbarf and abandoned the rest. (The license on Flag.gsm is Attribution-No Derivatives, but the editor offers limited choices - seems like ShareAlike would be better. Graphisoft please get in touch if you have any concerns.) The operations used are subtraction (SUBGROUP) and intersection (ISECTGROUP). The flag parts' geometries are made via PRISM_, and the trick there is to slope them down to match the droop of the morph. (Tip: (-1) * SIN(droopAngle) * horizontalDistance) Some shapes are subtracted from others, such as the stars in the blue fields. Then each finalized PRISM_ is intersected with the morph geometry, which creates chunks of waving stuff with the different colors.


The leaf translation required some thinking, but I developed a general method that should come in handy again.

In exchange for the morphbarf I am happy to offer the finial and the tapered pole.

As of this writing I have the US (needed), Texas (so simple, and someone might need it), Puerto Rico (requested), and Canada (who doesn't like Canada). Next is probably DC (easy, local) and Alaska (I just like that one). Japan? Having done the maple leaf, I can see the UK from here, which would lead to AUS and NZ. Anything with a fancy seal or heraldry (Mexico, half the US states) will require different techniques. Staying away from Maryland for now.

Download here.

Happy anniversary to this post from October 16, 2006. That's the year of Archicad 10.

The post is called Ways Objects Have to Be Right. (I should have said library parts, I regret the error.) There were a lot back then:

  • Plan symbol
  • Plan symbol on remote stories
  • 3D hidden line
  • 3D shaded
  • 3D render
  • Elevation
  • Elevation in distant area
  • Section
  • Polygon efficiency
  • Scale sensitivity; which compounds the plan symbol, section, and polygon issues
  • Listing
  • Labeling
  • User interface
  • Parameter list
  • Parameter transfer management (Unique parameters)
  • 2D graphical editing
  • 3D graphical editing
  • Selectability
  • Code maintainability
  • Intra-library consistency

And that's still most of them. The user interface options have become more complex, and the new rigor around using certain global variables in the parameter script has been disruptive, but most of my day to day concerns are on the old list.

At the time I noted that the GDL editing environment ignores a lot of well-established GDL features:

The development environment gives very poor support for many of these requirements. As Archicad adds features, items are added to this list. Irritatingly, the environment has not kept up, and is way overdue for a tear-down. There is no section window, no remote stories, no graphical editing. The full features of the current GDL architecture are not supported, so we can't even imagine modern development features such as syntax coloring and auto-completion.

To that I would add: Cutting, wallhole (and later wallhole2) and solid geometry operations.

Ten years later, the GDL environment is practically unchanged. Not entirely: You can create a new parameter in the middle of the list, and you can search for a parameter name. They ironically gave the hide parameter button a red 'X' for version 20. I'm grateful for two of those and neutral on the third.

But every one of those unsupported features is still unsupported. You still can't Cmd+G to Find Next. The error messages are still deliberately vague. (How many parameters too few, or too many? Which !@#$% variable wasn't initialized?!) Check script still lights up random macro calls, so you have to check again, note the line number, and navigate there yourself.

Frustrating neglect reached a new peak with Archicad 19, as the new tab interface (tabs are great!) couldn't remember that GDL windows should be undocked, always, and no one who had actually worked in GDL would dream otherwise. Archicad 20 is an improvement - The windows stay undocked, but they don't remember their positions and stack order well at all, so there is still a lot of inefficient UI overhead.

When I wrote that post ten years ago, I think I thought there might be a GDL editor section window someday, or that you could see cutting geometry in wireframe. The verdict of history is clear!

I still think GDL is one of the most important features in all of Archicad, and I think it had the potential to be a key technology for custom content in the larger BIM world, though that horse is long out of the barn. No serious developer of anything works with such poor support. At this point, GDL is valuable to our work so I work with it a lot, unable to forget that it's an abandoned 20th century artifact.

With the advent of renovation in Archicad 15, the transition from existing conditions to new construction is much simpler. We still want to finalize and set aside the existing conditions before moving on.


Graphic overrides greatly expand the number of ways an element can represent itself in different kinds of documentation. This means less redundant 'drawing', and more unity.

The RCP has long been a frustrating form of output if you're trying to minimize drawing. All the things that need to be shown are modeled, but Archicad has had limited facility to present these elements with properly modified attributes. In practice, 'properly modified' usually just means a dashed line type.

Now, with graphic overrides, we can choose any kind of element and say, draw it with a dashed line type instead of solid.

It follows from this that we probably need fewer custom object solutions that use the ceiling switch.


Several different kinds of change, which may overlap. New versions mean new workflows, and that means layer changes.


Alphabetical by name of thing. Please suggest improvements and additions. Many things have changed, many have stayed the same. Layer theory hasn't changed much. Current as of Archicad 20, which prompted some layer changes.

Big table below the fold.


Graphic overrides are a new feature of Archicad 20. They allow you to choose elements by criteria, and change their appearance attributes. The changes are grouped into combinations which can be saved with views.

Here's how to use Archicad: Build a model, and try to create all the documentation while doing the least amount of non-modeling. If you find yourself drawing something that you have already modeled, it must be because the thing can't be made to present itself in the appropriate way for your documentation. Archicad has always offered methods to help with this. A door can have a complex plan symbol, a simple symbol, or just an opening; it can have a schedule marker or not; or it can be hidden entirely. The same one door appears in 3D and in a schedule. One door, many appearances in documentation. This is unity.

Graphic overrides greatly expand the variety of ways that a single element can be presented. This means it is less likely that you will need to 'draw' an element you have modeled in order to get it to appear correctly in your documentation.

This feature gets at the heart of what Archicad is all about. It will definitely change a lot of working and documentation methods. If it doesn't, you are probably using Archicad wrong.

Since this is a major feature, it is impossible at this early stage to predict everything that will change. But I am getting a sense of what the categories of changes might be.


Here is a massing model showing existing conditions and a proposed addition. It is mostly done with renovation filters, with a couple of tweaks from graphic overrides.

existing-new massing model

Existing is overridden with one surface, the light color in the picture. If you are OK with existing elements not having fills in elevation, you can leave this override on. If you want the fills in elevation, you need to turn the surface override off, and switch it back and forth manually. This setting can't be saved with views or filters. We really need per-filter renovation overrides.

New is overridden with a different surface, the red in the picture. New elements are generally shown, not overridden. So the surface override can be left on. It is currently the only active override setting for New.

There is a new renovation filter, 07 Massing by Status. Existing=override, Demo=hide, New=override. Again, in all other filters, New is shown.

These are the graphic override rules:

Site Green finds 3D elements (in practice, they are meshes with the occasional slab) on the layer C Site3, and changes their uncut surfaces to 'Grass - Green'. Graphic overrides happen after renovation overrides, so while the site has existing status, it is not shown with the white color.

3D Lines Match finds All Types of elements, and changes their Line Pen to a medium gray pen. (It's our pen 137 in the picture, the default pen 2 would be fine too.)

Glass can't be overridden within windows and doors. (This would require attribute-level graphic overrides.) If you want clear openings of any sort, you have two options I can think of:

One way is to use 'Filter and Cut Elements in 3D' to hide the doors and windows. This will give completely empty openings.

The other is to use a graphic override rule similar to the site/grass rule, where doors and windows are chosen to be overridden by a clear surface. But, all parts of the doors and windows will be clear, not just the glass.

Beginning with Archicad 20, the fills division of Model View Options is obsolete and fills are handled by Graphic Overrides. This enables us to eliminate several combinations that were needed in Archicad 19.

Model View Options can be organized into combinations, kind of like layers, and MVO combinations can be saved with views. Naturally, this is all set up in the templates. MVOs are completely separate from On-screen View Options, which are screen-only and do not affect output.