<?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: ACAPI_Element_GetIFCPropertyValuePrimitiveType() deleted from AC28 C++ API in Archicad C++ API</title>
    <link>https://community.graphisoft.com/t5/Archicad-C-API/ACAPI-Element-GetIFCPropertyValuePrimitiveType-deleted-from-AC28/m-p/636292#M9910</link>
    <description>&lt;P&gt;I did not really think of it as a bug, but as you mentioned it, I can agree that the behavior of&amp;nbsp;&lt;SPAN&gt;`ACAPI_Element_SetIFCProperty()`, when specifying a wrong data type, should probably not result in a `NoError` return value. But I guess, as this method is already deprecated, there is maybe not a huge point in fixing this detail.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;W.r.t. the hook approach, thank you for outlining the concept - it aligns well with my immediate thoughts around it: we need to approach this part of our add-on in a somewhat different way.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;--&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Kind regards&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Steffen Skov&lt;BR /&gt;dRofus&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Fri, 18 Oct 2024 14:55:08 GMT</pubDate>
    <dc:creator>Bitwreckage</dc:creator>
    <dc:date>2024-10-18T14:55:08Z</dc:date>
    <item>
      <title>ACAPI_Element_GetIFCPropertyValuePrimitiveType() deleted from AC28 C++ API</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/ACAPI-Element-GetIFCPropertyValuePrimitiveType-deleted-from-AC28/m-p/635791#M9896</link>
      <description>&lt;P&gt;In updating our code base to support ArchiCAD 28, it turns out that we are using ACAPI_Element_GetIFCPropertyValuePrimitiveType(GS::UniString&amp;amp;, API_IFCPropertyValuePrimitiveType*) in one place.&lt;BR /&gt;The only mention I could find in the documentation about this disappearance was on the "&lt;A href="https://graphisoft.github.io/archicad-api-devkit/md__common_doxygen_files_2_articles_2_new_01_a_p_i_01features_01in_01_archicad.html#newfeatures" target="_self"&gt;New API features in Archicad 28&lt;/A&gt;" page, saying "&lt;SPAN&gt;ACAPI_Element_GetIFCPropertyValuePrimitiveType function has been deleted."&lt;BR /&gt;&lt;BR /&gt;So, on the positive side both my compiler and the documentation is in agreement.&lt;BR /&gt;&lt;BR /&gt;Is there anything I can do to retrieve the same information that we previously did through this function?&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;-- &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Kind regards&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Steffen Skov&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;dRofus&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 15 Oct 2024 06:54:25 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/ACAPI-Element-GetIFCPropertyValuePrimitiveType-deleted-from-AC28/m-p/635791#M9896</guid>
      <dc:creator>Bitwreckage</dc:creator>
      <dc:date>2024-10-15T06:54:25Z</dc:date>
    </item>
    <item>
      <title>Re: ACAPI_Element_GetIFCPropertyValuePrimitiveType() deleted from AC28 C++ API</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/ACAPI-Element-GetIFCPropertyValuePrimitiveType-deleted-from-AC28/m-p/635912#M9897</link>
      <description>&lt;P&gt;Hello&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The function was discontinued, as it should not really be necessary and it's functionality was based purely on the IFC schema.&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;
&lt;P&gt;The implementation was just a switch statement though for the subtypes of &lt;A href="https://standards.buildingsmart.org/IFC/DEV/IFC4_2/FINAL/HTML/schema/ifcmeasureresource/lexical/ifcvalue.htm" target="_blank"&gt;IfcValue&lt;/A&gt;;&lt;BR /&gt;More specifically the &lt;A href="https://standards.buildingsmart.org/IFC/DEV/IFC4_2/FINAL/HTML/schema/ifcmeasureresource/lexical/ifcsimplevalue.htm" target="_blank"&gt;IfcSimpleValue&lt;/A&gt;&lt;SPAN&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://standards.buildingsmart.org/IFC/DEV/IFC4_2/FINAL/HTML/schema/ifcmeasureresource/lexical/ifcmeasurevalue.htm" target="_blank"&gt;IfcMeasureValue&lt;/A&gt;&lt;SPAN&gt;&amp;nbsp;and&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://standards.buildingsmart.org/IFC/DEV/IFC4_2/FINAL/HTML/schema/ifcmeasureresource/lexical/ifcderivedmeasurevalue.htm" target="_blank"&gt;IfcDerivedMeasureValue&lt;/A&gt;&amp;nbsp;type descendants.&lt;BR /&gt;&lt;BR /&gt;If you check any of them, they tell their primitive type, like "Type: REAL"&lt;BR /&gt;It will always be one of the simple data types seen here:&amp;nbsp;&lt;A href="https://en.wikipedia.org/wiki/EXPRESS_(data_modeling_language)#Datatypes" target="_blank"&gt;https://en.wikipedia.org/wiki/EXPRESS_(data_modeling_language)#Datatypes&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;Hope this helps&lt;BR /&gt;Regards,&amp;nbsp;Ádám&lt;/P&gt;</description>
      <pubDate>Wed, 16 Oct 2024 07:13:32 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/ACAPI-Element-GetIFCPropertyValuePrimitiveType-deleted-from-AC28/m-p/635912#M9897</guid>
      <dc:creator>Adam Toth</dc:creator>
      <dc:date>2024-10-16T07:13:32Z</dc:date>
    </item>
    <item>
      <title>Re: ACAPI_Element_GetIFCPropertyValuePrimitiveType() deleted from AC28 C++ API</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/ACAPI-Element-GetIFCPropertyValuePrimitiveType-deleted-from-AC28/m-p/636083#M9905</link>
      <description>&lt;P&gt;Thank you Adam for your quick reply!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I implemented our own mapping from the `GS::UniString` representation of an IFC Type to `API_IFCPropertyValuePrimitiveType` with the help of the IFC documentation.&lt;BR /&gt;While doing this I came across a few types, which I could not figure out how to represent as an `API_IFCPropertyValuePrimitiveType`, e.g. "IfcBinary", "IfcComplexNumber" and "IfcCompoundPlaneAngleMeasure". Can these particular IFC types be represented in Archicad, or is there generally a collection of IFC types which are not "supported"?&lt;BR /&gt;&lt;BR /&gt;Also, while the IFC reference mostly said that the underlying type of an IFC type would be an integer, a string or a real, a couple of types ("IfcNumericMeasure" and "IfcCountMeasure") are documented as being of type "number". Do you have any idea how to interpret that? I am leaning toward `API_IFCPropertyAnyValueIntegerType` but I cannot be sure.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;--&amp;nbsp;&lt;BR /&gt;Kind regards&lt;BR /&gt;&lt;BR /&gt;Steffen Skov&lt;BR /&gt;dRofus&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 17 Oct 2024 11:40:42 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/ACAPI-Element-GetIFCPropertyValuePrimitiveType-deleted-from-AC28/m-p/636083#M9905</guid>
      <dc:creator>Bitwreckage</dc:creator>
      <dc:date>2024-10-17T11:40:42Z</dc:date>
    </item>
    <item>
      <title>Re: ACAPI_Element_GetIFCPropertyValuePrimitiveType() deleted from AC28 C++ API</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/ACAPI-Element-GetIFCPropertyValuePrimitiveType-deleted-from-AC28/m-p/636084#M9906</link>
      <description>&lt;P&gt;Hi&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;IfcBinary is as string (of 1s and 0s), but I have not seen such a value yet - looks like even the old API function didn't handle it correctly.&lt;BR /&gt;&lt;BR /&gt;IfcComplexNumber and IfcCompoundPlaneAngleMeasure could contain multiple atomic values in theory.&lt;BR /&gt;We generally don't support them now in the IFC addon.&lt;/P&gt;
&lt;P&gt;I think you can "skip" these two, they're the ones I know we deliberately don't handle.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The "number" type is like "real", works as a double value.&lt;BR /&gt;"Count" would one make quickly think, it's an integer, but you can have two and a half apples, so... &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 17 Oct 2024 12:07:47 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/ACAPI-Element-GetIFCPropertyValuePrimitiveType-deleted-from-AC28/m-p/636084#M9906</guid>
      <dc:creator>Adam Toth</dc:creator>
      <dc:date>2024-10-17T12:07:47Z</dc:date>
    </item>
    <item>
      <title>Re: ACAPI_Element_GetIFCPropertyValuePrimitiveType() deleted from AC28 C++ API</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/ACAPI-Element-GetIFCPropertyValuePrimitiveType-deleted-from-AC28/m-p/636263#M9908</link>
      <description>&lt;P&gt;Hi again Ádám,&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have been testing my implementation with an IFC property of type IfcCountMeasure, i.e. one of the "number" types as described here: &lt;A href="https://standards.buildingsmart.org/IFC/DEV/IFC4_2/FINAL/HTML/schema/ifcmeasureresource/lexical/ifccountmeasure.htm" target="_blank"&gt;https://standards.buildingsmart.org/IFC/DEV/IFC4_2/FINAL/HTML/schema/ifcmeasureresource/lexical/ifccountmeasure.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;To my confusion my call to `ACAPI_Element_SetIFCProperty()` (which is still available, but deprecated) succeeded, but yet set the IFC property value to 0.&lt;/P&gt;&lt;P&gt;After much trial and error I finally figured that I would boldly map the "IfcCountMeasure" type to `API_IFCPropertyAnyValueIntegerType` instead of `API_IFCPropertyAnyValueRealType`, contrary to your suggestion.&lt;BR /&gt;Lo and behold! The value is now set correctly!&lt;/P&gt;&lt;P&gt;So it seems that, at least for "IfcCountMeasure", the correct type is an `API_IFCPropertyAnyValueIntegerType`.&lt;BR /&gt;Just a little heads-up for anyone else following this thread.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Now I should begin to think about how I can migrate from using&amp;nbsp;`ACAPI_Element_SetIFCProperty()` to using `RegisterPropertyHook()`...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;--&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Kind regards&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Steffen Skov&lt;BR /&gt;dRofus&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 18 Oct 2024 13:04:18 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/ACAPI-Element-GetIFCPropertyValuePrimitiveType-deleted-from-AC28/m-p/636263#M9908</guid>
      <dc:creator>Bitwreckage</dc:creator>
      <dc:date>2024-10-18T13:04:18Z</dc:date>
    </item>
    <item>
      <title>Re: ACAPI_Element_GetIFCPropertyValuePrimitiveType() deleted from AC28 C++ API</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/ACAPI-Element-GetIFCPropertyValuePrimitiveType-deleted-from-AC28/m-p/636289#M9909</link>
      <description>&lt;P&gt;Hi&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks for the info, we'll look into it then, sounds like a bug, which may still be present somewhere.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I'll await your feedback with the hook version.&lt;BR /&gt;&lt;BR /&gt;The concept is that the addon doesn't store/sync data into the element on the push of a button, we'd like to dial that down.&lt;BR /&gt;The addon only provides the data in a callback, every time when it's queried by the IFC UI or the IFC export.&lt;BR /&gt;&lt;BR /&gt;So it's a dynamic connection, which is not limited by TW and doesn't pollute the plan with core IFC data, requires a different feature approach though.&lt;/P&gt;</description>
      <pubDate>Fri, 18 Oct 2024 14:39:41 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/ACAPI-Element-GetIFCPropertyValuePrimitiveType-deleted-from-AC28/m-p/636289#M9909</guid>
      <dc:creator>Adam Toth</dc:creator>
      <dc:date>2024-10-18T14:39:41Z</dc:date>
    </item>
    <item>
      <title>Re: ACAPI_Element_GetIFCPropertyValuePrimitiveType() deleted from AC28 C++ API</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/ACAPI-Element-GetIFCPropertyValuePrimitiveType-deleted-from-AC28/m-p/636292#M9910</link>
      <description>&lt;P&gt;I did not really think of it as a bug, but as you mentioned it, I can agree that the behavior of&amp;nbsp;&lt;SPAN&gt;`ACAPI_Element_SetIFCProperty()`, when specifying a wrong data type, should probably not result in a `NoError` return value. But I guess, as this method is already deprecated, there is maybe not a huge point in fixing this detail.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;W.r.t. the hook approach, thank you for outlining the concept - it aligns well with my immediate thoughts around it: we need to approach this part of our add-on in a somewhat different way.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;--&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Kind regards&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Steffen Skov&lt;BR /&gt;dRofus&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 18 Oct 2024 14:55:08 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/ACAPI-Element-GetIFCPropertyValuePrimitiveType-deleted-from-AC28/m-p/636292#M9910</guid>
      <dc:creator>Bitwreckage</dc:creator>
      <dc:date>2024-10-18T14:55:08Z</dc:date>
    </item>
  </channel>
</rss>

