Tag Archives: Solid Element Operations

Roof Wall Connections

I feel like I have written this all somewhere before, but it begs repeating. Roof wall connections can be tricky, and solid element operations are not always the answer. In this example, we have an eave bearing wall running perpendicular to the roof slope.

The original model was built using SEO’s. This created a section error, showing the ceiling finish running through the wall structure:


Also, notice the selected wall is taller than it should be, running above the roof plan. This wall height should be modeled to stop at the highest intersection of the bottom of the roof core. Then the roof and wall, while both selected, can be cleaned up with the Merge function (Design > Connect > Merge, or Right Click > Connect > Merge).


The result is a properly cleaned up section view!

Solid Element Operator Errors

Solid Element Operations and other trimming functions are helpful and even critical in generating the correct geometries and drawings in ARCHICAD. That being said, they should be avoided wherever possible! Overuse and misuse of SEO’s is one of the biggest contributing factors to a slow or glitchy file and can often be the cause of “beach balling”, freeze ups, and crashed files.

What Not to Do!

  • First, avoid dissociative trimming operations. That is, do not trim a wall, beam, column, to a roof, slab or wall that it is not actually associated with. The program beach balls when this is done excessively since it is looking for associations between elements that do not exist.
  • Second, do not repeat SEO’s. If elements do not trim to each other, do not simply “try again”. This will rack up the number of operators and targets and cause all kinds of file slow down. If elements do not trim to each other with an SEO, there may be a momentary glitch or something about the elements that are preventing them from trimming properly. I often see this error when walls are trimmed to roof in a group, then selected again and re-trimmed to another roof + the original roof (just for good measure).
  • Third, avoid creating a dedicated trimming element if a model element can be used in its place. For example, you do not need to carve out a site for the building if a basement slab is already in place. Redundant elements can cause elements to disappear in elevation/section/3d views.
  • Fourth, do not use an SEO if a simple geometry can create the same shape. I see this error most often for stair openings in slabs or clerestory openings in roofs. You do not need to trim these openings, you can simply generate them with a hole in the slab/roof (use the pet palette “-” button).

The File Failure Threshold Test

For this article I ran a quick test to assess the tolerance for the first (and most destructive) example of SEO misuse listed above. I took a simple collection of 4 walls, 1 roof, and 1 slab. I arrayed this collection into a 10×10 grid (14,800 polygons), 15×15 grid (30,600 polygons), and a 20×20 grid (54,400 polygons). None of these configurations should cause a slow and glitchy file based on complexity of model elements, since even the largest test is less than 2% of our average files polygon count.

Screen Shot 2016-03-22 at 1.49.17 PM

Test 1:

For each array size I then trimmed walls to their associated slab with downward with upward extrusion and their roof with upward extrusion, at a 1:1 ration. No wall was trimmed to a roof or slab it did not touch. The result was a smooth running and efficient file, even at the largest array of 400 roofs and slabs and 1600 walls. In the image below, notice the SEO fly out on the selected roof, only 4 associated targets to each roof/slab.

Screen Shot 2016-03-22 at 1.51.37 PM

Test 2:

Next I removed all operators and targets for each of the three tests. Then selected all walls and trimmed to all roofs with upward extrusion, and another SEO with all walls trimmed downward on all slabs. So the worst case is 1600 targets on 400 operators, performed twice.

Screen Shot 2016-03-22 at 2.01.57 PM

The results on the 10×10 array were acceptable, with minor, but noticeable performance and navigation slow down.

The 15×15 array had up to 10 second “beach ball” delays during basic navigation and editing, which is annoying but not inoperable.

The 20×20 array took over 15 minutes just to perform each solid element operation. After they were performed there were over 30 second delays to simply orbit or switch between plan and 3d views. The file crashed twice while performing basic navigation.

Final Thoughs

These tests were done in a file with no view map or layout book and no source markers of any type. This slow down will be noticeably pronounced in files with more total polygons, views in the view map that read these trimming/trimmed elements, and layouts with these views placed on them.

Again, I want to reemphasize, this test was done on a file with no complex content and only 54,400 polygons and only 2,400 total elements max. So be careful of how you use SEO’s! If your file is running slowly, this is the first place to look on regaining some speed and efficiency; even at the sacrifice of redoing most or all of the trimming elements, it could pay off in the file speed and efficiency of work. (Please speak with me before blowing out all your SEO’s though, it only makes sense if your file is inoperably bad or at an extremely early phase)

Element Information Palette

Heres one that you may not be aware of, or if you are, possibly do not use. The Element Information Palette! Its a great tool to quickly look at the geometries, areas, volumes of selected elements. This palette has buttons to view a selected Element’s Properties, Size, Area on Plan, Height, Surface, and Volume.

Screen Shot 2015-08-21 at 12.54.59 PM  Screen Shot 2015-08-21 at 12.55.07 PM  Screen Shot 2015-08-21 at 12.55.10 PM  Screen Shot 2015-08-21 at 12.55.21 PM  Screen Shot 2015-08-21 at 12.55.28 PM
Recently this was very useful in checking an estimate of additional fill on a terrain mesh. I have also used it to check glazing to floor area percentages by comparing the wall surfaces with and without holes considered to get an approximate glazed opening to floor area (slab) ratio. The holes considered/not considered fields take into account holes in beams, openings in walls, skylights, openings in slabs, roofs and meshes as well as solid element operations. So depending on level of precision of the BIM model, it can be a fairly accurate estimating and verification tool.

Ultimately these are just design checks and not part of our documentation, so the Element Information Palette is a great tool for these non-permanent checks, rather than developing a full schedule or list to create a document from.

This palette is also very helpful for checking Element ID’s, by selecting all slabs, for example, you can verify that important slabs have an appropriate and unique ID. Or you can perform a quick check to verify you do not have 200 slabs with an element ID of “Kitchen Counter”.

Lastly, be aware that you can adjust the calculation units that appear in the Element Info Palette in the project preferences, and can even save or print the element information list. This palette in combination with the Element Selections Palette can be very useful tool for checking and rechecking areas, volumes and element ID’s.

Screen Shot 2015-08-21 at 12.55.43 PMScreen Shot 2015-08-21 at 12.58.24 PM I recommend having a shortcut set up for this palette, Com + I, so that it can easily be toggled on/off. Do not leave this palette up as a permanent fixture of your work environment, as it does slow AC down when a selection is made. It will attempt to recalculate all listable information with every new selection as long as the palette is open.

SEO & Element ID Warnings

Here is a cautionary tale for both Solid Element Operations and Element ID’s.

I was trying to determine why a roof was not showing up in section or 3d, but shows in plan view. This is normally because of a duplicated element and building material priorities canceling each other; but in this case it was due to redundant solid element operations.

When I removed all SEO’s it reappeared, but was not trimming any gable end walls. So I had to find the problematic operators or targets. There where 30 SEO’s on this roof, and in the SEO handle many of them showed as having the same ID. Using a combination of find & select & the ID manager, you can rename these elements for easy identification.

Typically elements should have unique ID’s, or at least groups of ID’s which accurately represent their function. In this project all slabs where started this way, but from a copy/paste workflow the ceiling slabs where called out as first floor slabs. Renaming them pointed to the problem.Screen Shot 2015-07-08 at 3.44.38 PM

In the image above you can see the elements set as the targets & operators of the selected roof. A ceiling slab is the target of this roof twice, roof deck twice, roof covering twice, wall 5 times (as both target & operator with multiple extrusion types…

So the warning is this; use SEO’s as sparingly as possible, avoid redundant and non-associative SEO’s. Meaning do not set a target or operator from one element that does not trim another. Do not use an element as a target multiple times to the same operator (there are a few exceptions to this). If an SEO does not appear trim properly undo before you try again. Where ever possible be aware of the automatically assigned element ID’s. These will often duplicate rather than adding a new ID, which is not always a bad thing. But elements with a specific function should have their own ID(s). Above I temporarily renamed ceiling slabs CLG Slab1, 2, 3… just to sort out what was going on with the SEO’s. This can be done before placing elements or immediately after via the Element ID Manager.


Today a file had mysterious missing walls and floors after the site had been inserted and trimmed to the building. After looking into it, the operator for the site trim was a slab the height of the building.

Screen Shot 2014-11-13 at 4.19.03 PM

There are a few words of advice I will share with everyone regarding using solid element operators:

First, and most closely related to this issue is, that if you have a building element already in place (in this case the floor slab and basement walls) that can act as the operator, use it. It is not necessary to turn an operator off once the operation has been made, it can be part of the final building model and visible in all views.

Next, an operator that is not associated with a building element and is actually on the SEO layer should be as minimum as possible. As you may remember from the post on trimming door and window casings, we used a single plane morph object as the operator. The operator should be as simple as possible to perform its function.

The last note on using solid element operators is to use operators that relate only to their targets. As an example of this, we often see rafter tails trimmed by a profiled beam or wall. A rafter tail should never be associated as a target of an operator located on the other side of the building or along another wall line. In the image below Maggie has used a single operator for all rafters along each wall face, rather than selecting all rafter tails and all SEO beams and performing a single blanket operation.

Screen Shot 2014-11-13 at 4.39.43 PM


If you have a complex profile applied to a beam and column to represent your trim, you may find it tricky to get them mitered properly. Notice the overlapping “square” boxes at the intersection in the image below.

Screen Shot 2014-10-16 at 8.23.23 AM

A solution was recently developed by Boyce which quickly resolves the lack of interaction between beams and columns. Insert a morph object as a single plane at a 45º angle through the intersection point. Using this plane as an operator with upward extrusion on the column, and with downward extrusion on the beam you will have a cleanly mitered trim in elevation, section and model views.

Screen Shot 2014-10-16 at 8.26.08 AM

Note the miter line shown in the image below due to different surfaces being applied to the beam and column. This is a bonus tip if you want to express the miter in your documents and model.

Screen Shot 2014-10-16 at 8.27.03 AM

In most cases we will want to see the miter “disappear”. If you apply identical building materials and surfaces to both beam and column the intersections clean up. You will see a line where two curves intersect, but this is due to the handling of curves vs planes. For most instances this profile could be altered to use a plane rather than curve to represent the coved portion of the trim; this wold give a clean intersection across the full miter.Screen Shot 2014-10-16 at 8.27.45 AM