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

Duplicate Library Item - Door Leaf

Lingwisyer
Guru
Hi all,

I have an issue with my Door Panel Collection becoming blank when I open a file in which I have duplicated a Custom Door Panel.

The door panel is one that I have scripted to allow for various parameter modifications.

I have not been able to replicate the issue with a door panel that has been built with slabs, etc, then save out as a door panel...



Ling.

AC22-23 AUS 7000Help Those Help You - Add a Signature
Self-taught, bend it till it breaksCreating a Thread
Win10 | R5 2600 | 16GB | GTX1660 
1 ACCEPTED SOLUTION

Accepted Solutions
Solution
Barry Kelly
Moderator
Erwin wrote:
The trick is to set your scripted leaf as a custom leaf as object subtype.
It was the correct "Custom Door Leaf" subtype.

There is a "Door_Panel_Collection" macro that gets create in a hidden user file.
This one gets updated with the new custom panels and is used rather than the one in the library.
So being in a LCF is not the problem.

When I opened your custom made script and a saved as script I noticed a small difference.
In the parameter list of your scripted object there are 2 parameters that have values - one is a GUID.
In the saved as object I noticed these parameters are empty.

So when you duplicate the object it is keeping the same GUID - which I think is the problem.
As soon as I deleted those parameter values (and saved the object) I could duplicate, save and reopen the file and still see all of the custom panels.

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

24 REPLIES 24
Barry Kelly
Moderator
Lingwisyer wrote:
I have not been able to replicate the issue with a door panel that has been built with slabs, etc, then save out as a door panel...

When you save a slab as a custom door panel, Archicad amends a macro called "Door panel Collection".
This macro contains the names of the panels you have saved and calls the panel objects in 2D and 3D that you have created.

That is why if you simply duplicate (I assume by 'Save As' so it get a new internal GUID number) a door panel you have created, it will not appear in the list of available custom panels.

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
Lingwisyer
Guru
I am duplicating the object door panel though the Duplication option in the library manager. I have then renamed it and it subsequently appears in the Custom Door Panel drop down, so I assume it is being added to the Door Panel Collection. The issue arises when the file is reopened, at which point the Door Panel Collection becomes blank, until I delete the duplicated leaf. Almost as if it is finding a second macro, and only finds the original after the duplicate leaf is deleted.


Ling.

AC22-23 AUS 7000Help Those Help You - Add a Signature
Self-taught, bend it till it breaksCreating a Thread
Win10 | R5 2600 | 16GB | GTX1660 
Barry Kelly
Moderator
I just tried duplicating it the same way a you in version 22.
Duplicate in library manager, renamed, OK, save file, close Archicad and reopen.
Both the original and duplicate door were in the list of custom panels.
I am not using teamwork at all - not sure if there may be a permission thing happening there if you are.

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
Lingwisyer
Guru
I have only had this issue with a door leaf that I had scripted. Ones that were made through "Save selection as door leaf..." worked fine.

https://www.dropbox.com/s/ryj4is92nom9uar/Door%20Leaf%20-%20Louvre.gsm?dl=0
*Link to my custom door leaf


Ling.

AC22-23 AUS 7000Help Those Help You - Add a Signature
Self-taught, bend it till it breaksCreating a Thread
Win10 | R5 2600 | 16GB | GTX1660 
Barry Kelly
Moderator
OK I can confirm it does indeed go blank when you use a scripted door panel.
It is fine after you duplicate it and I checked the macro and it was all amended properly with the new panel and the duplicated panel.
For some reason, when you now close this file with the duplicate scripted panel, the 'Door_Panel_Collection' macro is being rewritten and is now blank.
I am having to delete both of the scripted panels (original and duplicate) and reload the library - then all is good again and the original door panel list is back.

I am not sure why it would do this for a scripted door but not from a 'save as panel' door.
I am wondering if it has something to do with the library being in a Library Container File (LCF).
Although I opened the 'Door_Panel_Collection' macro from the LCF library, maybe it is actually getting a copy from the user profile.
But still I have no idea why it would be different with scripted verses saved as panels.

I will see if I can experiment some more.

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
Lingwisyer
Guru
Barry wrote:
I am having to delete both

Odd, I am only needing to delete the duplicate for the list to return. Might be due to having the copy embedded and the original in an external library...

AC22-23 AUS 7000Help Those Help You - Add a Signature
Self-taught, bend it till it breaksCreating a Thread
Win10 | R5 2600 | 16GB | GTX1660 
Erwin Edel
Rockstar
The trick is to set your scripted leaf as a custom leaf as object subtype. (switching subtypes may reset your parameters, use at own risk!)

Very seldomly things will go missing (door frames with empty openings because leaf is 'missing'), opening your custom leaf and saving it again should poke ARCHICAD to behave again (sometimes with a rebuild of your elevation).

I believe it has to do with a list of custom leafs that sometimes won't rebuild properly.
Erwin Edel, Project Lead, Leloup Architecten
www.leloup.nl

ArchiCAD 9-26NED FULL
Windows 10 Pro
Adobe Design Premium CS5
Solution
Barry Kelly
Moderator
Erwin wrote:
The trick is to set your scripted leaf as a custom leaf as object subtype.
It was the correct "Custom Door Leaf" subtype.

There is a "Door_Panel_Collection" macro that gets create in a hidden user file.
This one gets updated with the new custom panels and is used rather than the one in the library.
So being in a LCF is not the problem.

When I opened your custom made script and a saved as script I noticed a small difference.
In the parameter list of your scripted object there are 2 parameters that have values - one is a GUID.
In the saved as object I noticed these parameters are empty.

So when you duplicate the object it is keeping the same GUID - which I think is the problem.
As soon as I deleted those parameter values (and saved the object) I could duplicate, save and reopen the file and still see all of the custom panels.

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
Lingwisyer
Guru
The object's subtype is a Custom Door Leaf. It will not appear in the door dialogue if that is not so.

Saving the door leaf out again did not work... nor did rebuilding a drawing or reloading the library.

Linked & Embedded
Removing the Original from the linked library DOES NOT result in a rebuild of the Door Panel Collection.
Removing the Duplicate from the embedded library DOES result in a rebuild of the Door Panel Collection.


Both Linked
When duplicated to an external library instead of embedding it results in it becoming a duplicate object and saving as "a new object" does not appear to change the GUID. Results in a faulty Door Panel Collection without needing to reopening the project.

Removing either of the objects from their linked libraries / removing the relevant libraries DOES NOT result in a rebuild of the Door Panel Collection




Ling.

AC22-23 AUS 7000Help Those Help You - Add a Signature
Self-taught, bend it till it breaksCreating a Thread
Win10 | R5 2600 | 16GB | GTX1660