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

If You look for LP_XMLConverter... it is as always in Archicad Folder with 2 flavours the current 28 and in the "prevoius.." folder a 27 version.

BTW: the libpacks  were introduced in version 25 (whenever I have time I will test if the translating engin works there too), I learned that studying LP_XMLConverter/h in the commandline: yes the manual in the library dev kit is not updated for ages, but help in the application is..I learned a lot of tricks with this app from embeded help + trial& error... not manual 😞

Hi @Barry Kelly and others making templates.

For a variety of reasons, your template should follow the longstanding, and unpublished Graphisoft Standards for key attributes and their Index correlations. I say "Standards" plural, since the North American and International standards slipped apart a few times in the past decades. But a good North American template will inoculate itself by being compatible with both as much as possible. For example, when the INT template and libraries changed from using pen 91 as white background, to using pen 19, we changed pen 19 in the USA template to be white also. But we also kept pen 91 white to maintain compatibility with existing US libraries and older International libraries.

Fills and Surfaces also have critical Index alignments. So, fill indexes 65 and 85 should be Background/Empty etc. (The spelling doesn't matter.) There are many other examples.

And Surfaces have a lot of critical index alignments. The most obvious is that glass should be index 24, so that windows in the library default to glass panes instead of something silly like brick or siding. You can make your attributes nicer in your template, but don't totally change their character.

Note that Surfaces are a kind of Super-Attribute because many use Fills as a part of their definition. This is another reason why many of the Fills need to be on the correct Index so that Surface hatching matches surface textures.

And then Surfaces (by index) are used in Material definitions.

And then Materials are referenced (by index) in Composites and Profiles.

And Profiles are referenced by index in default settings for Stair, Curtain Wall, and Railing library parts.

Yes, you can change the default parameter in an object, (usually lol) and save that with a Favorite. But that kind of overhead adds up over time.

So, as you can see, Fills and Pens are part of an elaborate foundation upon which the rest of the attributes are standing. And if your template doesn't follow the Graphisoft Standards, your template will be fighting ArchiCAD rather than making it look beautiful by default.

Fortunately, you can use Attribute Manager to fix most of this in your template, (especially after the "Reindex..." button was added). When you do, you can also open the default INT template and USA template (not at the same time), to see in the right dialog window, what is implied by the way Graphisoft has aligned attributes with Indexes. Then put all your custom attributes in the higher unused Indexes.

Ransom Ratcliff
RATCLIFF CONSULTING LLC
Charrette Venture Group
ArchiCAD 4.55 - 27
Apple M3 Max + Dell Precision Workstation

Yes, I am aware a template should follow Graphisoft defaults for attributes.

But the problem is my template was started over 20 years ago and we had our own custom library built and never used the default Graphisoft library.

Back then we didn't understand this attribute business, or it wasn't important to us because we had our own setup.

 

Recently I have been incorporating some of the Graphisoft objects into our library.

Yes attributes are a problem, but I have taken the time to go through and edit the default parameters to suit our setup.

Painful, as it needs to be done for each version.

 

That is why this mapping value table is brilliant.

I can ow map (nearly) all object to use my template attribute.

All except those object with hidden parameters it seems.

I have no idea how people use these objects when the parameters that control how they appear are hidden from the users (i.e. fill type, and fill foreground and background colours).

I am hoping to not going back to editing the Graphisoft library objects.

 

Unfortunately is is not as simple as re-indexing attributes in my template to match those of Graphisoft.

We have been using it way to long and as a project home builder, we have tens of thousands of jobs and thousands of standard plans - all based on the same template and using our custom library.

There is no way we can change that without making a completely new start, and I doubt that will ever happen as we have too much to renew.

 

If I new then what I know now, I would have set up our template based on the Graphisoft defaults.

So that is a good tip for anyone wanting to set up their own template.

 

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

Hi @Barry Kelly ,

 

The example you showed is a bug, the parameter should not be hidden as it is used by the object.

There is quick a workaround for this issue if you need to fix it fast: If you select this object then an other object that has the same parameter, then if you set the parameter in the second object, it will be changed in the first too.

 

Regarding setting the default (for advanced users):

 

Unpack the affected library package:

Add the Edit GDL Library Parts toolbar from Window/Toolbars.

Screenshot 2024-08-09 at 11.59.21.png

On the toolbar, open the first dropdown and use the "Extract Library Package" option.

Screenshot 2024-08-09 at 12.00.02.png

Open the mappingDefinitions.json, look for the object's name in the meaning values, and in the same section, add a new mapping definition.

 

Screenshot 2024-08-09 at 12.10.35.png

The paramName should be the Variable name from the parameter list (e.g. gs_fill_type), and the meaning name is the same as you use in the mappingValues.json (e.g. "Parking Places Polyline/gs_fill_type/Fill Type", based on the example you've written).

 

Best regards,

Magdolna

Hi @SeaGeoff ,

 

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.

 

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?

What do you wish to accomplish?

 

Best regards,

Magdolna

 

iggiv
Enthusiast

This is an interesting chart, and I’m looking forward to the final version of AC28. I’d love to see the procedure you will follow to address this issue.

 

During AC17, I made some poor decisions without fully understanding the consequences. Specifically, I personalized all my attributes—such as color, fill, background, and materials—by reindexing and renaming them. While I liked the results, I wouldn’t have done it if I had known the costs involved.

 

Since then, I’ve updated to the new version by creating a file containing all my elements, which amounts to over 3,050 items, with two-thirds of them being used in modules. This approach also addresses materials, classifications, and even parameters. It was tedious work, but not as challenging as I expected. I spent four days migrating to the “Global Library,” although not all of the migration libraries loaded. I only had to extract “Culture Stone 17,” “Detailer Library 27,” and “Stone and Wood Texture 17”. Once all this was done, I replaced my favorites and modules, and I’m now ready to start fresh with AC28’s new files without any migration libraries.

 

Thank you, everyone, for your comments, and looking forward to seeing what the conclusion may be.

Hi @Piotr Dobrowolski ,

 

The Global Library developer documentation can be expected after September.

 

Best regards,

Magdolna

Hi @Ransom Ratcliff ,

 

Yes, correct.

In conclusion: The relations between the attributes in the templates remains the same as before,

but the relations between the attributes and the library now become more flexible with the possibility to use mapping values.

 

Best regards,

Magdolna

Hi @iggiv ,

 

Thank you very much for your feedback. It is really reassuring to read that you were already able to convert such a complex custom template and that you are ready to make the most of the new library.

 

Best regards,

Magdolna

Thanks for the tip @Magdolna Marosvari for selecting a similar object.

 

Extracting the library pack and editing the mapping definitions is an option.

I could also unpack the LCF and fix the object.

But that requires editing the default library and that will have to be done every time there is an update (unless that problem is fixed).

And then I would have to distribute the fixed library pack to our 40+ users and have them updated their default library as well.

 

I was hoping there would be some way to edit the mapping value table that can be exported from my template.

But it seems that adding the parameter to that table does nothing if the parameter is hidden?

Is there any way to set it in the template's mapping value table if the library pack mapping definitions file is incorrect?

Or do they both need to list the same parameter names?

 

 

When I open the library pack mapping definitions, I see the parameter names are there, but the meaning seems to be incorrect.

 

BarryKelly_0-1723207690613.png

 

Similar is happening to 6 of the tree symbols - I have reported the issue - #164849

But with these the 'selection_fill_type' parameter name is either completely missing ir again the wrong format.

 

BarryKelly_1-1723208215460.png

 

So yes, I can fix this if need be, but if it does not get fixed at Graphisoft's end, then it will be a constant battle to fix it at every update and I will have to remember to replace that global library pack every time I install Archicad.

 

Hopefully this is something that you can fix quickly now with the library packs.

 

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

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!