<?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: how to get the floor information of a building model in Archicad C++ API</title>
    <link>https://community.graphisoft.com/t5/Archicad-C-API/how-to-get-the-floor-information-of-a-building-model/m-p/263151#M3134</link>
    <description>When you say "Building", do you mean as defined by IFC?</description>
    <pubDate>Fri, 11 Oct 2019 12:25:55 GMT</pubDate>
    <dc:creator>Ralph Wessel</dc:creator>
    <dc:date>2019-10-11T12:25:55Z</dc:date>
    <item>
      <title>how to get the floor information of a building model</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/how-to-get-the-floor-information-of-a-building-model/m-p/263146#M3129</link>
      <description>&lt;DIV class="actalk-migrated-content"&gt;I'm a new Archicad Api developer,I want to know how get the floor information of a building model. I find that these are &lt;BR /&gt;element,classification concept in Archicad Api,but no floor or building concept.&lt;BR /&gt;How can I solve the problem? &lt;BR /&gt;Your advice/suggestoins are appreciated.&lt;/DIV&gt;</description>
      <pubDate>Thu, 29 Sep 2022 08:08:47 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/how-to-get-the-floor-information-of-a-building-model/m-p/263146#M3129</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2022-09-29T08:08:47Z</dc:date>
    </item>
    <item>
      <title>Re: how to get the floor information of a building model</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/how-to-get-the-floor-information-of-a-building-model/m-p/263147#M3130</link>
      <description>Sorry, I'm not clear on the question. Do you want the building storey information, e.g. the name, base level and height of each floor in the building?</description>
      <pubDate>Fri, 11 Oct 2019 08:19:12 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/how-to-get-the-floor-information-of-a-building-model/m-p/263147#M3130</guid>
      <dc:creator>Ralph Wessel</dc:creator>
      <dc:date>2019-10-11T08:19:12Z</dc:date>
    </item>
    <item>
      <title>Re: how to get the floor information of a building model</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/how-to-get-the-floor-information-of-a-building-model/m-p/263148#M3131</link>
      <description>&lt;BLOCKQUOTE&gt;Ralph wrote:&lt;BR /&gt;
Sorry, I'm not clear on the question. Do you want the building storey information, e.g. the name, base level and height of each floor in the building?
&lt;/BLOCKQUOTE&gt;

yes. &lt;IMG src="https://community.graphisoft.com/legacyfs/online/emojis/icon_biggrin.gif" style="display : inline;" /&gt; .How can I get the Information? thank you</description>
      <pubDate>Fri, 11 Oct 2019 08:25:21 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/how-to-get-the-floor-information-of-a-building-model/m-p/263148#M3131</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2019-10-11T08:25:21Z</dc:date>
    </item>
    <item>
      <title>Re: how to get the floor information of a building model</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/how-to-get-the-floor-information-of-a-building-model/m-p/263149#M3132</link>
      <description>Ok, take a look at using &lt;I&gt;&lt;/I&gt;&lt;S&gt;&lt;I&gt;&lt;I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/S&gt;ACAPI_Environment&lt;E&gt;&lt;/E&gt; with &lt;I&gt;&lt;/I&gt;&lt;S&gt;&lt;I&gt;&lt;I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/S&gt;APIEnv_GetStorySettingsID&lt;E&gt;&lt;/E&gt;, e.g.:
&lt;PRE&gt;&lt;I&gt;
&lt;/I&gt;	API_StoryInfo storyInfo;
	BNZeroMemory(&amp;amp; storyInfo, sizeof (API_StoryInfo));
	GSErrCode err = ACAPI_Environment(APIEnv_GetStorySettingsID, &amp;amp;storyInfo, nullptr);
		//…get whatever you need from the story data
	BMKillHandle((GSHandle *) &amp;amp;storyInfo.data);
&lt;/PRE&gt;

The &lt;I&gt;&lt;/I&gt;&lt;S&gt;&lt;I&gt;&lt;I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/S&gt;API_StoryInfo&lt;E&gt;&lt;/E&gt; structure will have everything you need.</description>
      <pubDate>Fri, 11 Oct 2019 08:56:48 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/how-to-get-the-floor-information-of-a-building-model/m-p/263149#M3132</guid>
      <dc:creator>Ralph Wessel</dc:creator>
      <dc:date>2019-10-11T08:56:48Z</dc:date>
    </item>
    <item>
      <title>Re: how to get the floor information of a building model</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/how-to-get-the-floor-information-of-a-building-model/m-p/263150#M3133</link>
      <description>Thanks. &lt;BR /&gt;
I have several other problems。&lt;BR /&gt;
First I can't understant the meaning of 'Database' in API, are theres several 'Database' in a project?&lt;BR /&gt;
If I need compute the area of a building that contains many floors,should I traverse  all elements of the building？e.g like 

Second,I think a building is a classification that contains many elements in ArchiCad, is the idea right?&lt;BR /&gt;
&lt;BR /&gt;
Third,how can I construct two buiding in a project？</description>
      <pubDate>Fri, 11 Oct 2019 11:14:33 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/how-to-get-the-floor-information-of-a-building-model/m-p/263150#M3133</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2019-10-11T11:14:33Z</dc:date>
    </item>
    <item>
      <title>Re: how to get the floor information of a building model</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/how-to-get-the-floor-information-of-a-building-model/m-p/263151#M3134</link>
      <description>When you say "Building", do you mean as defined by IFC?</description>
      <pubDate>Fri, 11 Oct 2019 12:25:55 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/how-to-get-the-floor-information-of-a-building-model/m-p/263151#M3134</guid>
      <dc:creator>Ralph Wessel</dc:creator>
      <dc:date>2019-10-11T12:25:55Z</dc:date>
    </item>
    <item>
      <title>Re: how to get the floor information of a building model</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/how-to-get-the-floor-information-of-a-building-model/m-p/263152#M3135</link>
      <description>&lt;BLOCKQUOTE&gt;Ralph wrote:&lt;BR /&gt;
When you say "Building", do you mean as defined by IFC?
&lt;/BLOCKQUOTE&gt;
except IFC，is there the "Building" concept in Archicad？&lt;BR /&gt;
Also，I can't understand the meaning of "Database" ？&lt;BR /&gt;
&lt;BR /&gt;
How can I get all elements in some floor by Archicad API？</description>
      <pubDate>Sat, 12 Oct 2019 00:45:38 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/how-to-get-the-floor-information-of-a-building-model/m-p/263152#M3135</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2019-10-12T00:45:38Z</dc:date>
    </item>
    <item>
      <title>Re: how to get the floor information of a building model</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/how-to-get-the-floor-information-of-a-building-model/m-p/263153#M3136</link>
      <description>The ARCHICAD API doesn't really define the concept of a 'building' apart from IFC. We've had to rely on geometric methods to discover the perimeter of a building within a project and then allocate elements to buildings on the basis of containment.&lt;BR /&gt;
&lt;BR /&gt;
The API doesn't have a formal concept of a database either, at least not in the conventional sense. A database is loosely a collection of homogenous data structures, e.g. all attributes or all elements.&lt;BR /&gt;
&lt;BR /&gt;
Most API calls don' reference a database – the ones that do are mostly found in the documentation for &lt;I&gt;&lt;/I&gt;&lt;S&gt;&lt;I&gt;&lt;I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/S&gt;ACAPI_Database&lt;E&gt;&lt;/E&gt;, e.g. &lt;I&gt;&lt;/I&gt;&lt;S&gt;&lt;I&gt;&lt;I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/S&gt;APIDb_ChangeCurrentDatabaseID&lt;E&gt;&lt;/E&gt; (which changes the active database). Once a database is 'set', other API calls act on that database, e.g. &lt;I&gt;&lt;/I&gt;&lt;S&gt;&lt;I&gt;&lt;I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/S&gt;ACAPI_Element_Get&lt;E&gt;&lt;/E&gt; to retrieve a specific element.&lt;BR /&gt;
&lt;BR /&gt;
The element data structure is API_Element. You can determine which floor an element belongs to by inspecting its header, &lt;I&gt;&lt;/I&gt;&lt;S&gt;&lt;I&gt;&lt;I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/S&gt;header.floorInd&lt;E&gt;&lt;/E&gt;. The details of the floor can be retrieved using the method I described above with &lt;I&gt;&lt;/I&gt;&lt;S&gt;&lt;I&gt;&lt;I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/S&gt;APIEnv_GetStorySettingsID&lt;E&gt;&lt;/E&gt;.</description>
      <pubDate>Sat, 12 Oct 2019 08:56:21 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/how-to-get-the-floor-information-of-a-building-model/m-p/263153#M3136</guid>
      <dc:creator>Ralph Wessel</dc:creator>
      <dc:date>2019-10-12T08:56:21Z</dc:date>
    </item>
    <item>
      <title>Re: how to get the floor information of a building model</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/how-to-get-the-floor-information-of-a-building-model/m-p/263154#M3137</link>
      <description>&lt;BLOCKQUOTE&gt;Ralph wrote:&lt;BR /&gt;
The ARCHICAD API doesn't really define the concept of a 'building' apart from IFC. We've had to rely on geometric methods to discover the perimeter of a building within a project and then allocate elements to buildings on the basis of containment.&lt;BR /&gt;
&lt;BR /&gt;
The API doesn't have a formal concept of a database either, at least not in the conventional sense. A database is loosely a collection of homogenous data structures, e.g. all attributes or all elements.&lt;BR /&gt;
&lt;BR /&gt;
Most API calls don' reference a database – the ones that do are mostly found in the documentation for &lt;I&gt;&lt;/I&gt;&lt;S&gt;&lt;I&gt;&lt;I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/S&gt;ACAPI_Database&lt;E&gt;&lt;/E&gt;, e.g. &lt;I&gt;&lt;/I&gt;&lt;S&gt;&lt;I&gt;&lt;I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/S&gt;APIDb_ChangeCurrentDatabaseID&lt;E&gt;&lt;/E&gt; (which changes the active database). Once a database is 'set', other API calls act on that database, e.g. &lt;I&gt;&lt;/I&gt;&lt;S&gt;&lt;I&gt;&lt;I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/S&gt;ACAPI_Element_Get&lt;E&gt;&lt;/E&gt; to retrieve a specific element.&lt;BR /&gt;
&lt;BR /&gt;
The element data structure is API_Element. You can determine which floor an element belongs to by inspecting its header, &lt;I&gt;&lt;/I&gt;&lt;S&gt;&lt;I&gt;&lt;I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/S&gt;header.floorInd&lt;E&gt;&lt;/E&gt;. The details of the floor can be retrieved using the method I described above with &lt;I&gt;&lt;/I&gt;&lt;S&gt;&lt;I&gt;&lt;I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/S&gt;APIEnv_GetStorySettingsID&lt;E&gt;&lt;/E&gt;.
&lt;/BLOCKQUOTE&gt;

Thank you very much. I understand it.</description>
      <pubDate>Mon, 14 Oct 2019 03:04:28 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/how-to-get-the-floor-information-of-a-building-model/m-p/263154#M3137</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2019-10-14T03:04:28Z</dc:date>
    </item>
  </channel>
</rss>

