Fixing Error Messages and Ugliness with the Attribute Manager

Fixing Error Messages and Ugliness with the Attribute Manager

Did you know that ArchiCAD doesn’t care what you name your Attributes? At least as long as you aren’t trying to call two Attributes of the same type an identical name. That makes ArchiCAD cranky. But ArchiCAD is cool with you renaming Solid Line to this:

ArchiCAD

Don’t make me pronounce this!

HOWEVER…

When copying from one file to another, ArchiCAD will try to match the name of the Attribute and if there is no corresponding Attribute it will create one. Thus instead of matching Attribute Numbers it’ll match Attribute Names, which both makes sense and is a bit annoying. What will then happen is an Attribute (Say Hidden Line) will be Line Type 2 in file A, but copy in as Line Type 41 in file B because file B didn’t have a Line Type called Hidden Line, but it DOES HAVE a Line Type 2. Super clear? I’ll make it less so. Beyond all that, the new line created won’t be the first open number available, it’ll be the number AFTER the highest number used. So in our example if file B only has Line Type Attribute numbers 1, 2, & 40, Hidden Line won’t paste in as Line Type 3. It’ll be Line Type 41.

And Here’s Where Things Get Tricky

ArchiCADStay with me. All that above means as you copy elements between different files and delete attributes within files, the numbering of the Attributes can get REALLY messed up. So all your files might have the same Atttribute Names, but because it’s the number that matters to ArchiCAD, things can get goofy. For instance, in my template Line Type 21 is (Big Zigzag). I don’t know why, probably some garbage holdover from eons ago that needs to be deleted. In the standard ArchiCAD US Template, Line Type 21 is (Hidden Line). I have a (Hidden Line) as well, but it’s Line Type 45. This means any element in ArchiCAD that defaults to calling Line Type 21 (Hidden Line) in its GDL script will find Line Type 21 (Big Zigzag) and sadly NOT Line Type 45 (Hidden Line). Because again ArchiCAD, other than when copying between files, doesn’t care what my Attributes are called, only how they are numbered.

Beyond fills, lines, and materials reading weird, they can also be missing. In the image below I deleted Line Type 21 from my template. Instead of searching for another Line Type with the correct name (which exists), ArchiCAD gets grumpy and gives me this:

ArchiCAD

The result is a solid line on plan, which is how ArchiCAD represents a missing Line Type.

A Bad Solution

ArchiCAD defaults to specific fills, Line Types, materials, and pen numbers for all its objects and elements. And as we’ve discussed above, if your template doesn’t conform to the ArchiCAD standard template trouble is brewing. When you open an object and see wrong Line Types, materials, and fills you have three options. 1 Open each object (File/Libraries and Objects/Open Object…), change the default fills within the GDL script or parameters and then resave the object. 2 Manually make changes and save favorites. 3 Revise your template.

That first option is a horrible solution. I DO NOT recommend it. For downloaded objects and custom ones you create, sure. That’s reasonable. But your brain will turn to mush if you try to do this with the standard ArchiCAD objects. The number of headaches you’ll cause yourself is too long to list. It’s a bad, bad idea. The second option, Favorites, is viable (and in all honesty, what I typically do). But let’s talk about Favorites another time.

It’s Time to Revise Your Template

The Attribute Manager offers a great way to intelligently fix your template. If you find ArchiCAD is always trying to stick a vapor barrier fill in your windows or outline everything with Big Zigzag, replace those garbage attributes with what you want to see there. And this is where our new understanding of Attribute Numbers begins to pay off. Remember ArchiCAD isn’t really putting Big Zigzag or Vapor Barrier in that parameter. It’s putting Line Type 21 or Fill Type 30. So all we need to do is replace those attributes with better ones.

ArchiCADHere’s how:

  1. Open up the Attribute Manager (Options/Element Attributes/Attribute Manager)
  2. Open an .aat file on the right that has clean attributes for the attribute number you want to replace.
  3. Select the clean attribute on the right (remember to select the corresponding number), then click Overwrite.
  4. Rename the Attribute on the left to whatever you want.

Of course in this example we’re just copying a straight line instead of say a dashed Line Type. But with clever use of the .aat file on the right and a dummy file you can overcome this obstacle.

Here’s how to get any Line Type you want to have the correct number (for this example let’s say you want Double Dashed Line to be Line Type 42.

  1. Create a new file, open the Attribute Manager, and load ATTRIBUTE PLACE HOLDERS.aat
  2. Delete all the Line Type Attributes in your new file but Line Type 1.
  3. Select Line Types 1-41 on the right and then click overwrite. Your new file will now have 41 Line Types, numbered 1-41.
  4. Close the Attribute Manager.
  5. Copy from another file or create Double Dashed Line. It will copy in or be created new as Line Type 42.
  6. Open up the Attribute Manager, reload ATTRIBUTE PLACE HOLDERS.aat
  7. Select Line Type 42 (Double Dashed Line) on the left, click overwrite. Now the .aat file has the correct Line Type 42.
  8. Save the .aat file as something new.
  9. Close everything, open up the file you want fixed, and overwrite Line Type 42 with Line Type 42 from your new .aat.
  10. Sit back and feel awesome. Oh, click OK, check that everything looks good then save your file. Now sit back and feel awesome.

Now is your brain fried? There’s still plenty more I didn’t cover about the Attribute Manager such as overwrite vs append, but that will have to wait for another post.

The .aat File you’ve all been waiting for!

ArchiCADTo make that whole multi-step process work, you need a clean .aat file. So I made one. This .aat files has:
99 solid line place holders, 250 fill place holders, 99 composite structure place holders, 99 Complex Profile place holders, 99 zone category place holders, and 199 material place holders.

All the place holders follow a similar naming logic. For instance for the 250 place holder fills (each an identical white fill), every fill is labelled to correspond to the associated Fill Number. So PLACE HOLDER FILL (1) is fill #1, PLACE HOLDER FILL 1 (45) is fill #145, PLACE HOLDER FILL 2 (37) is fill #237, etc.

You can download the ATTRIBUTE PLACE HOLDERS.aat file here. This .aat file has a ton of uses beyond adding and replacing missing or ugly fills. Want to quickly turn all your fills into empty white fills? Done. Want your 3D model all to read as the same material? This .aat file can turn it all white. And with a little quick work, any color you want. The potential is huge. But this post is already too long, so we’ll save those thoughts for the comments. Who’s got some ideas or questions? I expect plenty of both.

For Further reading about the Attribute Manager, check out the ArchiCADwiki and of course the Help Files.

5 Comments

  1. probably should do a little clean up on our next template version… I’ve been meaning to for a while anyway

    Reply
  2. Patrick, same here! Researching this topic I became a bit embarrassed with how messed up all my attributes are. Fortunately the fix is just tedious, not hard. I’m 1/2 way through the first of a series of potentially 22 townhouses. I either have to fix them all now or wait until this work is done and I’m on ArchiCAD 17…

    I hear they are adding an 8th and 9th day to the week, so I’ll have plenty of time in 2013! :)

    Reply
  3. So I got a question on LinkedIn and I thought it’d be better to answer it here. So here’s the question:

    “Is there a list of default attributes that Archicad uses? If you create you own, then clean up and delete, you may have inadvertently deleted fills or similar that library objects need.”

    The list of defaults are embedded in the standard ArchiCAD 16 template. Start a new project, use the template file that comes with ArchiCAD, and you’ll be able to see what Attribute numbers ArchiCAD wants to use for which elements. And remember since it’s all about numbers, if you delete Attributes that ArchiCAD wants, you’ll see in the element settings number (MISSING). That’ll tell you what number attribute you need to add. See the image above where i delete line type 21.

    So… if you want to clean up your template, I’d recommend starting from the base ArchiCAD 16 Template file and import your attributes via an .aat file you created from your current template. Slowly import the attributes as required. Or recreate / change the ones in the base template to match. It’ll be a slow pain, but once you do it you’re template will be stronger and more aligned with what ArchiCAD wants. I’ll aim to document this process when I do it for myself (hopefully sooner rather than later). Seems like a good thing to do when I’m trapped in my house in Minnesota by mountains of snow and week after week of sub-zero temperatures!

    Reply
  4. Thanks Jared, for bringing this up. We are really struggling with keeping the attributes consistant in a multifile project. We set up placeholders in our layer list so we can overwrite layers and layer combinations from a central file, but fills, line types and complex profiles have been a nightmare. When items are copied or hotlinked between files the numbering gets messed up and the attributes can not be overwritten. Graphisoft has to let us change the index numbers or move the attributes into an external file, like a library, so several models can share the same attribute file.

    Reply
  5. Oh, I would LOVE to be able to change the index numbers. That’d be so, so wonderful. I have vague recollections of other user’s best practices for managing attributes over hotlinked files, but I don’t remember what they are or where I read them. I assume on the Forum. It’s a lot of command and control, I’m sure.

    Reply

Submit a Comment

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>