GDL
About building parametric objects with GDL.

LCF creation

DGSketcher
Legend

Am I missing something...

I have created a collection of related objects & macros which are neatly organised in the Embedded library in sub folders. The create LCF option only seems to allow export of the complete Embedded library which is full of all sorts of irrelevant development & test objects. How do I narrow down my selection to the sub folders?

Apple iMac Intel i9 / macOS Sonoma / AC27UKI (most recent builds.. if they work)
9 REPLIES 9

I have never created LCF's from embedded libraries so I can't offer specific advice and to be honest the protocols I use for LCF's is based on nuances I noticed more than 5 years ago. However, I have found two things:

1. All loaded libraries seem to affect the creation of the LCF, specifically embedded libraries such that I now ensure that the only objects loaded are what I want in the LCF. I don't use embedded libraries in my creation process so all my LCF's original as a folder I load into the link libraries; however, When I create and LCF from this linked folder it includes any embedded objects that I may have loaded by chance.

2. Overwriting an existing LCF with a new save does not update the objects within. Therefore i create a new LCF every time, then delete the old LCF and rename the new one with the old ones name manually.

 

Things may have changed in the last 5 years but I would know because I have my safe method that works every time, so i haven't reexamined it.

Creator of Cadswift's parametric GDL libraries
Creator of Infinite Openings and Component Catalogues
Push the envelope & watch it bend
website: https://cadswift.com.au/
YouTube: https://www.youtube.com/user/CADSwift/playlists
DGSketcher
Legend

@Kristian Bursell Thank you for your observations they are very helpful. I have been developing as embedded as it just seemed an easy sandboxed solution before taking the objects into general use. LCF isn't a necessity for me and given the problems you describe I will abandon that option. Thankfully these are in house use only so no desperate need to consolidate for sharing. Although it would have been good to be able to click the required embedded subfolder and export, which should have updated everything and I haven't forgotten to save a modified file. Oh well, back to file export one at a time...

Apple iMac Intel i9 / macOS Sonoma / AC27UKI (most recent builds.. if they work)
Podolsky
Ace

Guys, I would like to pay your attention to the fact, that keeping your development GSM files in Embedded library is not really good idea, because if Archicad crashes (and during writing and testing GDL Archicad crashes quite often - because of wrong variable, array number zero or infinity loop - all that happens to anyone with no exception) - there is a big chance to loose more data then if the library saved as separate folder on disk. There is also a risk (quite small, but still) to loose the whole data if Archicad file will become corrupted by some reason. So, keeping development library as separate folder also gives easiest solution to making LCF files - you just connect folders, that you want to convert to LCF, as separate libraries and after converting them.

Not a good idea to have the library in folder(s) if the different versions are being developed. My opinion only. I sill cannot convince myself for using XML or HSF which might be better in backup when crahes happen (programmers editors can also crash - I had that with Sublime, and all temporary edited data was gone, but when it does not crash it stays there.

Archicad can autosave the objects inside...but they have to be saved (embeded) before crash.

For now I still prefere having tha all library (but images for UI) inside embeded lib, then I either save all or save the needed files to a folder from which I then create lcf after batch securing gsm's with password - all that (securing and making lcf) is done outside AC.

"Not a good idea to have the library in folder(s) if the different versions are being developed."

 

What do you mean by this? Different versions as in? AC versions? Object versions?

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

Library versions (new features, experimentals and so on), AC version for which the lib is kind of fixed but since some time I do not code the lib in the version it is targeted because of functionality of AC (19 - the oldest I can go down to in general editing, tabs and so on and )

Lingwisyer
Guru

So how does using multiple AC files with different embedded libraries differ from having difference folders? Would it just be so that you get a warning regarding library migration if you open it in the wrong version? Or is this some specific thing with regards to creating LCFs?

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

Counterargument: if you develop libraries on major version then the last (that always makes sense - let say to develop libraries in Archicad 23, that is would be available for versions 23-24-25) - keep all data in embedded library becoming problematic during testing on various versions, when if the library is saved in external folder - very easy to connect it in multiply Archicad versions and test. I want to pay extra attention to the fact, that sometimes GDL file becoming corrupted (i.e. crashes Archicad all the time) if it contains some crazy loops, especially in master GDL (that executes all the time when library is loading) - and it puts the whole library on danger, if it's embedded. I had some experience when Archicad file just didn't open - because it's been loading corrupted GDL file, that constantly crashed the system.

I just found it easier for me to check features in different files, however on my side all library is exported to a folder and then processed and saved to lcf via the library tool.