<?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_Change with libInd swap on IFC-imported door — does element GUID survive? in Archicad C++ API</title>
    <link>https://community.graphisoft.com/t5/Archicad-C-API/ACAPI-Element-Change-with-libInd-swap-on-IFC-imported-door-does/m-p/707175#M10969</link>
    <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;Here's the answer from the developer:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;OL class="ak-ol" start="1" data-indent-level="1" data-local-id="5f9518ac7f0f"&gt;
&lt;LI&gt;
&lt;P data-local-id="c2a8951ab501" data-renderer-start-pos="91"&gt;&lt;STRONG data-renderer-mark="true"&gt;Does ACAPI_Element_Change with a libInd swap on an &lt;SPAN class="acronym-highlight"&gt;IFC&lt;/SPAN&gt;-imported element preserve the element's ArchiCAD GUID — and therefore any attached custom properties?&lt;/STRONG&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;/OL&gt;
&lt;UL class="ak-ul" data-indent-level="1" data-local-id="ae649ecd55da"&gt;
&lt;LI&gt;
&lt;P data-local-id="2d751589b9f8" data-renderer-start-pos="253"&gt;In-place element change operations are expected to keep the element GUID, so GUID-bound data can remain attached.&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P data-local-id="2b4bf741dfaa" data-renderer-start-pos="370"&gt;However, GUID preservation alone does not guarantee a fully valid converted door/window state after a libInd-only swap on IFC-imported elements.&lt;/P&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;OL class="ak-ol" start="2" data-indent-level="1" data-local-id="c479a526a880"&gt;
&lt;LI&gt;
&lt;P data-local-id="a34c8fbd3da6" data-renderer-start-pos="520"&gt;&lt;STRONG data-renderer-mark="true"&gt;Is this the correct programmatic equivalent of "Inject Element Settings," or is there a dedicated API path for this operation?&lt;/STRONG&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;/OL&gt;
&lt;UL class="ak-ul" data-indent-level="1" data-local-id="0f63a570a428"&gt;
&lt;LI&gt;
&lt;P data-local-id="c752e0a0f621" data-renderer-start-pos="652"&gt;No public one-call equivalent of Inject Element Settings is exposed in the DevKit.&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P data-local-id="0737b55efc1f" data-renderer-start-pos="738"&gt;There is no public API documented as "Inject Element Settings" for such a complex IFC-imported door/window conversion.&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P data-local-id="5a3ee677ba5a" data-renderer-start-pos="860"&gt;Practically, a libInd/openingBase-only update is not sufficient to reproduce the full UI result in all cases.&lt;/P&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;OL class="ak-ol" start="3" data-indent-level="1" data-local-id="ad8eb18b1244"&gt;
&lt;LI&gt;
&lt;P data-local-id="f5e84fb2ec09" data-renderer-start-pos="975"&gt;&lt;STRONG data-renderer-mark="true"&gt;Are there known restrictions or side effects when calling ACAPI_Element_Change on IFC-imported elements specifically, versus native elements?&lt;/STRONG&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;/OL&gt;
&lt;UL class="ak-ul" data-indent-level="1" data-local-id="e21940db12c5"&gt;
&lt;LI&gt;
&lt;P data-local-id="c7f7d240fc45" data-renderer-start-pos="1122"&gt;Yes. IFC-imported elements carry IFC-related state that is handled through IFC modules.&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P data-local-id="5573b0413536" data-renderer-start-pos="1213"&gt;Public IFC APIs for element-side data are read/query oriented (ObjectAccessor, PropertyAccessor), while hook APIs are export-time augmentation.&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P data-local-id="228258e7ebe6" data-renderer-start-pos="1360"&gt;Therefore, field-level model edits alone can leave IFC-imported elements in a partial state compared to native elements.&lt;/P&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;OL class="ak-ol" start="4" data-indent-level="1" data-local-id="3f91209758e2"&gt;
&lt;LI&gt;
&lt;P data-local-id="45e77cc26411" data-renderer-start-pos="1486"&gt;&lt;STRONG data-renderer-mark="true"&gt;What is the programmatic equivalent of "Inject Element Settings" — specifically the call that switches an IFC-imported door from IFC-driven to &lt;SPAN class="acronym-highlight"&gt;GDL&lt;/SPAN&gt;-driven mode?&lt;/STRONG&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;/OL&gt;
&lt;UL class="ak-ul" data-indent-level="1" data-local-id="6870431dafa6"&gt;
&lt;LI&gt;
&lt;P data-local-id="d18955a68f8d" data-renderer-start-pos="1651"&gt;There is no public API call that explicitly performs this mode switch.&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P data-local-id="940e2d392e2c" data-renderer-start-pos="1725"&gt;Publicly supported workaround: - based on what the Inject Element Settings command actually does - is a &lt;U data-renderer-mark="true"&gt;complete element replacement workflow:&lt;/U&gt;&lt;/P&gt;
&lt;OL class="ak-ol" start="1" data-indent-level="2" data-local-id="73a52c36d47c"&gt;
&lt;LI&gt;
&lt;P data-local-id="d1ef74e149c7" data-renderer-start-pos="1871"&gt;Snapshot IFC data from the imported element (ObjectAccessor + PropertyAccessor). - Example IFC_Test AddOn modification attached.&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P data-local-id="d3e958e32ae1" data-renderer-start-pos="2003"&gt;Replace with a native element using normal element APIs.&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P data-local-id="e0813fd5bda1" data-renderer-start-pos="2063"&gt;Preserve traceability and IFC data using export hooks where needed.&lt;/P&gt;
&lt;/LI&gt;
&lt;/OL&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;OL class="ak-ol" start="5" data-indent-level="1" data-local-id="3907d3cde5ae"&gt;
&lt;LI&gt;
&lt;P data-local-id="25f5c30c5953" data-renderer-start-pos="2138"&gt;&lt;STRONG data-renderer-mark="true"&gt;Does this involve ACAPI_Element_Change with API_DoorType + openingBase mask, or a separate IFC detach call?&lt;/STRONG&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;/OL&gt;
&lt;UL class="ak-ul" data-indent-level="1" data-local-id="b5ca64b2f933"&gt;
&lt;LI&gt;
&lt;P data-local-id="1f10e21d609e" data-renderer-start-pos="2251"&gt;Not a public separate IFC detach call.&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P data-local-id="dd4900a5a469" data-renderer-start-pos="2293"&gt;Also not reliably solved by API_DoorType/openingBase mask alone for IFC-imported conversion semantics.&lt;/P&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;OL class="ak-ol" start="6" data-indent-level="1" data-local-id="9271a849c386"&gt;
&lt;LI&gt;
&lt;P data-local-id="098034d3744c" data-renderer-start-pos="2401"&gt;&lt;STRONG data-renderer-mark="true"&gt;After the mode switch, does ArchiCAD automatically recalculate IFC attributes (OverallWidth/OverallHeight) from GDL parameters on export?&lt;/STRONG&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;/OL&gt;
&lt;UL class="ak-ul" data-indent-level="1" data-local-id="d5f0ba477e78"&gt;
&lt;LI&gt;
&lt;P data-local-id="17ff1dd10d77" data-renderer-start-pos="2544"&gt;Export is derived from the resulting current element state and translator logic.&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P data-local-id="603fdea0ff08" data-renderer-start-pos="2628"&gt;If conversion is complete and the native element state is consistent, exported dimensions are expected to follow that state.&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P data-local-id="b7f9ef811333" data-renderer-start-pos="2756"&gt;If conversion leaves an intermediate state, exported IFC values may not match expectations.&lt;/P&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;P data-local-id="361aaa6121ae" data-renderer-start-pos="2851"&gt;Follow-up to your questions:&lt;/P&gt;
&lt;OL class="ak-ol" start="7" data-indent-level="1" data-local-id="e0ff21092e7b"&gt;
&lt;LI&gt;
&lt;P data-local-id="884385a75ccb" data-renderer-start-pos="2883"&gt;&lt;STRONG data-renderer-mark="true"&gt;Is there a C++ API call to set these two IFC boolean attributes programmatically on an imported door element?&lt;/STRONG&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;/OL&gt;
&lt;UL class="ak-ul" data-indent-level="1" data-local-id="2575423c82a2"&gt;
&lt;LI&gt;
&lt;P data-local-id="9b336b8e8e6f" data-renderer-start-pos="2998"&gt;No public API in the DevKit provides direct in-model writing of these imported IFC runtime attributes.&lt;/P&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;OL class="ak-ol" start="8" data-indent-level="1" data-local-id="2fa193a40d38"&gt;
&lt;LI&gt;
&lt;P data-local-id="20887e38e99d" data-renderer-start-pos="3106"&gt;&lt;STRONG data-renderer-mark="true"&gt;Is it ACAPI_Element_SetIFCAttribute or part of the IFC Properties API?&lt;/STRONG&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;/OL&gt;
&lt;UL class="ak-ul" data-indent-level="1" data-local-id="0d26c4e1c128"&gt;
&lt;LI&gt;
&lt;P data-local-id="80a6947e8c29" data-renderer-start-pos="3182"&gt;ACAPI_Element_SetIFCAttribute is not a public DevKit API.&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P data-local-id="967432ae4d95" data-renderer-start-pos="3243"&gt;IFC Properties API in IFCInOutAPI is not a generic in-model setter for imported runtime IFC attributes.&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P data-local-id="b93d01ddf1da" data-renderer-start-pos="3350"&gt;Public IFCInOutAPI surface is mainly:&lt;/P&gt;
&lt;UL class="ak-ul" data-indent-level="2" data-local-id="6f88816b91ba"&gt;
&lt;LI&gt;
&lt;P data-local-id="bc87dbfd21c2" data-renderer-start-pos="3391"&gt;read/query: ObjectAccessor, PropertyAccessor&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P data-local-id="9a165208ac96" data-renderer-start-pos="3439"&gt;export-time hooks/builders: HookManager, PropertyBuilder&lt;/P&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;P data-local-id="7c512d32f68f" data-renderer-start-pos="3501"&gt;&lt;STRONG data-renderer-mark="true"&gt;Practical recommendation (public-only)&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL class="ak-ul" data-indent-level="1" data-local-id="7592f26608b8"&gt;
&lt;LI&gt;
&lt;P data-local-id="5e684491c7ca" data-renderer-start-pos="3543"&gt;Use a replacement-based workflow, not in-place IFC-runtime attribute toggling.&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P data-local-id="7330dd1a8f33" data-renderer-start-pos="3625"&gt;I've attached an IFC_Test example modification zip, which contains a public-API sketch function of the snapshot of the IFC data from the built element in Src\IFCAPI_Test.cpp:&lt;/P&gt;
&lt;UL class="ak-ul" data-indent-level="2" data-local-id="2dde6b2fb5da"&gt;
&lt;LI&gt;
&lt;P data-local-id="b9e447600112" data-renderer-start-pos="3803"&gt;SketchPublicIfcReplacementWorkflow()&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P data-local-id="7d5cbb29f48c" data-renderer-start-pos="3843"&gt;It snapshots ObjectID/GlobalId/ExternalGlobalId, local attributes, local properties, and local classifications to JSON.&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P data-local-id="3e3ce59bd1bb" data-renderer-start-pos="3966"&gt;I hope this helps during the first phase of such a production converter&lt;/P&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;Best regards,&lt;/P&gt;
&lt;P&gt;Tamás&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Thu, 02 Jul 2026 15:12:55 GMT</pubDate>
    <dc:creator>Tamas Polyak</dc:creator>
    <dc:date>2026-07-02T15:12:55Z</dc:date>
    <item>
      <title>ACAPI_Element_Change with libInd swap on IFC-imported door — does element GUID survive?</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/ACAPI-Element-Change-with-libInd-swap-on-IFC-imported-door-does/m-p/705148#M10929</link>
      <description>&lt;P class=""&gt;We're working on an add-on that converts IFC-imported door and window elements into native parametric ArchiCAD library objects programmatically.&amp;nbsp;I've been able to do this manually by setting up a door in the door tool that matches the correct size of the door, then injecting the properties into the neutral IFC door object that was merged into the PLN.&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P class=""&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=""&gt;Our approach: call &lt;SPAN class=""&gt;ACAPI_Element_Change&lt;/SPAN&gt; on an IFC-imported door element, masking &lt;SPAN class=""&gt;openingBase.libInd&lt;/SPAN&gt; to a valid native library part index, then writing &lt;SPAN class=""&gt;openingBase.width&lt;/SPAN&gt; and &lt;SPAN class=""&gt;openingBase.height&lt;/SPAN&gt;. This appears to be what the UI's "Inject Element Settings" (&lt;SPAN class=""&gt;Opt+Cmd+Click&lt;/SPAN&gt;) does internally.&amp;nbsp;&lt;/P&gt;
&lt;P class=""&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=""&gt;Three questions:&lt;/P&gt;
&lt;P class=""&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=""&gt;1. Does &lt;SPAN class=""&gt;ACAPI_Element_Change&lt;/SPAN&gt; with a &lt;SPAN class=""&gt;libInd&lt;/SPAN&gt; swap on an IFC-imported element preserve the element's ArchiCAD GUID — and therefore any attached custom properties?&lt;/P&gt;
&lt;P class=""&gt;2. Is this the correct programmatic equivalent of "Inject Element Settings," or is there a dedicated API path for this operation?&lt;/P&gt;
&lt;P class=""&gt;3. Are there known restrictions or side effects when calling &lt;SPAN class=""&gt;ACAPI_Element_Change&lt;/SPAN&gt; on IFC-imported elements specifically, versus native elements?&lt;/P&gt;
&lt;P class=""&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=""&gt;Further update with precise findings:&lt;/P&gt;
&lt;P class=""&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=""&gt;After `SwapLibraryPart` via `ACAPI_Element_Change`:&lt;/P&gt;
&lt;P class=""&gt;- The wall opening (wallhole polygon) retains original IFC dimensions and is not recut&lt;/P&gt;
&lt;P class=""&gt;- `ACAPI_Element_GetGDLParameters` fails entirely on the element&lt;/P&gt;
&lt;P class=""&gt;- The element appears to be in an intermediate state — geometry correct, but locked&lt;/P&gt;
&lt;P class=""&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=""&gt;The UI `Opt+Cmd+Click` "Inject Element Settings" resolves all three issues simultaneously.&lt;/P&gt;
&lt;P class=""&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=""&gt;Questions:&lt;/P&gt;
&lt;P class=""&gt;1. What is the programmatic equivalent of "Inject Element Settings" — specifically the call that switches an IFC-imported door from IFC-driven to GDL-driven mode?&lt;/P&gt;
&lt;P class=""&gt;2. Does this involve `ACAPI_Element_Change` with `API_DoorType` + `openingBase` mask, or a separate IFC detach call?&lt;/P&gt;
&lt;P class=""&gt;3. After the mode switch, does ArchiCAD automatically recalculate IFC attributes (`OverallWidth`/`OverallHeight`) from GDL parameters on export?&lt;/P&gt;
&lt;P class=""&gt;AC29, DevKit 29.3100. Thanks in advance.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier" color="grey"&gt;Operating system used: &lt;EM&gt;Mac Apple Silicon Tahoe 26.5.1&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 16 Jun 2026 19:20:46 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/ACAPI-Element-Change-with-libInd-swap-on-IFC-imported-door-does/m-p/705148#M10929</guid>
      <dc:creator>CritZer0</dc:creator>
      <dc:date>2026-06-16T19:20:46Z</dc:date>
    </item>
    <item>
      <title>Re: ACAPI_Element_Change with libInd swap on IFC-imported door — does element GUID survive?</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/ACAPI-Element-Change-with-libInd-swap-on-IFC-imported-door-does/m-p/705193#M10932</link>
      <description>&lt;P class=""&gt;Final update — root cause identified:&lt;/P&gt;
&lt;P class=""&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=""&gt;IFC-imported doors have `ParameterTakesPrecedence = FALSE` and `Sizeable = FALSE` as IFC boolean attributes. These prevent GDL parameters from controlling dimensions or the wall opening.&lt;/P&gt;
&lt;P class=""&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=""&gt;Is there a C++ API call to set these two IFC boolean attributes programmatically on an imported door element?&lt;/P&gt;
&lt;P class=""&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=""&gt;Is it `ACAPI_Element_SetIFCAttribute` or part of the IFC Properties API?&lt;/P&gt;</description>
      <pubDate>Tue, 16 Jun 2026 19:20:57 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/ACAPI-Element-Change-with-libInd-swap-on-IFC-imported-door-does/m-p/705193#M10932</guid>
      <dc:creator>CritZer0</dc:creator>
      <dc:date>2026-06-16T19:20:57Z</dc:date>
    </item>
    <item>
      <title>Re: ACAPI_Element_Change with libInd swap on IFC-imported door — does element GUID survive?</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/ACAPI-Element-Change-with-libInd-swap-on-IFC-imported-door-does/m-p/705719#M10942</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;I've entered it as a support issue, and asked a developer to look into it.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Regards,&lt;/P&gt;
&lt;P&gt;Tamás&lt;/P&gt;</description>
      <pubDate>Thu, 18 Jun 2026 15:21:55 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/ACAPI-Element-Change-with-libInd-swap-on-IFC-imported-door-does/m-p/705719#M10942</guid>
      <dc:creator>Tamas Polyak</dc:creator>
      <dc:date>2026-06-18T15:21:55Z</dc:date>
    </item>
    <item>
      <title>Re: ACAPI_Element_Change with libInd swap on IFC-imported door — does element GUID survive?</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/ACAPI-Element-Change-with-libInd-swap-on-IFC-imported-door-does/m-p/707175#M10969</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;Here's the answer from the developer:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;OL class="ak-ol" start="1" data-indent-level="1" data-local-id="5f9518ac7f0f"&gt;
&lt;LI&gt;
&lt;P data-local-id="c2a8951ab501" data-renderer-start-pos="91"&gt;&lt;STRONG data-renderer-mark="true"&gt;Does ACAPI_Element_Change with a libInd swap on an &lt;SPAN class="acronym-highlight"&gt;IFC&lt;/SPAN&gt;-imported element preserve the element's ArchiCAD GUID — and therefore any attached custom properties?&lt;/STRONG&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;/OL&gt;
&lt;UL class="ak-ul" data-indent-level="1" data-local-id="ae649ecd55da"&gt;
&lt;LI&gt;
&lt;P data-local-id="2d751589b9f8" data-renderer-start-pos="253"&gt;In-place element change operations are expected to keep the element GUID, so GUID-bound data can remain attached.&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P data-local-id="2b4bf741dfaa" data-renderer-start-pos="370"&gt;However, GUID preservation alone does not guarantee a fully valid converted door/window state after a libInd-only swap on IFC-imported elements.&lt;/P&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;OL class="ak-ol" start="2" data-indent-level="1" data-local-id="c479a526a880"&gt;
&lt;LI&gt;
&lt;P data-local-id="a34c8fbd3da6" data-renderer-start-pos="520"&gt;&lt;STRONG data-renderer-mark="true"&gt;Is this the correct programmatic equivalent of "Inject Element Settings," or is there a dedicated API path for this operation?&lt;/STRONG&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;/OL&gt;
&lt;UL class="ak-ul" data-indent-level="1" data-local-id="0f63a570a428"&gt;
&lt;LI&gt;
&lt;P data-local-id="c752e0a0f621" data-renderer-start-pos="652"&gt;No public one-call equivalent of Inject Element Settings is exposed in the DevKit.&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P data-local-id="0737b55efc1f" data-renderer-start-pos="738"&gt;There is no public API documented as "Inject Element Settings" for such a complex IFC-imported door/window conversion.&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P data-local-id="5a3ee677ba5a" data-renderer-start-pos="860"&gt;Practically, a libInd/openingBase-only update is not sufficient to reproduce the full UI result in all cases.&lt;/P&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;OL class="ak-ol" start="3" data-indent-level="1" data-local-id="ad8eb18b1244"&gt;
&lt;LI&gt;
&lt;P data-local-id="f5e84fb2ec09" data-renderer-start-pos="975"&gt;&lt;STRONG data-renderer-mark="true"&gt;Are there known restrictions or side effects when calling ACAPI_Element_Change on IFC-imported elements specifically, versus native elements?&lt;/STRONG&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;/OL&gt;
&lt;UL class="ak-ul" data-indent-level="1" data-local-id="e21940db12c5"&gt;
&lt;LI&gt;
&lt;P data-local-id="c7f7d240fc45" data-renderer-start-pos="1122"&gt;Yes. IFC-imported elements carry IFC-related state that is handled through IFC modules.&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P data-local-id="5573b0413536" data-renderer-start-pos="1213"&gt;Public IFC APIs for element-side data are read/query oriented (ObjectAccessor, PropertyAccessor), while hook APIs are export-time augmentation.&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P data-local-id="228258e7ebe6" data-renderer-start-pos="1360"&gt;Therefore, field-level model edits alone can leave IFC-imported elements in a partial state compared to native elements.&lt;/P&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;OL class="ak-ol" start="4" data-indent-level="1" data-local-id="3f91209758e2"&gt;
&lt;LI&gt;
&lt;P data-local-id="45e77cc26411" data-renderer-start-pos="1486"&gt;&lt;STRONG data-renderer-mark="true"&gt;What is the programmatic equivalent of "Inject Element Settings" — specifically the call that switches an IFC-imported door from IFC-driven to &lt;SPAN class="acronym-highlight"&gt;GDL&lt;/SPAN&gt;-driven mode?&lt;/STRONG&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;/OL&gt;
&lt;UL class="ak-ul" data-indent-level="1" data-local-id="6870431dafa6"&gt;
&lt;LI&gt;
&lt;P data-local-id="d18955a68f8d" data-renderer-start-pos="1651"&gt;There is no public API call that explicitly performs this mode switch.&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P data-local-id="940e2d392e2c" data-renderer-start-pos="1725"&gt;Publicly supported workaround: - based on what the Inject Element Settings command actually does - is a &lt;U data-renderer-mark="true"&gt;complete element replacement workflow:&lt;/U&gt;&lt;/P&gt;
&lt;OL class="ak-ol" start="1" data-indent-level="2" data-local-id="73a52c36d47c"&gt;
&lt;LI&gt;
&lt;P data-local-id="d1ef74e149c7" data-renderer-start-pos="1871"&gt;Snapshot IFC data from the imported element (ObjectAccessor + PropertyAccessor). - Example IFC_Test AddOn modification attached.&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P data-local-id="d3e958e32ae1" data-renderer-start-pos="2003"&gt;Replace with a native element using normal element APIs.&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P data-local-id="e0813fd5bda1" data-renderer-start-pos="2063"&gt;Preserve traceability and IFC data using export hooks where needed.&lt;/P&gt;
&lt;/LI&gt;
&lt;/OL&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;OL class="ak-ol" start="5" data-indent-level="1" data-local-id="3907d3cde5ae"&gt;
&lt;LI&gt;
&lt;P data-local-id="25f5c30c5953" data-renderer-start-pos="2138"&gt;&lt;STRONG data-renderer-mark="true"&gt;Does this involve ACAPI_Element_Change with API_DoorType + openingBase mask, or a separate IFC detach call?&lt;/STRONG&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;/OL&gt;
&lt;UL class="ak-ul" data-indent-level="1" data-local-id="b5ca64b2f933"&gt;
&lt;LI&gt;
&lt;P data-local-id="1f10e21d609e" data-renderer-start-pos="2251"&gt;Not a public separate IFC detach call.&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P data-local-id="dd4900a5a469" data-renderer-start-pos="2293"&gt;Also not reliably solved by API_DoorType/openingBase mask alone for IFC-imported conversion semantics.&lt;/P&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;OL class="ak-ol" start="6" data-indent-level="1" data-local-id="9271a849c386"&gt;
&lt;LI&gt;
&lt;P data-local-id="098034d3744c" data-renderer-start-pos="2401"&gt;&lt;STRONG data-renderer-mark="true"&gt;After the mode switch, does ArchiCAD automatically recalculate IFC attributes (OverallWidth/OverallHeight) from GDL parameters on export?&lt;/STRONG&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;/OL&gt;
&lt;UL class="ak-ul" data-indent-level="1" data-local-id="d5f0ba477e78"&gt;
&lt;LI&gt;
&lt;P data-local-id="17ff1dd10d77" data-renderer-start-pos="2544"&gt;Export is derived from the resulting current element state and translator logic.&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P data-local-id="603fdea0ff08" data-renderer-start-pos="2628"&gt;If conversion is complete and the native element state is consistent, exported dimensions are expected to follow that state.&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P data-local-id="b7f9ef811333" data-renderer-start-pos="2756"&gt;If conversion leaves an intermediate state, exported IFC values may not match expectations.&lt;/P&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;P data-local-id="361aaa6121ae" data-renderer-start-pos="2851"&gt;Follow-up to your questions:&lt;/P&gt;
&lt;OL class="ak-ol" start="7" data-indent-level="1" data-local-id="e0ff21092e7b"&gt;
&lt;LI&gt;
&lt;P data-local-id="884385a75ccb" data-renderer-start-pos="2883"&gt;&lt;STRONG data-renderer-mark="true"&gt;Is there a C++ API call to set these two IFC boolean attributes programmatically on an imported door element?&lt;/STRONG&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;/OL&gt;
&lt;UL class="ak-ul" data-indent-level="1" data-local-id="2575423c82a2"&gt;
&lt;LI&gt;
&lt;P data-local-id="9b336b8e8e6f" data-renderer-start-pos="2998"&gt;No public API in the DevKit provides direct in-model writing of these imported IFC runtime attributes.&lt;/P&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;OL class="ak-ol" start="8" data-indent-level="1" data-local-id="2fa193a40d38"&gt;
&lt;LI&gt;
&lt;P data-local-id="20887e38e99d" data-renderer-start-pos="3106"&gt;&lt;STRONG data-renderer-mark="true"&gt;Is it ACAPI_Element_SetIFCAttribute or part of the IFC Properties API?&lt;/STRONG&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;/OL&gt;
&lt;UL class="ak-ul" data-indent-level="1" data-local-id="0d26c4e1c128"&gt;
&lt;LI&gt;
&lt;P data-local-id="80a6947e8c29" data-renderer-start-pos="3182"&gt;ACAPI_Element_SetIFCAttribute is not a public DevKit API.&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P data-local-id="967432ae4d95" data-renderer-start-pos="3243"&gt;IFC Properties API in IFCInOutAPI is not a generic in-model setter for imported runtime IFC attributes.&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P data-local-id="b93d01ddf1da" data-renderer-start-pos="3350"&gt;Public IFCInOutAPI surface is mainly:&lt;/P&gt;
&lt;UL class="ak-ul" data-indent-level="2" data-local-id="6f88816b91ba"&gt;
&lt;LI&gt;
&lt;P data-local-id="bc87dbfd21c2" data-renderer-start-pos="3391"&gt;read/query: ObjectAccessor, PropertyAccessor&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P data-local-id="9a165208ac96" data-renderer-start-pos="3439"&gt;export-time hooks/builders: HookManager, PropertyBuilder&lt;/P&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;P data-local-id="7c512d32f68f" data-renderer-start-pos="3501"&gt;&lt;STRONG data-renderer-mark="true"&gt;Practical recommendation (public-only)&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL class="ak-ul" data-indent-level="1" data-local-id="7592f26608b8"&gt;
&lt;LI&gt;
&lt;P data-local-id="5e684491c7ca" data-renderer-start-pos="3543"&gt;Use a replacement-based workflow, not in-place IFC-runtime attribute toggling.&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P data-local-id="7330dd1a8f33" data-renderer-start-pos="3625"&gt;I've attached an IFC_Test example modification zip, which contains a public-API sketch function of the snapshot of the IFC data from the built element in Src\IFCAPI_Test.cpp:&lt;/P&gt;
&lt;UL class="ak-ul" data-indent-level="2" data-local-id="2dde6b2fb5da"&gt;
&lt;LI&gt;
&lt;P data-local-id="b9e447600112" data-renderer-start-pos="3803"&gt;SketchPublicIfcReplacementWorkflow()&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P data-local-id="7d5cbb29f48c" data-renderer-start-pos="3843"&gt;It snapshots ObjectID/GlobalId/ExternalGlobalId, local attributes, local properties, and local classifications to JSON.&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P data-local-id="3e3ce59bd1bb" data-renderer-start-pos="3966"&gt;I hope this helps during the first phase of such a production converter&lt;/P&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;Best regards,&lt;/P&gt;
&lt;P&gt;Tamás&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 02 Jul 2026 15:12:55 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/ACAPI-Element-Change-with-libInd-swap-on-IFC-imported-door-does/m-p/707175#M10969</guid>
      <dc:creator>Tamas Polyak</dc:creator>
      <dc:date>2026-07-02T15:12:55Z</dc:date>
    </item>
    <item>
      <title>Re: ACAPI_Element_Change with libInd swap on IFC-imported door — does element GUID survive?</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/ACAPI-Element-Change-with-libInd-swap-on-IFC-imported-door-does/m-p/708806#M10984</link>
      <description>&lt;P&gt;Thank you,&amp;nbsp;&lt;SPAN&gt;Tamás. This direction looks like it might help create a reliable workflow.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;I don't see the ZIP file you mentioned. Where can I download that file?&lt;BR /&gt;Christopher&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 16 Jul 2026 17:54:52 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/ACAPI-Element-Change-with-libInd-swap-on-IFC-imported-door-does/m-p/708806#M10984</guid>
      <dc:creator>CritZer0</dc:creator>
      <dc:date>2026-07-16T17:54:52Z</dc:date>
    </item>
  </channel>
</rss>

