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.

On, well, land. Site model roundup. Very lightly updated alongside the Mesh post.


With an assist from Brian Spears and Link Ellis, I figured out that one of my wishes for the mesh tool is already solved. So I thought I would take the opportunity to revise this overview of the tool.

The most prominent use for the mesh is site modeling. I cover that in more detail in another post, but you need the mesh basics first.


This is a very simple label for duct elements made with the MEP Modeler add-on. It's intended for use with any simple duct type, including Straight, Bend, Take-off, and the Obstruction Fittings (as far as I can tell). I'm using it solely for straight pieces, since no one is fabricating anything from my plans - I just want to coordinate with the HVAC engineer.

For round ducts, the label reads '5" dia'. For rectangular ducts, it reads 'Width x Depth'.

All our ducts are sized in inches, so I'm using a fractional inch format for the dimensions. On the off chance that someone else might find this label useful, I've added a parameter so you can choose to have the label's format match the current dimensions format in the project preferences.

It was convenient to use Select All for the (straight) Duct Tool, then label them all with the Label Selected Elements command (Document -> Document Extras).

Duct Labels


Until now we have done the electrical symbol legend as a hotlinked module of a story, where the lamp and object elements are placed in the floor plan within a table drawn with lines. This is a static resource, unless you break the module hotlink and modify it.

It is possible to create the legend using Interactive Schedule. The advantage of this is that it will only display the symbols that are actually in use. This makes a more compact, relevant, and readable table.

Electrical Symbol Schedule

The schedule itself is very simple. It only shows two columns. The first is the 2D symbol, which is a field/parameter of objects and lamps. The second is a custom parameter of our lighting and electrical objects - the parameter is 'desc' internally, and is called 'Type' in the settings. (A missing feature in most library parts is an ordinary name that can be easily listed and labeled. The object name usually doesn't work, and style options usually go by cryptic handles such as 'Style 1'.)

From here on I will say 'object' while I mean 'object or lamp'.

The schedule merges identical items into one. Remember that the IS only considers displayed information when deciding what is identical. So if the symbol and Type are the same, none of the other parameters matter - you will only get one entry. You have a surface fixture at 8'-0" and one at 9'-0"; they are the same.

Simpler objects know what they are out of the box. Ceiling fan, duh. Some objects have options which change their identity. A recessed fixture can be ordinary, waterproof, a heat lamp, adjustable, etc. A smoke detector can be a CO detector, or a combination. The Type parameter should automatically respond to these details. The schedule will list separate items for each of these differences, because the Type field is different. The symbols will be appropriate for each difference.

The electrical switch object will always present itself as a pair of switches, one regular and one dimmer. This is so sets of two, three, four, etc. switches don't show up as separate items. GFCI switches are shown separately. (GDL folks: This is done by drawing a specific case of the symbol when the GLOB_CONTEXT is a schedule. In the future, but starting now, GLOB_CONTEXT is deprecated and you should use GLOB_VIEW_TYPE=9 (Calculation) instead. Since I'm still maintaining our AC18 Library, I can't implement this change yet.)

I had to replace to ceiling fan symbol so it would fit in the same cell height as the others.

Again, when you have your own library, you can do whatever you want.

Electrical Schedule Criteria

The criteria look more complicated than they are. It's just:

• Objects and Lamps

• On any electrical fixture layer

• But not on the Footings story, because that's where the old legend is placed

• And not part of a hotlinked module. Delete this criterion if the module is not covered by a separate project, and you want to schedule the module's fixtures.

Electrical Schedule Fields

The fields are only two, as described above. The 2D symbol and the Type:

The schedule is saved as a view in the Schedules folder, alongside the window and door schedules. It should be placed as a drawing on each electrical sheet.

Updated for Archicad 19.

Pen sets let you change the appearance of output at the very last moment - when the drawing, based on the view, is headed out the door. The colors you see while working on the model can be completely different from the published output, and they should be.


Standard pens updated for Archicad 19.

The only substantive change since 2007 is that we've dropped pen 170 for structural posts on the story below. This was an ugly hack that's no longer needed since we can use Library Globals to control display of those elements.

That's a very small change, but I wanted it to be clear that these standards are still current. I updated the graphic. I have strong opinions about pen -1.


Sloppy modeling leads to sloppy documentation. That wall that's supposed to be 7'-0" long, but you built it 7'-0 5/64", so it dimensions at 7'-0 1/8", and the published output looks ridiculous.

Sloppy modeling doesn't clean up right in plan, section, elevation. (It looks fine in OpenGL with contours off. Great.) That means extraneous lines that either mislead the viewer or have to manually managed by you. Not everything cleans up, but everything that can, should. And sloppy modeling does not.

Once you have sloppy elements placed, you will likely refer to them to place other elements, and the slop spreads like a virus.

Sloppy modeling is not easier. This is how you model precisely:

• Use direct entry of distances. This means: Start placement, type 'R' (Hello world: Archicad default is 'D'), enter the distance and strike return.

• To place elements a set distance from a known point, move the origin (Opt+Shift) and use direct entry of X and Y by typing 'X' and 'Y'.

• If you are placing something 'roughly', it's still better to pick a number. Start the wall, e.g., and when it's 'about right', look at the R field (Distance in Tracker) and mentally round off the ugly number there. Then type 'R', enter your rounded distance, and strike return.

• Place the model with a sensible relationship to the global origin. A centerline, a corner, etc. You can reset the user origin to the global origin and 'feel around' with the cursor to see which end of Mr. 7'-0 5/64" is the bad end.

• If you're trying to center something, just center it. Draw any linear element from side to side, find the midpoint, and put something there. I would use a Center Line object because it is distinctive. Lesser but acceptable solutions include hotspots and non-printing lines. (Graphisoft wants you to use the new permanent guide lines, but I'm not a fan.) Whatever the thing, consider locking it. You can also use snap guides in AC19 to find midpoints, or the old snap points constraint on the Control Box.

• Use a Center Point object (1 Rill LIB19 / 00 General / 2 Drawing Tools) to mark the center of curves, to make sure concentric elements are truly concentric. Lock it.

• Our plan-scale dimension standard is set to 1/8" precision. We only want to see output dimensions of 1/4" precision. (Unless there is an angle involved.) When you expect to see 7'-0" and see 7'-0 1/8" instead, that is your warning that something is off. Track down the 5/64" and fix it.

If any of these things is harder than clicking kinda wherever, I'm not seeing it.

Precise modeling is essential to Archicad success.

This is a new approach to showing openings in reflected ceiling plans, using a modified plan symbol rather than an blank opening. I haven't put it in the template yet, and it may not be required or appropriate for every project, but it is better overall. The biggest limitation is that in order to use it you have to use our doors and windows almost exclusively. This doesn't bother me much.


Location: 01 General / 1 Graphic Symbols

Shape Tag
A shape with a text block in it. While working on the labels in 19 post, I realized I had never posted the recent updates or the label version.

The shapes are square, rectangle, triangle, circle, ellipse, oval, diamond, hexagon, pointed box, and roundrect. The roundrect has authentic iOS proportions.

The rectangle, oval, hexagon, and roundrect will elongate to accommodate the text, if the Stretch for Text parameter is on. The square will turn into a rectangle.

The Height parameter refers to the vertical dimension. The Length Factor parameter is multiplied by the height to get the length of the rectangle, ellipse, oval, and roundrect shapes. If Stretch for Text is on, the length is overridden by the text length.

The text, by default, is the global ID of the object. You can also choose to enter a custom text.

The size of the text can be set by points, millimeters, or as a fraction of the shape height. All these parameters are hooked together, so when you switch among them the actual height stays the same.

There is a value list for the font, and you can enter any font name. The text can be shown bold, italic, underlined, or any combination.

The Mask parameter will make the shape opaque white, using the 'Solid' Fill and White Pen parameters.

The Shape Label is simply a label version of the same thing. When placed as an associated label, the ID displayed is that of the labeled element. Placed independently, you need custom text.

Download here.

Archicad 19 brings substantial changes to the label tool. Labels are a key component of automatic annotation, so improvements are always welcome.

The biggest change is multiple labels on a single element in a given viewpoint. Since you can place more than one label, the Label Elements checkbox is illogical and has been removed. Therefore, the per-element-type pre-setup of the label tool has also been removed. To label an element, set up the tool like you would any other, and click on the element.

Labels can be associated or independent. For labels this is considered part of the geometry method, though the G shortcut doesn't work. This isn't new, but let's review.

Independent labels are often text, but they don't have to be. Many of the labels in the label chooser are meant to be associated and will display nothing, or nothing useful, or a warning about being unavailable for independent labels.

Associated labels move when the element is moved, and can display information about the element. There are new labels in the Archicad library designed to display many kinds of element properties. Take a look at General Label 19 to see some of the possibilities. Associated labels can also be text.

Expect more kinds of labels. Expect to place more labels. Expect more label favorites.

There's an inverted pointer option for ceilings in section.

They added a 'Simple' and 'Detailed' option to the geometry method. Simple places the label with one click, with the default pointer shape. Detailed lets you draw the pointer with three clicks. Detailed will be the right choice for us in almost every case; they could have left this feature out.

There is a new button to turn the pointer off and on. It's a big improvement on the old, very counter-intuitive, 'Use symbol arrow' checkbox. You can turn off the pointer for any label, including text. So you can have a bare text element that's actually a label.

There is a pre-selection highlight on label-able elements with the label tool active. (The level dimension tool has the same thing.) Cmd+tab works as you would expect to cycle through a stack of elements.

A lot of the new labels in the Archicad library are proof-of-concept. You can easily call out the composite of a wall, but is that composite name suitable for output annotation? Informing the user and informing the builder are not the same thing. It will take time to work through these issues. I would like to automatically label more things. In the future, everything will be automatically labeled, but this is not the future.

This is a big update to labels, but there are still frustrating limitations that we will be stuck with until the next big update.

The settings dialog has a graphical chooser that's more like the object tool, but it still doesn't show you the folders. A digression:

When a library part is superseded by a new version, I move the old one to an "xOld" folder outside the normal category folders. The xOld folder is in the loaded libraries. This means placed instances of the old object continue to work, but when you look in the category folder, you see the new one. If you're using an object and you notice it's in the xOld folder, that tells you there's a new version. But some tools (the markers, all of them) don't show you the folders, so all the parts are piled into one dumb list. So I can't sort-of hide old labels and markers from the user.

The only material improvement in the new label chooser is the appearance of preview image icons, which, I guess is sort of nice? But they should have just had it match the typical library parts. And because labels are a bigger deal now, there will be more of them, in a longer and longer dumb list.

Another disappointment is the lack of an option to align the pointer with the vertical center of the top or bottom line of text in a multi-line label. And you still can't work around this with GDL, because the scripted symbol is automatically shifted according to the pointer alignment. This is graphically bad, but I am very near throwing in the towel and aligning all labels to the middle. If they didn't fix it in this update, they're never going to fix it. Sometimes you have to smooth the workflow at the expense of graphic standards. Which is a whole topic on its own.

They fixed the, let's call it, mirrored placement bug. But actual mirroring is still wrong. At least now the ghost bounding box shows you what's actually going to happen, even though it's not what you want. (Only the angled part of the pointer is mirrored.)

They made it impossible to accurately place a pointerless associated label on the first try. Example: Door or window tag in section/elevation. But that is probably a bug.

If there is another big update to labels, the next thing to wish for is placing a detail marker as an associated label.