Project data & BIM
About BIM-based management of attributes, schedules, templates, favorites, hotlinks, projects in general, quality assurance, etc.
SOLVED!

Best Practice: Bringing Company Layers into a fresh template

Brandon-W_DWa
Booster

I am creating a new template from scratch in AC28, to essentially purge years worth of attribute pollution and chaos in our existing template.

 

We have about 250 layers (ranging across index #'s 1 - 2265) that I want to continue to use, so I'm trying to find the best way to bring those into the generic AC28 USA template. So, my current plan is to reindex any of my existing layers to an Index # associated with a related layer in the generic 28 template.

  • For example, the generic 28 template has "A - Annotations - Demolition Plans.2D" as index #4, and in our existing 27 template, layer "A-DEMO-NOTE.DEMO" (which will serve a similar purpose) is index #93, so I want to start by reindexing our layer from 93 to 4, that way it can be imported "by index number" in the attribute managerI. I guess another way of going about this would just be renaming the 28 generic layer, but the end result is the same.

My primary question is what to do with the layers in the generic 28 template that I can't pair an existing layer to?

  • Should I delete the layer, but leave it's index number available? So, after everything is said and done, I would have my 250 layers that occupy index numbers #1-300 (or so), with some gaps in there?
  • Or, is it wise to get all 250 of my layers to occupy index numbers 1-250? 

I'm trying to think ahead and consider (as much as possible) any future issues. Thanks!

 

Operating system used: Mac Apple Silicon 14.7.1 Sonoma

Versions 25, 27, or 28
macOS Sonoma 14.7.1 - 2021 MacBook Pro 16", M1 Max Chip, 64gb DDR5
Browser: Google Chrome
2 ACCEPTED SOLUTIONS

Accepted Solutions
Solution
Barry Kelly
Moderator

If you are looking at sharing information (copy & paste) from files base on the generic Graphisoft template and your template, then yes, you will need to re-index your layers to match those of the Graphisoft template.

Otherwise you need to re-index the Graphisoft template based files to match your template attributes every time you want to copy elements.

 

But if you are only working on files based on your template, there is no need to change anything.

If you make changes now, your new template will no longer be compatible with any of your older files, because the index numbers will be different.

No more copy & paste between old and new files.

 

Barry.

 

One of the forum moderators.
Versions 6.5 to 27
i7-10700 @ 2.9Ghz, 32GB ram, GeForce RTX 2060 (6GB), Windows 10
Lenovo Thinkpad - i7-1270P 2.20 GHz, 32GB RAM, Nvidia T550, Windows 11

View solution in original post

Solution
max_min
Booster

I advise against leaving gaps between attributes, especially if you use hotlinking workflows, It’s not wise to leave gaps within the attributes. I generally aim for “non-destructive” changes to help “future-proof” my template. This approach allows me to maintain a balance between staying somewhat aligned with the Archicad OOTB template while making space for everything I actually need.

 

Currently, I align the necessary attributes with Archicad's template. So the same thing you are proposing, for example, if A-Anno-Demo is indexed as #4, I set my demolition annotation layer to match, and so on... Any attributes I don’t need, I either delete and replace (if they are in use, as indicated by a checkmark in the Attribute Manager) and/or rename them to “z-Layer-##” (## = index number). All of these “Z-layers” are turned off and locked in all layer combinations, then placed in an Unused folder. This way, if I ever need them back, I can simply restore them by index in the Attribute Manager.

 

Handling Additional Attributes Outside the OOTB Structure

For attributes that don’t fit into the default OOTB structure, I’ve used two different methods over the years:

 

Option 1: Buffer Method (Older Approach)

  • After the last Archicad OOTB attribute, I create a buffer of about 20 “dummy” attributes.
  • I then place my custom attributes immediately after, ensuring there are no gaps.

    This works well and ensures minimal cleanup, only need to go in and re-index if GS adds additional attributes, but at least in the USA they have not added significant attributes in a couple versions, think maybe 23-24 was the last time that new layers got added for some of the MEP tools.

 

Option 2: Capping Method (Current Approach)

Takes a bit more management up front, but it's more organized and future proof so I don't mind it.

  • After the last Archicad OOTB attribute (let’s say index #120), I create a cap attribute named “z-Last OOTB Layer”.
  • I leave a gap between #120 and #1000.
  • My custom attributes start at index #1000, beginning with “z-MyName-Custom Attributes”.
  • All custom attributes that don’t fit into the base structure follow from #1001 onward.
  • After my final custom template attribute, I add a final cap named “z-MyName-Last Template Attribute” (e.g., index #1050).

Benefits of This Structure:

  1. Easier Cleanup of Imported Attribute
    • Any attributes copy/pasted or hotlinked from an old file will most likely land between #120 (“z-Last OOTB Layer”) and #1000 (“z-MyName-Custom Attributes”).
      • This makes it easier to sort, clean up, delete, or replace unwanted attributes from foreign files.
  2. Tracking Project-Specific Custom Attributes:
    • Any new attributes created within a project file will automatically be created after whatever your final attribute is, so in this case after #1050 (“z-MyName-Last Template Attribute”).
      • This makes it easy to review past projects and identify commonly added attributes. If I notice users frequently creating similar attributes, that’s a clear indication those attributes should be included in the template.

 

I apply this method to all attributes, not just layers.

 

MacOs Sequoia
Archicad 13 to 28

View solution in original post

9 REPLIES 9
JeffH
Advocate

i closed all of the index gaps in our templates, and then created a bit of a buffer before a fixed placeholder attribute to allow for additions to the template as they become known.

 

I am not sure if there is a detrimental downfall to doing that though.

AC24 / AC26 / AC27
Win10
Solution
Barry Kelly
Moderator

If you are looking at sharing information (copy & paste) from files base on the generic Graphisoft template and your template, then yes, you will need to re-index your layers to match those of the Graphisoft template.

Otherwise you need to re-index the Graphisoft template based files to match your template attributes every time you want to copy elements.

 

But if you are only working on files based on your template, there is no need to change anything.

If you make changes now, your new template will no longer be compatible with any of your older files, because the index numbers will be different.

No more copy & paste between old and new files.

 

Barry.

 

One of the forum moderators.
Versions 6.5 to 27
i7-10700 @ 2.9Ghz, 32GB ram, GeForce RTX 2060 (6GB), Windows 10
Lenovo Thinkpad - i7-1270P 2.20 GHz, 32GB RAM, Nvidia T550, Windows 11
Lingwisyer
Guru

The nightmare of trying to hotlink an old project into a new one that uses a new template...

AC22-28 AUS 3110Help Those Help You - Add a Signature
Self-taught, bend it till it breaksCreating a Thread
Win11 | i9 10850K | 64GB | RX6600 Win11 | R5 2600 | 16GB | GTX1660
Brandon-W_DWa
Booster

Well, it seems that I am stuck in a tough situation then, right? Because either I reindex my template now, meaning copying and pasting from old files is messy, or I keep my old index numbers, which will result in tool and object default values being way out of wack (e.g. my curtain wall doors being made of sand and rubber building materials - a real situation we have dealt with for years, probably caused by the same thing).

 

I was taught, by Graphisoft in the BIM Manager Program, that copying and pasting is bad practice, so I don't think I want to sacrifice file efficiency and attribute mix-up just so people can copy/paste.

Versions 25, 27, or 28
macOS Sonoma 14.7.1 - 2021 MacBook Pro 16", M1 Max Chip, 64gb DDR5
Browser: Google Chrome

The good news in version 28 with the new Global Library system is that you can map the values of library parameters to match the attributes you use in your template.

The bad news is that it is a rather fiddly manual process at the moment, although I have not looked at it since 28 was released.

I did manually edit a value table and got the Graphisoft Library to work with my template.

As far as I know there is no tool to automate it - coming in 29 apparently.

 

https://graphisoft.com/resources-and-support/downloads/?section=bim-content

 

Barry.

 

One of the forum moderators.
Versions 6.5 to 27
i7-10700 @ 2.9Ghz, 32GB ram, GeForce RTX 2060 (6GB), Windows 10
Lenovo Thinkpad - i7-1270P 2.20 GHz, 32GB RAM, Nvidia T550, Windows 11
Lingwisyer
Guru

Yeah, copy pasting is often a cause of attribute pollution, if people frequently want to copy paste something, maybe they should ask for it to just be added to the base template.

 

Ling.

AC22-28 AUS 3110Help Those Help You - Add a Signature
Self-taught, bend it till it breaksCreating a Thread
Win11 | i9 10850K | 64GB | RX6600 Win11 | R5 2600 | 16GB | GTX1660
Solution
max_min
Booster

I advise against leaving gaps between attributes, especially if you use hotlinking workflows, It’s not wise to leave gaps within the attributes. I generally aim for “non-destructive” changes to help “future-proof” my template. This approach allows me to maintain a balance between staying somewhat aligned with the Archicad OOTB template while making space for everything I actually need.

 

Currently, I align the necessary attributes with Archicad's template. So the same thing you are proposing, for example, if A-Anno-Demo is indexed as #4, I set my demolition annotation layer to match, and so on... Any attributes I don’t need, I either delete and replace (if they are in use, as indicated by a checkmark in the Attribute Manager) and/or rename them to “z-Layer-##” (## = index number). All of these “Z-layers” are turned off and locked in all layer combinations, then placed in an Unused folder. This way, if I ever need them back, I can simply restore them by index in the Attribute Manager.

 

Handling Additional Attributes Outside the OOTB Structure

For attributes that don’t fit into the default OOTB structure, I’ve used two different methods over the years:

 

Option 1: Buffer Method (Older Approach)

  • After the last Archicad OOTB attribute, I create a buffer of about 20 “dummy” attributes.
  • I then place my custom attributes immediately after, ensuring there are no gaps.

    This works well and ensures minimal cleanup, only need to go in and re-index if GS adds additional attributes, but at least in the USA they have not added significant attributes in a couple versions, think maybe 23-24 was the last time that new layers got added for some of the MEP tools.

 

Option 2: Capping Method (Current Approach)

Takes a bit more management up front, but it's more organized and future proof so I don't mind it.

  • After the last Archicad OOTB attribute (let’s say index #120), I create a cap attribute named “z-Last OOTB Layer”.
  • I leave a gap between #120 and #1000.
  • My custom attributes start at index #1000, beginning with “z-MyName-Custom Attributes”.
  • All custom attributes that don’t fit into the base structure follow from #1001 onward.
  • After my final custom template attribute, I add a final cap named “z-MyName-Last Template Attribute” (e.g., index #1050).

Benefits of This Structure:

  1. Easier Cleanup of Imported Attribute
    • Any attributes copy/pasted or hotlinked from an old file will most likely land between #120 (“z-Last OOTB Layer”) and #1000 (“z-MyName-Custom Attributes”).
      • This makes it easier to sort, clean up, delete, or replace unwanted attributes from foreign files.
  2. Tracking Project-Specific Custom Attributes:
    • Any new attributes created within a project file will automatically be created after whatever your final attribute is, so in this case after #1050 (“z-MyName-Last Template Attribute”).
      • This makes it easy to review past projects and identify commonly added attributes. If I notice users frequently creating similar attributes, that’s a clear indication those attributes should be included in the template.

 

I apply this method to all attributes, not just layers.

 

MacOs Sequoia
Archicad 13 to 28

Thank you! I like your capping method, and is what I ended up with for fills (although I didn't jump all the way to #1000, but I like the future-proofness of that). In general, I think I'll stick to matching the general function or character of the OOTB attributes, in order to maintain the default attributes that are undoubtedly buried with tools and objects. Thanks all!

Versions 25, 27, or 28
macOS Sonoma 14.7.1 - 2021 MacBook Pro 16", M1 Max Chip, 64gb DDR5
Browser: Google Chrome

Yes, create a buffer with an attribute that has a much higher number than all of the others.

How high you go is up to you, a few hundred at least I would say.

But go 1000 if you want a lot of wiggle room.

 

The buffer is important.

When any user creates a new attribute in a file based on that template, the number will be one higher than the highest attribute number (higher than the buffer).

Should you ever want to create new attributes in your template, re-index then so they have a number lower than that highest buffer attribute.

Now you can safely import the attributes from your latest template into any other file based on older versions of that template, and you will be able to update the attributes without destroying any others that users have created in that file.

 

Barry.

 

 

One of the forum moderators.
Versions 6.5 to 27
i7-10700 @ 2.9Ghz, 32GB ram, GeForce RTX 2060 (6GB), Windows 10
Lenovo Thinkpad - i7-1270P 2.20 GHz, 32GB RAM, Nvidia T550, Windows 11

Setup info provided by author