<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Global User Variables in Archicad C++ API</title>
    <link>https://community.graphisoft.com/t5/Archicad-C-API/Global-User-Variables/m-p/320070#M4478</link>
    <description>&lt;P&gt;Have you tried reading a file in the embedded library? Is it still slow then?&lt;/P&gt;</description>
    <pubDate>Mon, 08 Nov 2021 08:59:32 GMT</pubDate>
    <dc:creator>Peter Baksa</dc:creator>
    <dc:date>2021-11-08T08:59:32Z</dc:date>
    <item>
      <title>Global User Variables</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/Global-User-Variables/m-p/319625#M4468</link>
      <description>&lt;P&gt;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?&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 09 Sep 2024 09:22:43 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/Global-User-Variables/m-p/319625#M4468</guid>
      <dc:creator>DGSketcher</dc:creator>
      <dc:date>2024-09-09T09:22:43Z</dc:date>
    </item>
    <item>
      <title>Re: Global User Variables</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/Global-User-Variables/m-p/319632#M4469</link>
      <description>&lt;P&gt;Do you mean they are not updating automatically to the chosen MVO settings when you change to a different MVO? If so it may be because you are sending the MVO setting to a parameter and you have to wait for this parameter to refresh (the parameter script of the element to run). The trick is to send it to a local variable in the master script and use this value instead of the parameter value, or name it the same as the parameter.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have described this in a couple other post; just say the parameter name is "bClearance" and you call it from the MVO using the "success" method as "mvo_bClearance". in your master script, after the MVO call put:&lt;/P&gt;&lt;P&gt;bClearance = mvo_bClearance&lt;/P&gt;&lt;P&gt;parameters&amp;nbsp;bClearance =&amp;nbsp;bClearance&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This will result in the 2D and 3D script automatically responding the the MVO change without the need to run the parameter script.&lt;/P&gt;</description>
      <pubDate>Wed, 03 Nov 2021 21:12:54 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/Global-User-Variables/m-p/319632#M4469</guid>
      <dc:creator>Kristian Bursell</dc:creator>
      <dc:date>2021-11-03T21:12:54Z</dc:date>
    </item>
    <item>
      <title>Re: Global User Variables</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/Global-User-Variables/m-p/319633#M4470</link>
      <description>&lt;P&gt;&lt;a href="https://community.graphisoft.com/t5/user/viewprofilepage/user-id/1918"&gt;@Kristian Bursell&lt;/a&gt;&amp;nbsp;Thank you for the response. My problem is the MVO is working as it should. What I need is a way to set a parameter in my Library Global Setting Object in the MVO say "Width" and make that value the same in all the other existing MVO settings and any new MVO settings. I can't justify external file I/O (too slow) to save the values, but I would like to set "Width" to a system wide value easily from a single location. &amp;nbsp;Before being deprecated I think the solution would have been GLOB_USER_1. Maybe my approach is wrong?&lt;/P&gt;</description>
      <pubDate>Wed, 03 Nov 2021 21:54:58 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/Global-User-Variables/m-p/319633#M4470</guid>
      <dc:creator>DGSketcher</dc:creator>
      <dc:date>2021-11-03T21:54:58Z</dc:date>
    </item>
    <item>
      <title>Re: Global User Variables</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/Global-User-Variables/m-p/319645#M4471</link>
      <description>&lt;P&gt;In my opinion, the old GLOB_USER_?? variables used to work perfectly.&lt;/P&gt;
&lt;P&gt;I think they still do work, but the problem is (from memory) that they can no longer be set from an object, they must be initially set in a MASTER_GDL object.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I still think we need a UNIVERSAL_GLOBAL that can be set at any time like you would in the MVO values, but it is not actually part of a particular MVO combination.&lt;/P&gt;
&lt;P&gt;Therefore it will not change as you swap MVO combinations.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Barry.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 04 Nov 2021 01:19:52 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/Global-User-Variables/m-p/319645#M4471</guid>
      <dc:creator>Barry Kelly</dc:creator>
      <dc:date>2021-11-04T01:19:52Z</dc:date>
    </item>
    <item>
      <title>Re: Global User Variables</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/Global-User-Variables/m-p/319690#M4472</link>
      <description>&lt;P&gt;Thanks Barry, not just me seeing an issue here. I have tried to get my head around &amp;nbsp;"Master_GDL" but the information / tutorials seem in short supply. Being able to assign a PLN file specific editable variable and have it cascade into the objects seems like a useful thing to have.&lt;/P&gt;</description>
      <pubDate>Thu, 04 Nov 2021 09:06:09 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/Global-User-Variables/m-p/319690#M4472</guid>
      <dc:creator>DGSketcher</dc:creator>
      <dc:date>2021-11-04T09:06:09Z</dc:date>
    </item>
    <item>
      <title>Re: Global User Variables</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/Global-User-Variables/m-p/319727#M4473</link>
      <description>&lt;P&gt;The easiest way to implement this descendent to GLOB_USER_XX in my eyes is the following strategy (GS, please take notes):&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Having a a new button in the GDL editor (like the "U")&lt;/LI&gt;&lt;LI&gt;If this button is pressed the value will be automatically added to a list of truly UNIVERSAL GDL parameters&lt;/LI&gt;&lt;LI&gt;There will be a new interface dialog like the "project info" dialog&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;In this list all of those global GDL parameters are collected and can be set.&lt;/P&gt;&lt;P&gt;This value will go on to propagate into all placed objects with this certain parameter.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Of course there needs to be some kind of override (think of the "chain link" symbol already present in the properties UI), because some outliers always need to be special and different from the rest.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;In the end, everything is already somehow there, GS would just need to assemble it.&lt;/P&gt;&lt;P&gt;Please make it happen!&lt;/P&gt;</description>
      <pubDate>Thu, 04 Nov 2021 13:30:50 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/Global-User-Variables/m-p/319727#M4473</guid>
      <dc:creator>runxel</dc:creator>
      <dc:date>2021-11-04T13:30:50Z</dc:date>
    </item>
    <item>
      <title>Re: Global User Variables</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/Global-User-Variables/m-p/319730#M4474</link>
      <description>&lt;P&gt;Perhaps something as simple as a flag in the Library Global Object that controls whether to set each parameter in the MVO to a single value or changeable for each MVO setting would be easy to manage. Something along the lines of the "Placeable" switch e.g. "Parameters are global &lt;span class="lia-unicode-emoji" title=":white_heavy_check_mark:"&gt;✅&lt;/span&gt;" ?&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 04 Nov 2021 14:11:45 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/Global-User-Variables/m-p/319730#M4474</guid>
      <dc:creator>DGSketcher</dc:creator>
      <dc:date>2021-11-04T14:11:45Z</dc:date>
    </item>
    <item>
      <title>Re: Global User Variables</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/Global-User-Variables/m-p/319764#M4475</link>
      <description>&lt;P&gt;Sounds very interesting and quite powerful.&lt;/P&gt;&lt;P&gt;Objects are instance based but then become type based through MVO' s and now this theory asks for MVO's to have another higher level of control, effectively creating a project based control.&lt;/P&gt;&lt;P&gt;I like it.&lt;/P&gt;&lt;P&gt;I use the XML i/o for this same effect but that's at a far more detailed level (involving multiple specific parameters and arrays) for locking things to a favorites type function and its very object specific and complex. However, I can definitely appreciate the desire for similar quality control at a global parameter level.&lt;/P&gt;&lt;P&gt;I am thinking perhaps the XML i/o could be incorporated to work with MVO's to achieve this control but the interaction would be too clumsy unless it was an API. Hence I think this topic should be moved to the wishes forum as it definitely has a lot of merit and I don't believe it can be handled just with GDL unless you go down the same complex path I have with my XML catalogue functions, which is not a part of MVO's.&lt;/P&gt;</description>
      <pubDate>Thu, 04 Nov 2021 23:36:10 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/Global-User-Variables/m-p/319764#M4475</guid>
      <dc:creator>Kristian Bursell</dc:creator>
      <dc:date>2021-11-04T23:36:10Z</dc:date>
    </item>
    <item>
      <title>Re: Global User Variables</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/Global-User-Variables/m-p/319851#M4476</link>
      <description>&lt;P&gt;&lt;a href="https://community.graphisoft.com/t5/user/viewprofilepage/user-id/1918"&gt;@Kristian Bursell&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;SPAN&gt;Objects are instance based but then become type based through MVO' s and now this theory asks for MVO's to have another higher level of control, effectively creating a project based control.&lt;/SPAN&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;Nice summary. I assume your XML programming is system based control rather than project?&lt;/P&gt;</description>
      <pubDate>Fri, 05 Nov 2021 15:15:51 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/Global-User-Variables/m-p/319851#M4476</guid>
      <dc:creator>DGSketcher</dc:creator>
      <dc:date>2021-11-05T15:15:51Z</dc:date>
    </item>
    <item>
      <title>Re: Global User Variables</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/Global-User-Variables/m-p/320018#M4477</link>
      <description>&lt;P&gt;Yes it is system based. However, it does include a process to allow project based and even a combination of project and system based.&lt;/P&gt;&lt;P&gt;XML catalogues are stored externally (company server) and the user can create as many varied catalogues as they choose, hence they generally have an office wide catalogue next to project specific catalogues.&lt;/P&gt;&lt;P&gt;The more advanced teams even break it down into project stage catalogues starting with basic simplified configurations and evolving through the project to more detailed and specific configurations.&lt;/P&gt;</description>
      <pubDate>Sun, 07 Nov 2021 22:33:03 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/Global-User-Variables/m-p/320018#M4477</guid>
      <dc:creator>Kristian Bursell</dc:creator>
      <dc:date>2021-11-07T22:33:03Z</dc:date>
    </item>
    <item>
      <title>Re: Global User Variables</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/Global-User-Variables/m-p/320070#M4478</link>
      <description>&lt;P&gt;Have you tried reading a file in the embedded library? Is it still slow then?&lt;/P&gt;</description>
      <pubDate>Mon, 08 Nov 2021 08:59:32 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/Global-User-Variables/m-p/320070#M4478</guid>
      <dc:creator>Peter Baksa</dc:creator>
      <dc:date>2021-11-08T08:59:32Z</dc:date>
    </item>
    <item>
      <title>Re: Global User Variables</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/Global-User-Variables/m-p/320075#M4479</link>
      <description>&lt;P&gt;&lt;a href="https://community.graphisoft.com/t5/user/viewprofilepage/user-id/14532"&gt;@Peter Baksa&lt;/a&gt;&amp;nbsp;I am no GDL expert, so please forgive if I am missing something.&lt;/P&gt;&lt;P&gt;Would your suggestion be using the CALL command?&lt;/P&gt;&lt;P&gt;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?&lt;/P&gt;</description>
      <pubDate>Mon, 08 Nov 2021 09:33:53 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/Global-User-Variables/m-p/320075#M4479</guid>
      <dc:creator>DGSketcher</dc:creator>
      <dc:date>2021-11-08T09:33:53Z</dc:date>
    </item>
    <item>
      <title>Re: Global User Variables</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/Global-User-Variables/m-p/320089#M4480</link>
      <description>&lt;P&gt;You wrote:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;&lt;HR /&gt;I can't justify external file I/O (too slow) to save the values&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;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: &lt;A href="http://gdl.graphisoft.com/gdl-style-guide/background-conversion" target="_blank"&gt;http://gdl.graphisoft.com/gdl-style-guide/background-conversion&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 08 Nov 2021 11:24:43 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/Global-User-Variables/m-p/320089#M4480</guid>
      <dc:creator>Peter Baksa</dc:creator>
      <dc:date>2021-11-08T11:24:43Z</dc:date>
    </item>
    <item>
      <title>Re: Global User Variables</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/Global-User-Variables/m-p/320172#M4481</link>
      <description>&lt;P&gt;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.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 08 Nov 2021 22:30:59 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/Global-User-Variables/m-p/320172#M4481</guid>
      <dc:creator>DGSketcher</dc:creator>
      <dc:date>2021-11-08T22:30:59Z</dc:date>
    </item>
    <item>
      <title>Re: Global User Variables</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/Global-User-Variables/m-p/320304#M4482</link>
      <description>&lt;P&gt;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.&lt;/P&gt;</description>
      <pubDate>Tue, 09 Nov 2021 19:27:18 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/Global-User-Variables/m-p/320304#M4482</guid>
      <dc:creator>DGSketcher</dc:creator>
      <dc:date>2021-11-09T19:27:18Z</dc:date>
    </item>
  </channel>
</rss>

