Libraries & objects
About Archicad and BIMcloud libraries, their management and migration, objects and other library parts, etc.
SOLVED!

Urgent - Mass scale Library Part reseting values

Nader Belal
Mentor
Hi everyone,

I have a 2D object that have been replicated 100s of times per project on multiple projects, and all are put on the layouts.

The problem is that I had to make some minor modification to the object, but I have found out that due to object's programming schema, the changes would not take effect until I go through each object on each layout, to reset it values.

Is there a way I can reset he object's values on every layout with the need to go through all one by one? Like a mas reset to that specific object on all layout ?

Or do you have another solution ?
A good friend of mine have once told me that I´m so brute that I´m capable of creating a GDL script capable of creating GDLs.
1 ACCEPTED SOLUTION

Accepted Solutions
Solution
Barry Kelly
Moderator
Moonlight wrote:
But would loading and upload the library part from the project would reset it ??
So you have many instances of ‘object 1’ in your job.
They are all the same object but may have different parameter settings.
They all have the same GUID.

You create ‘object 2’ which has a new GUID.
This object contains the migration script that looks for the old GUID and then swaps it to the new GUID.
It can also set the values of any parameters so you can adjust existing parameter values or set new ones.

This migration script will only take effect object with the original GUID is missing from the loaded library, which is why you must delete it from your library (this includes the embedded library).
If it is still in there it will just load as normal and nothing will happen.
If it is missing, the migration script of the new object detects the missing objects and replaces them with the new one (and resets parameter values if you scripted that - new parameters will just take on the default values of the new object, but again you can define those as well if you want).

Barry.
One of the forum moderators.
Versions 6.5 to 27
Dell XPS- i7-6700 @ 3.4Ghz, 16GB ram, GeForce GTX 960 (2GB), Windows 10
Lenovo Thinkpad - i7-1270P 2.20 GHz, 32GB RAM, Nvidia T550, Windows 11

View solution in original post

9 REPLIES 9
Anonymous
Not applicable
Are the objects exactly the same on every layout?
If yes, I would select all of them and change one common parameter and check if the change sticks.
If not, I am afraid you will have to change one by one. At least groups of identical ones.
Make sure to backup your work.
Hope that helps.
Nader Belal
Mentor
It's the same object in all layouts.

It's GUID is maintained, but values of a parameter have been changed (to be clear, new values have been added).

What is I need is how to reset values on all the instances of that specific object in all layouts ?
A good friend of mine have once told me that I´m so brute that I´m capable of creating a GDL script capable of creating GDLs.
Anonymous
Not applicable
I can't see any way of mass selecting objects on layout environment.
In this case you will have to select one by one in each layout.
You could select one object > reset the values > eyedrop the parameters > inject it in identical ones > repeat ad nauseun.
I'm afraid we have one more wish to the list.
Good luck.
Nader Belal
Mentor
Just got an idea, and I want to know if it worked with anyone with you,,,,,

Since the objects different versions have the same GUID, wouldn't deleting the object from the project library and then loading up again will force ArchiCAD to re-read the object without changing its parameters' values .... ??? like a forced refresh ?
A good friend of mine have once told me that I´m so brute that I´m capable of creating a GDL script capable of creating GDLs.
Nader Belal
Mentor
Update: I forget to mention that the project was already uploaded to the BIMserver
A good friend of mine have once told me that I´m so brute that I´m capable of creating a GDL script capable of creating GDLs.
Barry Kelly
Moderator
If I understand properly what you want then this is exactly what object migration does.

You have your original object with its own GUID.
You then use the migration scripts to swap it to a new object with a new GUID.
You can set default parameter values in the swapping process.

Make sure your original object is no longer in the loaded library and all placed instances of that object will swap to the new one with the default values that you set.

There are a few forum posts here somewhere if you are not familiar with migration.

Barry.
One of the forum moderators.
Versions 6.5 to 27
Dell XPS- i7-6700 @ 3.4Ghz, 16GB ram, GeForce GTX 960 (2GB), Windows 10
Lenovo Thinkpad - i7-1270P 2.20 GHz, 32GB RAM, Nvidia T550, Windows 11
Nader Belal
Mentor
Thank you Barry, didn't know that.

But would loading and upload the library part from the project would reset it ??
A good friend of mine have once told me that I´m so brute that I´m capable of creating a GDL script capable of creating GDLs.
Solution
Barry Kelly
Moderator
Moonlight wrote:
But would loading and upload the library part from the project would reset it ??
So you have many instances of ‘object 1’ in your job.
They are all the same object but may have different parameter settings.
They all have the same GUID.

You create ‘object 2’ which has a new GUID.
This object contains the migration script that looks for the old GUID and then swaps it to the new GUID.
It can also set the values of any parameters so you can adjust existing parameter values or set new ones.

This migration script will only take effect object with the original GUID is missing from the loaded library, which is why you must delete it from your library (this includes the embedded library).
If it is still in there it will just load as normal and nothing will happen.
If it is missing, the migration script of the new object detects the missing objects and replaces them with the new one (and resets parameter values if you scripted that - new parameters will just take on the default values of the new object, but again you can define those as well if you want).

Barry.
One of the forum moderators.
Versions 6.5 to 27
Dell XPS- i7-6700 @ 3.4Ghz, 16GB ram, GeForce GTX 960 (2GB), Windows 10
Lenovo Thinkpad - i7-1270P 2.20 GHz, 32GB RAM, Nvidia T550, Windows 11
Nader Belal
Mentor
Thank you Barry
A good friend of mine have once told me that I´m so brute that I´m capable of creating a GDL script capable of creating GDLs.