cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 

2024 Technology Preview Program:
Master powerful new features and shape the latest BIM-enabled innovations

Graphisoft Technology Preview Program 2024

Library Developer Toolkit for 28

Barry Kelly
Moderator

Where can I get a hold of the Library Developer Toolkit for version 28?

It is not in the Tech Preview downloads and the developers website only has up to version 27.

I am attempting to change the default parameters of the Global library Packages to suit my template, but it appears I need the Lib Dev Kit.

 

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
27 REPLIES 27

@Magdolna Marosvari wrote:

Yes, we agree that a user friendly tool is much needed to set library defaults. Internally we refer to it as Unmapping Values development which we are hoping to deliver next year.

Good to hear, the sooner the better. Hopefully this tool can be used to edit any JSONs used by Archicad. I am also happy to hear new library developer documentation is on the way. All of this is new and quite complex so I hope these new resources will cover everything discussed here and more.

 

For example this is the first I have heard of Pathname Tables even though I have been following the Global Library development since the beginning.

 

And from your previous post I learn there are Mapping Definitions contained in each libpack, in addition to the Mapping Value Tables connected to files or templates. I presume those two interact but I'm not sure how. 

 


Regarding the folder structure: Yes, the folder structure depends on the template, the path name table defines is.

You can find the pathname table files in the Localization folder of an extracted library package. (For extraction see previous reply).

But before we dwell into these details: Have you tried the Folder View with Source view in the Tool Settings to set up custom folder structure?

Folder View (with sources) seems to reveal the libpacks themselves and whatever folders contain them, so everything upstream, but not how the objects are organized within the libpacks. Please correct me if I'm wrong.

 


What do you wish to accomplish?

My goal is twofold:

  1. Change the Global Library defaults to match my template attributes, which like Barry's are quite different from the Graphisoft templates.
  2. Combine my custom objects and the Global Library objects in a single folder structure. I'm not yet sure whether I will match INT, or USA, or create a new one.

I hope this is all possible with the new system and that maintaining the customizations will be relatively easy. I am taking my time figure all this out, and let the more eager among us lead the way, especially while current projects finish up with the old monolith libraries.

Regards,
Geoff Briggs
I & I Design, Seattle, USA
AC7-27, M1 Mac, OS 14.x

Hi @SeaGeoff ,

 


@SeaGeoff wrote:

@Magdolna Marosvari wrote:

Yes, we agree that a user friendly tool is much needed to set library defaults. Internally we refer to it as Unmapping Values development which we are hoping to deliver next year.

Good to hear, the sooner the better. Hopefully this tool can be used to edit any JSONs used by Archicad. I am also happy to hear new library developer documentation is on the way. All of this is new and quite complex so I hope these new resources will cover everything discussed here and more.

 

The goal of the tool wouldn't be JSON editing but to provide proper Archicad UI to set default values. What other JSON would you like to edit by the way?

 

For example this is the first I have heard of Pathname Tables even though I have been following the Global Library development since the beginning.

 

And from your previous post I learn there are Mapping Definitions contained in each libpack, in addition to the Mapping Value Tables connected to files or templates. I presume those two interact but I'm not sure how. 

 

Yes, Pathname Table and Mapping Definitions and their connection to Mapping Value Table will be covered in the documentation too.

 


Regarding the folder structure: Yes, the folder structure depends on the template, the path name table defines is.

You can find the pathname table files in the Localization folder of an extracted library package. (For extraction see previous reply).

But before we dwell into these details: Have you tried the Folder View with Source view in the Tool Settings to set up custom folder structure?

Folder View (with sources) seems to reveal the libpacks themselves and whatever folders contain them, so everything upstream, but not how the objects are organized within the libpacks. Please correct me if I'm wrong.

 

You are correct, 'Folder View (with sources)' is about organising library packages in different folders and the Pathname Table is about how the objects organised within the library packages.

 


What do you wish to accomplish?

My goal is twofold:

  1. Change the Global Library defaults to match my template attributes, which like Barry's are quite different from the Graphisoft templates.
  2. Combine my custom objects and the Global Library objects in a single folder structure. I'm not yet sure whether I will match INT, or USA, or create a new one.

I hope this is all possible with the new system and that maintaining the customizations will be relatively easy. I am taking my time figure all this out, and let the more eager among us lead the way, especially while current projects finish up with the old monolith libraries.


Yes, your goals are feasible with the Global Library. You can even create multiple alternatives, USA, INT or custom structure setups and decide from Archicad which one to use at each project start.

 

Best regards,

 

Magdolna

Hi @Barry Kelly ,

 

Yes, until now 2D symbol appearance was adjusted to GS templates. Now that the Mapping Value provides the possibility to flexibly adjust the library defaults it makes sense to make these attributes adjustable too by users.

What can be expected that you set it up for yourself now and likely from Archicad 29 it will be handled on exe side.

 

Best regards,

Magdolna

 

 

 

Hello @Magdolna Marosvari, I really appreciate your thorough replies. I am eager for the detailed documentation, and of course a proper UI for setting the defaults will be amazing. So there's a lot to look forward to but it also seems patience is warranted while all the pieces fall into place. In the meantime I hope you can answer a few more questions to help me formulate an overall strategy.

 

  1. Please confirm that changes made to the defaults (by JSON editing or the promised UI) will be maintained even when Graphisoft deploys updates to the global library.
  2. I am planning to align my own library to one of the existing pathname tables because creating one from scratch will mean changing the tables in all the global library libpacks, which I do not want to do. Is that a fair assumption?
  3. If I do that will I need to package my library in a libpack that has a pathname table to match?
  4. You mention that I could have multiple folder structures, presumably by having multiple pathname tables just as the global library does. Is that correct?
  5. What mechanism triggers the change from one pathname table to another?

Thanks again.

Regards,
Geoff Briggs
I & I Design, Seattle, USA
AC7-27, M1 Mac, OS 14.x

Hi Barry,

 

The mapping value table maps meanings identified by an unique string/type combination to a value. This is stored in the plan file.

Meanings are stored in each libpack, in a file mappingDefinitions.json. This part maps libpart/parameter combinations to meanings.

 

The hidden parameters which are not in mappingDefinitions.json but editable on the UI can be considered a bug. To define a mapping value for them, first a meaning has to be created, which can only be done by modifying the .libpack file.

Maybe an easier solution could be creating a favorite?

Péter Baksa
Software Engineer, Library as a Platform
Graphisoft SE, Budapest

Looking at the object more closely, these parameters are not on the UI, but already have a meaning.

Now I see the problem, it is that not all meanings are included in each template.

Until the more flexible tooling arrives, in such a case check mappingDefinitions.json in the libpack for the actual meaning name.

Here they are:

gs_fill_type -> gs_fill_type8565
gs_fill_pen -> Street_FillPen
gs_back_pen -> Street_BackPen

Péter Baksa
Software Engineer, Library as a Platform
Graphisoft SE, Budapest

Hi Geoff,

 

VSCode can handle it.

Excel can have 1Grows, it should be possible to import as Data with Power Query.

 

.libpacks contain pathNameTables, which define a virtual folder structure. package.info/LocDataPath defines which table is used for which localization. File/foldername dictionaries are applied to the virtual names for translation. This way many localizations can use the same pathnametable structure and display it in their own language.

Péter Baksa
Software Engineer, Library as a Platform
Graphisoft SE, Budapest
SeaGeoff
Ace

Hi @Peter Baksa, thanks for the details. The system components are starting to make sense but I think we will all benefit from a map or diagram of how this all fits together. Hopefully that will be part of the upcoming documentation.

 

To clarify, we will need to package our custom libraries in libpacks that include these complimentary files if we want them to conform to the same template-based control we can now impose on the global library. Is that correct?

 

Additionally, I tend to edit my custom objects on a regular basis. Since my office library is small I do not create LCFs, which in turn makes these modifications easy. Is it possible to directly open and edit the GDL of objects inside libpacks?

 

I'm in search of the holy grail where we can set the defaults for the global library to match our standards AND include our custom objects in the same virtual folders AND preserve the power to edit the GDL of our objects directly without cumbersome extraction and repackaging. Please tell me this is possible. Thanks.

Regards,
Geoff Briggs
I & I Design, Seattle, USA
AC7-27, M1 Mac, OS 14.x

Didn't find the answer?

Check other topics in this Forum

Back to Forum

Read the latest accepted solutions!

Accepted Solutions

Start a new conversation!