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.

Somebody asked:

I have finally gotten frustrated enough with the way line types are (dis)organized to focus some effort on it. Have you figured out any tricks to getting line types to show up in any logical sequence at all in your files? I can't believe that after all this time GS hasn't just made it alphabetical. How hard can that be...?

Linetypes are sorted by their internal ID. All attributes (pens, materials, fills, etc.) have an internal ID. This ID is never visible in the general Archicad interface, though it winds up being very important. In settings dialogs, object parameters, and within other attributes (E.g., a composite uses a fill), the ID is what matters, not the name. The only place you can view and (sort of) manipulate IDs in in the Attribute Manager.

The other attribute types sort alphabetically in their lists, but for some reason linetypes don't. There's no excuse for this from the user's perspective, but you've probably noticed it's not the only charming eccentricity of AC's interface.

If you want the linetypes list to sort in a predictable way, you will need to hack their IDs. This is both a pain in the chair and not entirely free of risk.

If you change the geometry and/or name of the linetype at ID #4, all placed instances of linetype #4 in the project will change. If library objects have linetype #4 in their default parameters, suddenly they will have new defaults in those linetype parameters. Elements only care about IDs. Modifying libraries to adapt to such a change is prohibitive. Where the Archicad library is concerned, it's practically impossible because it's bad form to modify it at all. And, if you modify your own library, you have to be wary of affecting past projects going back however far, should you ever reopen them.

I did try to sort my linetypes a few years back. I survived, because we don't actually use very many, and I did some investigation to see what linetypes the AC library cares about. There is compromise involved. Our primary dashed line is at ID #2, but the AC library expects a dashed line at ID #4. If I put something else at ID #4, AC objects will display that instead of a dashed line. If I delete ID #4, those objects will have a missing linetype, which renders as solid, same problem. Meanwhile I can't abandon ID #2 because my libraries are hooked to that. So I'm stuck with two dashed linetypes at the top of my list, nothing I can do.

One more thing: If you do whip your list into shape, it will still be two lists, with the symbolic types following the vector types. Like symbolic and vector fills, that sorting can't be hacked.

As for how hard it might be for GS to fix this sort of thing, well, empirically it looks impossible. Hope to proved wrong.