2006-06-17.jpg

Every attribute (pen, fill, linetype, layer, etc) in AC has a unique ID number. Internally, AC handles attributes by their IDs. The names are just for us. The IDs control the interactions between attributes, and the default parameters of objects. When a composite or material has the wrong fill, or an object comes in with a surprising default setting, it's often because IDs have become tangled up.

They don't get tangled up on their own, but it seems like they do, as we create and delete attributes, merge them from other projects, etc. Attribute Manager gives us some ability to manipulate IDs, but it's tricky.

Here's an example of the gymnastics you need in order to work with the antiquated attribute ID system. On the other hand, at least it's feasible. On the final hand, it is unbelievable that we can't edit IDs directly, and really we shouldn't have to interact with them at all.

It's also a good example of how attribute IDs can mess things up, which is why you have to hack them.

In this case, all the openings in the Archicad library default to drawing their overhead lines with linetype ID 4. In the templates that ship with AC, that ID is a dashed line, which is fine. In our templates, ID 4 is the 'Layout' linetype, a dot and dashed thing. So unless you change it, the openings look like this:

Bad Dash
Errrrrrg.

Moral: Generally speaking, attribute IDs are strong and attribute names are weak. AC only cares about the '4', not the name 'Dashed', and not the dashes themselves.

The other moral: Especially where libraries are concerned, it's best not to fight default IDs if you can avoid it. It's better to fix one linetype rather than a whole pile of objects. That's where the gymnastics come in.

More»