We value your input! Please participate in Archicad 28 Home Screen and Tooltips/Quick Tutorials survey
2021-11-03 09:10 PM - last edited on 2024-09-09 11:22 AM by Doreena Deng
I am trying to set up a system where a number of different GDL objects can access common values. These values need to be accessible for updating with all the connected objects following the changes. I have a set up using MVO and the objects pulling values with the LibraryGlobal command. This is working great, until I change to a different MVO setting at which point all the values revert to their default / last changed values for that MVO. This can destroy my drawings (not literally), until all the variables are updated. Is there a practical alternative or some way of feeding back values so that all MVO selections use the same values?
2021-11-08 09:59 AM
Have you tried reading a file in the embedded library? Is it still slow then?
2021-11-08 10:33 AM
@Peter Baksa I am no GDL expert, so please forgive if I am missing something.
Would your suggestion be using the CALL command?
Looking back on the discussions in this thread I no longer see that as a solution. What we need is somewhere to deposit project globals but also have access to them through a user (friendly) interface. Without the MVO link I don't see any other logical route as Macros can't be placed and placed GSM files don't allow editing their source parameters. There will be a few interested readers here if you have a neat trick the rest of us are missing?
2021-11-08 12:24 PM
You wrote:
I can't justify external file I/O (too slow) to save the values
I thought maybe reading a file from the embedded library OPEN(..., ..., "LIBRARY, MODE=RO") would be faster, because reading external files disables multi-threaded gdl execution: http://gdl.graphisoft.com/gdl-style-guide/background-conversion
2021-11-08 11:30 PM
Thank you Peter, I will have a play with that as soon as I have time and report back. In my head there may be a Project Global solution that could work with a placed object and the UI script.
2021-11-09 08:27 PM
So I have had a play with this "Library" idea, but it looks like it is necessary to open each object or a selection of matching objects to get them to update. The advantage of using the MVO is all the affected objects are automatically rebuilt after a change in settings. The MVO is also a lot easier to manage / code.