<?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: Update drawings programatically in Archicad C++ API</title>
    <link>https://community.graphisoft.com/t5/Archicad-C-API/Update-drawings-programatically/m-p/139505#M6134</link>
    <description>I am using fallowing code to refresh all layout books using API.
&lt;PRE&gt;&lt;I&gt;
&lt;/I&gt;void RefreshAllLayoutBooks()
{
     API_DatabaseUnId *dbases = NULL;
     API_DatabaseInfo db_orig, dbLayoutBook;
     OSErr err;
     Int32 nDbases = 0;

     if(ACAPI_Database(APIDb_GetCurrentDatabaseID, &amp;amp;db_orig, NULL) != noErr)
          return;

     if(ACAPI_database(APIDb_GetLayoutDatabasesID, &amp;amp;dbases, NULL) == noErr)
     {
          nDbases = BMpGetSize(reinterpret_cast&amp;lt;GSPtr&amp;gt;(dbases))/sizeof(API_DatabaseUnId);
          for(Int32 ii = 0; ii &amp;lt; Dbases; ++ii)
          {
               BnZeroMemory(&amp;amp;dbLayoutBook, sizeof(API_DatabaseInfo));
               dbLayoutBook.typeID = APIWind_LayoutID;
               dbLayoutBook.databaseUnId = dbases[ii];
               if(ACAPI_Database(APIDb_ChangeCurrentDatabaseID, &amp;amp;dbLayoutBook, NULL) == noErr)
                    ACAPI_Database(APIDb_RebuildCurrentDatabaseID);
          }
     }
     ACAP_Database(APIDb_ChangeCurrentDatabaseID, &amp;amp;db_Orig, NULL);
     if(dbases != NULL)
          BMpFree(reinterpret_cast&amp;lt;GSPtr&amp;gt;(dbases));
}
&lt;/PRE&gt;

Is this code right?</description>
    <pubDate>Wed, 01 Dec 2010 06:50:49 GMT</pubDate>
    <dc:creator>Anonymous</dc:creator>
    <dc:date>2010-12-01T06:50:49Z</dc:date>
    <item>
      <title>Update drawings programatically</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/Update-drawings-programatically/m-p/139503#M6132</link>
      <description>&lt;DIV class="actalk-migrated-content"&gt;Hi,&lt;BR /&gt;&lt;BR /&gt;Presently I am using DrawingManager-&amp;gt;Update Drawings command to update all the layout books.&lt;BR /&gt;&lt;BR /&gt;Can I do it(updating Drawings) By using API Command(s)?&lt;/DIV&gt;</description>
      <pubDate>Thu, 03 Aug 2023 08:38:23 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/Update-drawings-programatically/m-p/139503#M6132</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2023-08-03T08:38:23Z</dc:date>
    </item>
    <item>
      <title>Re: Update drawings programatically</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/Update-drawings-programatically/m-p/139504#M6133</link>
      <description>Ralph Wessel's Codebook add-on does that.&lt;BR /&gt;
&lt;BR /&gt;
Cheers,&lt;BR /&gt;
Link.</description>
      <pubDate>Wed, 01 Dec 2010 03:44:39 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/Update-drawings-programatically/m-p/139504#M6133</guid>
      <dc:creator>Link</dc:creator>
      <dc:date>2010-12-01T03:44:39Z</dc:date>
    </item>
    <item>
      <title>Re: Update drawings programatically</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/Update-drawings-programatically/m-p/139505#M6134</link>
      <description>I am using fallowing code to refresh all layout books using API.
&lt;PRE&gt;&lt;I&gt;
&lt;/I&gt;void RefreshAllLayoutBooks()
{
     API_DatabaseUnId *dbases = NULL;
     API_DatabaseInfo db_orig, dbLayoutBook;
     OSErr err;
     Int32 nDbases = 0;

     if(ACAPI_Database(APIDb_GetCurrentDatabaseID, &amp;amp;db_orig, NULL) != noErr)
          return;

     if(ACAPI_database(APIDb_GetLayoutDatabasesID, &amp;amp;dbases, NULL) == noErr)
     {
          nDbases = BMpGetSize(reinterpret_cast&amp;lt;GSPtr&amp;gt;(dbases))/sizeof(API_DatabaseUnId);
          for(Int32 ii = 0; ii &amp;lt; Dbases; ++ii)
          {
               BnZeroMemory(&amp;amp;dbLayoutBook, sizeof(API_DatabaseInfo));
               dbLayoutBook.typeID = APIWind_LayoutID;
               dbLayoutBook.databaseUnId = dbases[ii];
               if(ACAPI_Database(APIDb_ChangeCurrentDatabaseID, &amp;amp;dbLayoutBook, NULL) == noErr)
                    ACAPI_Database(APIDb_RebuildCurrentDatabaseID);
          }
     }
     ACAP_Database(APIDb_ChangeCurrentDatabaseID, &amp;amp;db_Orig, NULL);
     if(dbases != NULL)
          BMpFree(reinterpret_cast&amp;lt;GSPtr&amp;gt;(dbases));
}
&lt;/PRE&gt;

Is this code right?</description>
      <pubDate>Wed, 01 Dec 2010 06:50:49 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/Update-drawings-programatically/m-p/139505#M6134</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2010-12-01T06:50:49Z</dc:date>
    </item>
    <item>
      <title>Re: Update drawings programatically</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/Update-drawings-programatically/m-p/139506#M6135</link>
      <description>&lt;BLOCKQUOTE&gt;Link wrote:&lt;BR /&gt;
Ralph Wessel's Codebook add-on does that.&lt;BR /&gt;
&lt;BR /&gt;
Cheers,&lt;BR /&gt;
Link.
&lt;/BLOCKQUOTE&gt;

Where can I find it?</description>
      <pubDate>Sun, 10 Nov 2019 20:02:22 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/Update-drawings-programatically/m-p/139506#M6135</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2019-11-10T20:02:22Z</dc:date>
    </item>
  </channel>
</rss>

