On Land

Environment Information
At Rill Architects we run ArchiCAD on macOS. 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.
RSS
Problems Archive

I made a quick but not completely disposable scripted object. Probably 30-45 minutes of work. I saved it in the embedded library of a scratch file, rather than in a live server folder where someone might notice it before it's done. (The odds of this are crazy low, plus it's no big deal, but that's what I did.) The scratch file is Archicad 20, because we haven't officially migrated, but my projects are in 21.

Then the standard procedure is to save the object out in Library Manager, and delete it from the embedded library so the scratch file doesn't have a duplicate.

Then, reload libraries in the real project so the new object can be seen.

Upon reloading, I had several duplicates. Inspection revealed I had exported the whole embedded library from the scratch file. (The two files have some deprecated labels in common.) I had clicked the save button without highlighting the single object.

That's the kind of thing I like to fix right away, so I went to the Finder and found the stupid 'Embedded Library' folder inside '22 Plumbing' and deleted it. Because this folder was on a server volume, the deletion was immediate - such things don't go to the trash. (I still miss this from OS9.)

Then I went back to the scratch file to export the object properly. But since my procedure is to delete the object right after saving it, it was already gone.

It's gone from the embedded library, and the server copy was deleted along with the stupid folder. Maybe it still exists in the actual project, since I hadn't reloaded there yet. Alas, no, because while the object still appears in the settings dialog, it doesn't work at all because the file on disk is missing. I also tried crashing the scratch file's Archicad instance in hopes the autosave data might remember the object. Alas, no, again.

So that is how I managed to completely delete a new object. The only hope would be if Time Machine or Backblaze had run during the few minutes between saving the embedded library folder and deleting it. The odds of that are also low, and it didn't happen.

It's frustrating to lose work, but it wasn't a lot. Between automatic backups and autosave, it's difficult (knock wood) to lose a lot of work in Archicad. Autosave for objects would be nice, but it wouldn't have helped in this case. While I've been at this a long time, I still find new mistakes to learn from.

An unheralded new feature of Archicad 20 was a repair to the Mac version where Archicad will continually hunt on the network for missing servers. This happens when 1) the project uses resources (libraries, external drawings, hotlinked modules) on server volumes, and 2) you open the project away from the network where the servers reside. The effect is 1) a delay when opening the project as the external resources are sought, and 2) periodic warning dialogs saying that a server with a certain IP address cannot be found.

This has been a problem since at least Archicad 9, or maybe forever and that's when I started carrying projects around. I was always told it was hard to reproduce or impossible to fix, and it doesn't happen on Windows. (I mean, they never told me the Windows thing, that's just a fact.)

In Archicad 20 it was definitely fixed for a while, and there was great celebration all around, uh, my kitchen table which is supposedly one of the few places the problem occurs. Then it returned, likely an unintended consequence of an update. I am led to believe that now the issue is impossible to reproduce, so I'm not holding by breath on a fix. I think that was the shot.

So we still need DisableCrossPlatformMountingFeatures. If you are a Mac user and this situation affects you, close Archicad, open Terminal, and paste this in:

defaults write com.graphisoft.AC-64\ 20.0.0\ USA\ v1 InputOutput -dict "DisableCrossPlatformMountingFeatures" "<true/>"

This will work for any version of Archicad back to 15, just replace the '20' with the relevant version number. (Before that, drop the '-64', and for heaven's sake please upgrade.)

Let's just say I have a feeling the next version might be in the same boat, so for your clipboard convenience:

defaults write com.graphisoft.AC-64\ 21.0.0\ USA\ v1 InputOutput -dict "DisableCrossPlatformMountingFeatures" "<true/>"

First, to review: The New Construction renovation filter has these settings:

Existing: Override
Demolished: Hide
New: Show

In plan, new walls are gray and existing walls are white. Demolished elements are hidden.

When you demolish an opening in an existing wall, the opening disappears and is replaced by a piece of wall whose status is new.

Demolished opening

I think this behavior is correct and intuitive. My only quibble is with the lines on either side of the new segment. I'm not convinced the lines should be there at all, and using the cut pen definitely makes them too heavy. But I can overlook it. (Archicad does not consider the difference between element-is-cut and cut-element-meets-air, and I think I have given up waiting for that to change.)

I can't overlook what happens in the elevation. The filled-in portion of wall is explicitly drawn with the shape of the demolished window. There's no way this is OK.

Demolished opening
Note: Cut new siding at old window location

• The new wall fragment is based on the existing wall, so it has the same surfaces. Where elements of the same surface meet, the line should disappear. (This is true in AC17. In 16, the material of both sides of the filler piece matches the edge material of the wall. No words.)

• With the surface cleanup rule in place, they would have to create an exception to it, in the belief that it is conventional to show filled-in windows on elevations. We have never done this.

• If I did want to show this condition, it would be dashed and in a lighter pen. These options are not offered. It has nothing to do with the override styles, even though the override setting is what is causing the rectangle to show. The GDL of the demolished window is not involved. The rectangle is drawn with the outline pen of the wall, making it a heavier line weight than the proper windows on the same elevation. Bad graphic, no user control. It couldn't be wronger.

So we need to get rid of it. I stumbled on a way. (N.B.: In the reference guide, there is precisely zero discussion of elevation and hidden line viewpoints in the Renovation section. Once you leave the floor plan you are on your own. Unless you're issuing OpenGL demolition docs, which, um.) In the As Built renovation filter, both existing and new elements are set to show. In the plan, we can't have this because the existing and new look alike. But in the elevation, it means the filled-in wall blends in and there's no rectangle.

OK opening elevation

Alright! We just need to use that filter for elevations. Maybe change the name so its purpose is clearer. I don't mind workarounds as long as they work, ya know!

What? Sections? Right, they have cut elements (existing needs to be overridden) and uncut elements (existing needs to match new).

Wrong opening section
Right like the plan, wrong like the elevation

Wrong opening section
Good elevation, but we can't tell new from existing

It looks like that filter trick doesn't solve it, and I think we've reached the end of the line. Direct demolition of openings just doesn't work. I don't know how they released this feature in this state, and I don't know how they haven't fixed it three versions later. It's really poor.

We will continue to use renovation. But we have to go back to the old method of splitting the wall on both sides of the opening, demolishing the piece, and filling in manually with a piece of new wall. This works reliably as ever and cleans up in all views.

The logic of renovation is that removing an opening involves creating some wall. When I create a wall to meet another wall and their surfaces match, there is no line. That stupid filled-in chunk should do the same thing.

In situations like this, where a plainly wrong graphic is presented as normal, I get the feeling that Graphisoft's strategy is to hope that conventional documents are swept away very soon by BIMx Docs, live cutting planes, and iPad Pros. My concern for "pens" will seem as quaint as a wax seal! I think they underestimate the status quo bias on the average job site. Today, I need drawings that function in the field. The present is sadly non-futuristic sometimes.

That new world, when it comes, is going to have graphical conventions too, and users will always be charged with turning an ever more complex model into visual information that people can use. At the moment there is a disconnect between the information I can attach to the model ("This window is to be removed"), and the tools to convey that information. ("If this is removed why is it showing?") It should be a core competency of Archicad to bridge that gap.

How to Demolish Openings

First the simple case.

Split the wall at both sides of the opening. The split can be right at the opening's ends, or you can allow some slack.

Demo Split 1

Drag a copy of the wall with the opening. It's less confusing if you drag it away.

Demo Split 2

Demolish the opening's wall by switching its renovation status to Demolished. When you demolish a wall, openings in the wall are automatically demolished.

Demo Split 3

Change the copy's status to New, and delete the opening.

Demo Split 4

Drag the new wall back in place.

Demo Split 5

The more complicated case is where a new opening will be placed overlapping the demolished opening. In this situation the pair of walls (demolished and new) must be extended to span both openings, so that the new opening is placed entirely within the new wall.

Demo Split 10

Placing New Openings in Existing Walls

You do not need to split the wall to place new openings in existing walls. Just place them. The new opening will appear as a demolished portion of wall in the demolition plan. As far as I can tell, there are no graphical problems with using this, the intended technique.

If you encounter a failed Archicad autosave (Crash followed by no recovery dialog at relaunch), and you are running Time Machine in OS X, restore the Autosave folder from Time Machine instead of messing with cron job workarounds.

Make sure Archicad is not running.

Activate Time Machine on the Dock.

Navigate to [Home]/Library/Application Support/Graphisoft/. You should see a folder called Archicad Autosave Folder. If you don't, go 'back in time' by clicking the next window. If you see more than one Autosave folder, sort the window by Date Modified to determine the right one.

Highlight that folder and click the Restore button. (You shouldn't get a 'replace this folder' warning, because if the Archicad Autosave Folder was present, Archicad would have seen it and given you the recovery dialog. If you do get it, make sure Archicad is not running.)

Once the folder copies over, relaunch Archicad. It should find the Autosave data and present you with the recovery dialog. Depending on when Time Machine ran last, you may have lost more work than you would with a normal autosave.

The other day I had a puzzling problem with VR objects saved out of Archicad. Some files would open in QuickTime as conventional movie files rather than VR objects. (Press play and the building spins around once for each parallel. It runs about five seconds. It's not making any sales.)

As is often the case with puzzling intermittent problems, I was working too fast and not paying attention. After running a VR and viewing it in QuickTime, I would return to AC and run it again. Trouble is, sometimes I left the VR open. It took me an embarrassing while to figure out that those VRs were winding up corrupted on the second pass. In further testing, sometimes the VRs would be too corrupt even to open.

So the concrete tip is: Don't redo VR objects while they're open. Maybe this is 'duh', but there are filetypes that can be rewritten while open in other apps: Preview has no problem with me overwriting open image files, e.g. And it's common to let AC have most of the screen area, so who knows what else is open in the background.

The meta tip is: If a weird problem crops up when you're rushing, it's very likely a normal problem that either wouldn't happen or wouldn't seem weird if you weren't under deadline pressure. When you see something weird, slow down, pay attention, and fall back on the good workflows you practiced back when the wolves weren't at the door.

This has got to stop.

Vanished label

You know the one I mean. Three walls meet at a point, and the inline ones are different thicknesses. The corner formed with the inner wall simply must be expressed. We've had this one for-[stupid]-ever.

Stupid hated line
HCTPBWIW

Roundup of info on daily shutdown, backup, and power failures.

More»

Somewhere, a roof is unhappy. Most likely, the angles of nearby roof edges are causing the geometry to turn inside out. The report will say something like:

Invalid polygon, self intersection or hole intersects boundary. (Roof 004)

This is actually helpful! Use find and select to find a roof with that ID, and you can fix it. The trouble is that you probably have a lot of roofs with identical IDs, and you can't tell which of the n roofs is the problem.

If the IDs were unique, the report would lead directly to the bad guy. So you need to change the IDs of all the Roof 004 elements. You certainly can do this one at a time, and it will work.

Instead, use an Element Schedule to isolate the roofs, and correct the IDs.

Make a new schedule (Document -> Schedules and Lists -> Schedules -> Scheme Settings; Create New). The criteria:

Roof ID criteria

For the fields, you just need 'ID', from the General heading:

Roof ID fields

This will give a schedule with all the roofs whose ID is not blank:

Roof ID preview

Make sure the 'Uniform Items' checkbox is off. If it's on, you'll get one line item for Roof 004, regardless of how many there are, defeating the purpose.

Now all you have to do is change all (but one) of the Roof 004 items to something unique. You can use numbers in the same pattern, as long as they aren't used elsewhere in the schedule, or you can add a, b, c, or something to the IDs.

Next time you run the 3D, section, or elevation window, you'll get the report again, but this time you can use the ID to find the specific element.

Heads up concerning the issue date in the title block. I'm getting very erratic results when publishing; sometimes the title block drawing (on the master layout) updates automatically, sometimes it doesn't. If that drawing doesn't update, your title block data will be wrong, including the date.

I have confirmed that the drawings on the master layouts are set to auto update. That should be all it takes, but it's not.

For example, I changed the date and then published a PDF. The dates on the resulting PDF sheets are not changed. I immediately published again, without making any changes anywhere in the project. Now the title block is right.

Erratic.

The title block drawing will always update if you open its master layout. It seems it will also update if you open a regular layout. But I have seen cases where the layouts of some masters are updated but not others; it probably depends on what regular layouts have been opened.

But, each layout automatically opens as the publication happens! Yes, and it skips updating the master drawings. Sometimes.

Once again, we have an output-related, liability-hazardous, supposedly-automatic behavior where Archicad can't quite get the door all the way shut. And once again we have to follow it around making sure it's using its litter box.

My recommendation: If you are publishing anything where the date is critical (that's anything you're giving to anyone else), before publishing, open each master layout that is in use. Essentially, that's all the masters of a given size, just to be safe. Opening the master should trigger the auto update of the title block drawing, and then you should be set.

Date LOL

We have had a handful of cases where Archicad autosave recovery has failed when it should have succeeded. We have also had cases of human error where the autosave never had a chance.

Since Archicad deletes the autosave data once it decides (right or wrong) that it's not needed, you don't get a second chance.

Unless you routinely back up the autosave folders.

More»

After I posted about the jellyfish a couple third-party observers commented, paraphrasing, 'Duh, of course you need to turn the hidden stuff off'. (Quick review: The issue there was clustered arrangements of elements, where AC was taking a long time to sort out the hidden lines.) Maybe so, but the last time we visited this issue, which was probably way, way back when, it didn't make much difference. But our projects today are more complex, with many more polygons, so we should look into it.

I tested the front elevation, with fills, of the hairiest project I could find. On the Quad G5, generating the SE from scratch took 2:45. This is with all the interior elements on.

I made a new layer combination and hid the interior elements. This includes:
• Structural columns, beams, footings. (Remember, we don't do joists or rafters.) (Also remember, architectural columns are layered as walls.)
• Interior walls (which shuts off the doors, natch)
• Interior trimwork
• Appliances, mechanical equipment, plumbing fixtures
• Stair parts
• Fireplace flues

Generation time: 2:15 (18% better) Noticeable, if not life-changing, improvement.

The question: Should the templates be equipped with such an LC?

• The improvement would only be noticeable on very complex models.

• A separate LC would mean a separate clone, making the view map more complex.

• SE generation will improve as we move to Intel hardware.

The dramatic slowdown in the jellyfish was caused by 'clumping' of elements in an unusual case. Such cases could be handled piecemeal, not burdening the template. Templates should be geared toward standards and typical usage.

I'm going to say the improvement isn't worth making the templates more complex. On a complex model, it might be worth forking the A2 LCs.

On a truly large, multistory building, I think it would be advisable. As you add lots of stories, it would seem you're adding interior polygons faster than exterior.

And I reserve the right to change my mind after another 8 years.