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:
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
Stay 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:
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.
- Open up the Attribute Manager (Options/Element Attributes/Attribute Manager)
- Open an .aat file on the right that has clean attributes for the attribute number you want to replace.
- Select the clean attribute on the right (remember to select the corresponding number), then click Overwrite.
- 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.
- Create a new file, open the Attribute Manager, and load ATTRIBUTE PLACE HOLDERS.aat
- Delete all the Line Type Attributes in your new file but Line Type 1.
- Select Line Types 1-41 on the right and then click overwrite. Your new file will now have 41 Line Types, numbered 1-41.
- Close the Attribute Manager.
- Copy from another file or create Double Dashed Line. It will copy in or be created new as Line Type 42.
- Open up the Attribute Manager, reload ATTRIBUTE PLACE HOLDERS.aat
- Select Line Type 42 (Double Dashed Line) on the left, click overwrite. Now the .aat file has the correct Line Type 42.
- Save the .aat file as something new.
- Close everything, open up the file you want fixed, and overwrite Line Type 42 with Line Type 42 from your new .aat.
- 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!
To 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.