GDL
About building parametric objects with GDL.

Exact Copy of AC Library Detail Marker Throws New Errors

I am trying to tweak the marker Detail Marker 01 25 in the USA library. This library part has only a Master Script, which contains only a macro call for BaseMarker_macro. All the action takes place in that macro; there are no further calls from any script.

 

I would think I could save as to create both BaseMarker_macro_JM and Detail Marker 01 JM, and modify the marker object to call my new macro instead.

 

This done, with precisely zero changes to any script, the new marker starts reporting errors from all scripts:

 

  • The 2D script has a div0 error.
  • The interface script reports that a parameter name (bVerticalTextPosition) isn't valid. The UI is also missing portions in the settings dialog.
  • The parameter script says that GLOB_SCALE is in use in the parameter script (via the master script). This is certainly true, but the original marker doesn't mind.

To reiterate: This is after a pure save as, no changes except the new macro name in the caller.

 

What's going on here, what am I missing, how do I fix it? Any help would be appreciated.

James Murray

Archicad 25 • Rill Architects • macOS • OnLand.info
10 REPLIES 10

As runxel wrote, macro calls are identified by a GUID (well, if they are compiled correctly from source code). Here is some explanation: https://gdl.Graphisoft.com/gdl-style-guide/library-part-format

Migration libraries need the old versions of a macro, they can't work with the newest if the parameters have changed.

Currently the best way to check which library part is opened is the Open Object button's dropdown list of the "Edit GDL Library Parts" toolbar, it shows the URI of the selected item in the status bar. Sadly it doesn't work correctly in AC24-25, but that will be fixed.

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