<?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: Zone Settings Materials Information in Archicad C++ API</title>
    <link>https://community.graphisoft.com/t5/Archicad-C-API/SOLVED-Zone-Settings-Materials-Information/m-p/272189#M5122</link>
    <description>So I figured out what was going on:&lt;BR /&gt;
&lt;BR /&gt;
I had previously retrieved the string values with the following code, which was truncating the string after the first character. Therefore I did not "see" the values I was looking for:&lt;BR /&gt;

&lt;PRE&gt;reinterpret_cast&amp;lt;char*&amp;gt;((*memo.params)&lt;P&gt;.value.uStr);&lt;/P&gt;&lt;/PRE&gt;

I replaced it with the following and now it works:&lt;BR /&gt;

&lt;PRE&gt;GS::UniString ((*memo.params)&lt;P&gt;.value.uStr).ToCStr();&lt;/P&gt;&lt;/PRE&gt;

Thanks</description>
    <pubDate>Thu, 30 Mar 2017 06:41:23 GMT</pubDate>
    <dc:creator>Anonymous</dc:creator>
    <dc:date>2017-03-30T06:41:23Z</dc:date>
    <item>
      <title>[SOLVED] Zone Settings Materials Information</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/SOLVED-Zone-Settings-Materials-Information/m-p/272186#M5119</link>
      <description>&lt;DIV class="actalk-migrated-content"&gt;Hello, &lt;BR /&gt;&lt;BR /&gt;I am trying to find the materials of a room (Zone) entered by the user through the RoomTool Settings -&amp;gt; Settings -&amp;gt; Floor, Wall, Ceiling &amp;amp; Roof Panel:&lt;BR /&gt;&lt;BR /&gt;-Floor Covering&lt;BR /&gt;-Ceiling Covering&lt;BR /&gt;-Wall Covering&lt;BR /&gt;-Roof Covering&lt;BR /&gt;&lt;BR /&gt;I do not find them in the Memo of the Zone, also it is not part of the IFC Attributes or Properties. Where are these values stored?&lt;BR /&gt;&lt;BR /&gt;Thank you for the advice.&lt;BR /&gt;Best, M&lt;/DIV&gt;</description>
      <pubDate>Wed, 12 Jul 2023 18:54:37 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/SOLVED-Zone-Settings-Materials-Information/m-p/272186#M5119</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2023-07-12T18:54:37Z</dc:date>
    </item>
    <item>
      <title>Re: Zone Settings Materials Information</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/SOLVED-Zone-Settings-Materials-Information/m-p/272187#M5120</link>
      <description>&lt;BLOCKQUOTE&gt;mar_kq wrote:&lt;BR /&gt;Hello, &lt;BR /&gt;
&lt;BR /&gt;
I am trying to find the materials of a room (Zone) entered by the user through the RoomTool Settings -&amp;gt; Settings -&amp;gt; Floor, Wall, Ceiling &amp;amp; Roof Panel:&lt;BR /&gt;
&lt;BR /&gt;
-Floor Covering&lt;BR /&gt;
-Ceiling Covering&lt;BR /&gt;
-Wall Covering&lt;BR /&gt;
-Roof Covering&lt;BR /&gt;
&lt;BR /&gt;
I do not find them in the Memo of the Zone, also it is not part of the IFC Attributes or Properties. Where are these values stored?&lt;BR /&gt;
&lt;BR /&gt;
Thank you for the advice.&lt;BR /&gt;
Best, M&lt;/BLOCKQUOTE&gt;

Hi,&lt;BR /&gt;
&lt;BR /&gt;
They should be in the memo.params, in parameters like iFloorCovering (or stFloorCovering for the textual representation).&lt;BR /&gt;
&lt;BR /&gt;
Best, Akos</description>
      <pubDate>Tue, 28 Mar 2017 07:48:05 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/SOLVED-Zone-Settings-Materials-Information/m-p/272187#M5120</guid>
      <dc:creator>Akos Somorjai</dc:creator>
      <dc:date>2017-03-28T07:48:05Z</dc:date>
    </item>
    <item>
      <title>Re: Zone Settings Materials Information</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/SOLVED-Zone-Settings-Materials-Information/m-p/272188#M5121</link>
      <description>Hello Akos, &lt;BR /&gt;
&lt;BR /&gt;
I have tried your suggestion but I dont find these Attributes:&lt;BR /&gt;

&lt;BLOCKQUOTE&gt;Akos wrote:&lt;BR /&gt;
They should be in the memo.params, in parameters like iFloorCovering (or stFloorCovering for the textual representation).
&lt;/BLOCKQUOTE&gt;

Here the way I retrieve the memo.params: 
&lt;PRE&gt;// GET MEMO ------------------------------------------------------------ //
	BNZeroMemory (&amp;amp;memo, sizeof (memo));
	if (err == NoError &amp;amp;&amp;amp; element.header.hasMemo) 
	{
		err = ACAPI_Element_GetMemo (element.header.guid, &amp;amp;memo, APIMemoMask_AddPars);
		if (err != NoError) 
		{
			ErrorBeep ("ACAPI_Element_Get/Memo", err);
		}
	} 
    
	// GET ELEMENT PARAMETERS --------------------------------------------- //
	if (&amp;amp;memo.params != NULL || *memo.params != NULL)
	{
		GS::GSSize paramCount = BMGetHandleSize (reinterpret_cast&amp;lt;GSHandle&amp;gt; (*&amp;amp;memo.params)) / sizeof (API_AddParType);

		map&amp;lt;string, string&amp;gt; attributeMap = map&amp;lt;string, string&amp;gt;();	
		for (int p = 0; p &amp;lt; paramCount; p++)
		{
			string attrName = (*memo.params)&lt;P&gt;.name;
....
&lt;/P&gt;&lt;/PRE&gt;

I also tried getting the Memo without the APIMemoMask_AddPars Filter. I get in total 555 Parameters for the Zone. &lt;BR /&gt;
&lt;BR /&gt;
There seems to be some Material-related Parameters:&lt;BR /&gt;
wall_mat, ceiling_mat, floor_f, but they have only a single letter as a string value.&lt;BR /&gt;
&lt;BR /&gt;
It seems the attributes I am looking for are all in the RoomStamp and not in the Room itself. I see there is a StampGUID in the Element Information. &lt;BR /&gt;
&lt;BR /&gt;
How do I retrieve this Stamp attributes?&lt;BR /&gt;
&lt;BR /&gt;
Thanks, Mauricio</description>
      <pubDate>Tue, 28 Mar 2017 15:59:36 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/SOLVED-Zone-Settings-Materials-Information/m-p/272188#M5121</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2017-03-28T15:59:36Z</dc:date>
    </item>
    <item>
      <title>Re: Zone Settings Materials Information</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/SOLVED-Zone-Settings-Materials-Information/m-p/272189#M5122</link>
      <description>So I figured out what was going on:&lt;BR /&gt;
&lt;BR /&gt;
I had previously retrieved the string values with the following code, which was truncating the string after the first character. Therefore I did not "see" the values I was looking for:&lt;BR /&gt;

&lt;PRE&gt;reinterpret_cast&amp;lt;char*&amp;gt;((*memo.params)&lt;P&gt;.value.uStr);&lt;/P&gt;&lt;/PRE&gt;

I replaced it with the following and now it works:&lt;BR /&gt;

&lt;PRE&gt;GS::UniString ((*memo.params)&lt;P&gt;.value.uStr).ToCStr();&lt;/P&gt;&lt;/PRE&gt;

Thanks</description>
      <pubDate>Thu, 30 Mar 2017 06:41:23 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/SOLVED-Zone-Settings-Materials-Information/m-p/272189#M5122</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2017-03-30T06:41:23Z</dc:date>
    </item>
  </channel>
</rss>

