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

Dealing with Missing Attributes

Keymaster
Booster

@Barry Kelly In this thread 

https://community.graphisoft.com/t5/Collaboration-with-other/Missing-Object-Surface-Defaults/td-p/33... 

I screenshot the comment I'm speaking about. 

 

I ran into this problem. We are using 27 solo and I want to go up to 28 solo soonish. I edited a ton of things in our template.  It works fine, but now that I started working on a 28 template I'm learning a lot of default objects have missing things. I didn't notice before because I have favorite starters for almost everything we use daily.

 

I can't fix 1000s of objects. I'd be better off almost starting fresh and then redoing all the changes to surface names and images. You mention fixing it with the index numbers. Can you get more into detail about this? How do I know what the default index number I'm missing is? There are two columns of numbers in the attibute manager? Which is the index number (one doesn't say anything, the other has a work street sign looking thing as a header)? I think this might be my best course to go from my 27 solo template into the new solo 28 global library. I'm trying to do some research to avoid doing things twice or more. I'm limited in some of my attribute management because we are using Solo version. That's why I manually changed surface names to names with numbers for our office.

 

Thanks for any help you can provide

 

Operating system used: Mac Apple Silicon


Screenshot 2024-11-11 at 12.53.22 PM.png

2 ACCEPTED SOLUTIONS

Accepted Solutions
Solution

@Keymaster wrote:

If I could justs edit the index numbers in the project I could fix it fairly fast. I'd start a default 28 template, then append all my surfaces. Now I go through all the surfaces.


That is what the mapping tool will do, but at the moment it is a very manual process of editing the XML file, and it is very easy to make a mistake.

There is a Python command (file?) that will convert the XML file to a CSV for easy editing in Excel.

But I still don't know how to do this yet.

 

Once you have the converted mapping table, it can be applied to any file in 28.

If you apply it to your template, then it will be good from then on for all files based on that template.

All objects will use your template attributes.

 


@Keymaster wrote:

Made up numbers and layer surface names for example: Default surface is say "Brick Surface Color" with an index of 6. I delete that surface and replace with my surface say "90.02 Brick | Red(no hatch)"  with index number of 545. I then just change my surface to index number 6. I'd need to do it with all the default surfaces to mine, but I'd only need to do it once and never again going forward with my understanding of the new library for 28.


Altering the existing attributes to appear as you want them and keeping the default Graphisoft index numbers is fine and will then mean that all library objects use your 'new' attributes.

But you will never be able to overwrite with attributes from the Graphisoft template, because they will simply reset back to what they were before.

 

 

So the mapping tool is perfect for what we want.

We just need to be able to use it easily as shown in the video I linked to before.

 

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

There is no list that I know of.

But export a mapping table in 28 and you will have a list of every parameter and default value for every object in your loaded library.

 

2 things you don't want to do in my opinion.

1. Don't edit the GDL scripts to use the parameter values (attributes) of your choice.

You will need to do this every time there is a library update (or new Archicad version).

 

2. Do not change an attribute to something else (keeping the same index number)

i.e. do not change '15 Wood - Pine Grained Horizontal' to '15 My Timber Surface'.

This will affect every single object and element that is using surface attribute 15.

Keep attribute 15 as it is and create a new one for My Timber Surface.

Create favourites that use My Timber Surface instead of Wood Pine.

 

So yes, append your attributes to the default template so they all have different attribute number.

And set up favourites to use your attributes.

Try to keep all of the default attributes, so that if you copy and paste anything from any other file or load a 3rd party library (based on the default template attributes), there will be nothing missing or mixed up.

 

The Mapping Tool is exactly what we need now - for library objects.

In the list it creates, you can edit every 'surface fill = 15' entry to 'surface fill = 665' for all objects or just the ones you want.

The problem is it is a very manual process at this stage.

Super easy to make a mistake.

This only helps with objects though.

For other elements (walls, slabs, etc.) you will still have to amend the composites to use the building materials you want an adjust the building materials to use the surface and fill attributes you want.

 

I have done this mapping and now have the default Graphisoft library using my attributes in my template, which are completely different.

Previously I have not been able to use the default Graphisoft library easily.

Now I can use it without having to change any values in the objects I place.

 

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

11 REPLIES 11
Barry Kelly
Moderator

There is no migration of objects from 27 to 28.

It is basically start again with a new template based on the default Graphisoft 28 template.

 

This may help...

https://community.graphisoft.com/t5/Libraries-objects/Archicad-28-Migration-Converting-from-Monolith...

 

If you don't want to go through the process of setting up all your personal touches in the new template, you can simply open your old 27 template.

Delete the 27 library and load the 28 library packages.

You may have a few or a lot of 'missing' objects - depending what you have in your template.

You need to track these down and replace them with the alternative 28 version set with the parameters as you want.

There is no easy way to do this.

 

As for the favourites, there is a favourite converter tool.

I have used it and it seems to work fine.

Links for downloads and documentation can be found in this post ...

 

https://community.graphisoft.com/t5/Libraries-objects/Favorite-Converter-Tool-AC28/m-p/634452

 

Make sure your Model View Options are set, as there are new features in there as well.

 

As for the attribute, ideally you want your template to use the default attributes as they are in the Graphisoft template, so they work with the library objects.

However, with the new Global Libraries, there is a way to map the attribute used in your template to the library objects so they use the attributes in your template.

At the moment there is no tool to easily do this (supposedly coming soon).

At present, it is a very long winded manual process of editing a mapping table and it is very easy to make a mistake which is super frustrating.

But if you have converted your favourites, you can get away with not doing this.

 

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

I'll have to dive deeper into some of your suggests and see how much stuff is broken. I feel like it's something I'm going to start and mess up. Starting over will probably be better than fixing errors.

 

I left most building materials and fills the same besides a few extra ones I added for our template. Exampe. We only had gypsum board material. I added a plaster material as we do a lot of old work remodels.

 

My biggest issue is the default surfaces aren't great. Graphisoft has grey spelled grey and gray mixed up. Every time a dev made an new surface it's like they didn't look at what was already there and made up their own naming convention. Here's a screenshot of basically what I set up. The surfaces are mostly I assume what will be the missing information in the default archicad 28 objects. I also added the extra surface library from graphisoft. That had a ton of duplicates and stupid things in it. We have hundreds of surfaces to make work with default objects. I reorgainzed graphisofts default surfaces of around 500 plus and then added 100 plus new ones. It makes the project super bloated, but I store that library on a NAS. We very rarely use a consultant. I deal with those when they pop up.

Screenshot 2024-11-19 at 1.49.26 PM.png

I've made some progress and it's working well so far as I can tell. 

 

If I just add all my surfaces with attribute manager and append them to the 28 default template then I go through each default surface and delete and replace with one of my own surfaces will that affect future template version and break default objects. Am I fixing index numbers doing that or is that a per project fix that won't help me.  Basically there are less default surfaces than I have added surfaces. It would be faster that way if it would work long term without doing it every version.

 

Edit: I just tried the delete and replace and it uses the new index number instead of the one you are deleting. Shame

Edit & Replace will swap one attribute for another and all elements (including already placed objects) that use that attribute will now be using the new attribute.

However, a new object that you place from the library will have a 'missing' attribute (i.e. surface material), because it is scripted into the objects GDL code.

 

You will need to edit each object to swap each parameter to the new attribute (not a good idea).

 

With the 28 Global libraries, there is a new 'Mapping Table' that can be used to map parameters to other values, so you can effectively swap one material for another.

But this is not an easy process at the moment.

There is information here about an easier process about the mapping ... https://graphisoft.com/resources-and-support/downloads/?section=bim-content

The video shows how it is done but I am not clear on what Python script is being run to convert the XML file to a CSV file.

If anyone knows, please let me know.

 

I would say it is best for you to keep the default Graphisoft attributes and add your own.

There are really only a handful of attributes actually used, so you only need to keep those.

But it is a bit of trial and error to figure out which ones they are - there is no list.

 

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

If I could justs edit the index numbers in the project I could fix it fairly fast. I'd start a default 28 template, then append all my surfaces. Now I go through all the surfaces.

 

Made up numbers and layer surface names for example: Default surface is say "Brick Surface Color" with an index of 6. I delete that surface and replace with my surface say "90.02 Brick | Red(no hatch)"  with index number of 545. I then just change my surface to index number 6. I'd need to do it with all the default surfaces to mine, but I'd only need to do it once and never again going forward with my understanding of the new library for 28.

 

Solution

@Keymaster wrote:

If I could justs edit the index numbers in the project I could fix it fairly fast. I'd start a default 28 template, then append all my surfaces. Now I go through all the surfaces.


That is what the mapping tool will do, but at the moment it is a very manual process of editing the XML file, and it is very easy to make a mistake.

There is a Python command (file?) that will convert the XML file to a CSV for easy editing in Excel.

But I still don't know how to do this yet.

 

Once you have the converted mapping table, it can be applied to any file in 28.

If you apply it to your template, then it will be good from then on for all files based on that template.

All objects will use your template attributes.

 


@Keymaster wrote:

Made up numbers and layer surface names for example: Default surface is say "Brick Surface Color" with an index of 6. I delete that surface and replace with my surface say "90.02 Brick | Red(no hatch)"  with index number of 545. I then just change my surface to index number 6. I'd need to do it with all the default surfaces to mine, but I'd only need to do it once and never again going forward with my understanding of the new library for 28.


Altering the existing attributes to appear as you want them and keeping the default Graphisoft index numbers is fine and will then mean that all library objects use your 'new' attributes.

But you will never be able to overwrite with attributes from the Graphisoft template, because they will simply reset back to what they were before.

 

 

So the mapping tool is perfect for what we want.

We just need to be able to use it easily as shown in the video I linked to before.

 

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

Is there a list that shows all the index numbers that archicad uses? If there's only a couple dozen I might just fix those and it will be all good.

The Attribute Manager shows you the attribute index numbers, and you can manipulate them there.

But that will not help you if you want to map the library parameter to your template attributes.

For that you still need to use library mapping and know what default attribute number you want to change to your attribute number.

So you will need to open a default Graphisoft template, find out what attributes the objects use, and then use Attribute Manager to find the default index numbers of those attributes.

Then amend the mapping table, to swap all of those attribute numbers.

The problem is the mapping table from the library has 10's of thousands of entries.

And to manually search and replace those can be done with a simple text editor, but it is very easy to make a mistake and it won't work.

That is why we need the Python command to covert to a CSV file so it can easily be edited in Excel (or similar).

 

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

I was more asking is there a list of which indexes archicad uses for it's default objects anywhere. I have failed trying to locate one. Say archicad has 250 default index numbers. Is it using all 250 for default objects or just like 1-25? If it only used a few of them then I could just manual change those attributes to mine. I don't want to manually change them all, but if it was only a dozen or so then it wouldn't be too bad.

 

Kind of like the pen sets. There are like 50 pens, but I think archicad only uses the first 10 or so for it's defaults. 

 

In the end what I think I'm going to do at this time is: 

 

Load 28 with default template. Put all the default surfaces into a folder called "legacy". Append my surfaces from my 27 template to 28. We use a lot of favorites and those use my surfaces. If someone grabs an object from the library that isn't a favorite at least it won't have missing surfaces like they do now as it will still use the "legacy" surfaces I dump in a folder. Later when we get a better tool, I can fix them. I can also chip away at  changing the legacy surfaces to match mine a few at a time. If a script doesn't come out to make it easier then by release of 29, I'd probably have it all fixed. 

 

I know I'll need to fix all my 27 favorites to 28 as well. 

Setup info provided by author