<?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 Importing STEP with Creo API in Customization</title>
    <link>https://www.ptcusercommunity.com/t5/Customization/Importing-STEP-with-Creo-API/m-p/1048929#M14676</link>
    <description>&lt;P&gt;Creo VB API Type Library for Creo Parametric 8.0.0.0 Version 1.0&lt;/P&gt;&lt;P&gt;Creo Parametric 9.0.0.2&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The Creo API call to&lt;/P&gt;&lt;LI-CODE lang="csharp"&gt;IpfcBaseSession m_session;

m_session.ImportNewModel(filePath, (int)EpfcNewModelImportType.EpfcIMPORT_NEW_STEP, (int)EpfcModelType.EpfcMDL_ASSEMBLY, "temp", null);&lt;/LI-CODE&gt;&lt;P&gt;does not match the importing that I did by hand. I get the following error message (repeated for each feature as it tries to import the file, there are 155 features/bodies in the step file) which doesn't happen when I import the step by hand.&lt;BR /&gt;&lt;BR /&gt;"&amp;#1;&amp;#23;&amp;#2;Warning: Design intent is unclear in FEATURE_155. Use Geometry Checks command on the Tools Tab in Part mode for more information."&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Why does this method check design intent when opening the file through the UI doesn't?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Full use case:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I'd like to use Creo to apply boolean operations to STEP bodies. I've added all of these bodies to a single STEP file and would like to import it into Creo via the COM API using C#.&lt;BR /&gt;&lt;BR /&gt;Before getting into the code, I've confirmed my use case works using Creo with the following steps.&lt;BR /&gt;1.&amp;nbsp; Use the "File Open" dialog to select my step file.&lt;/P&gt;&lt;P&gt;2. Import my step file as an assembly with automatic import type using the "Import New Model" dialog.&lt;BR /&gt;3. Creo now processes each feature in the step file and creates an assembly with each body in the step being a separate part.&lt;/P&gt;&lt;P&gt;4. Model &amp;gt; Component &amp;gt; Component Operations &amp;gt; Boolean Operations.&lt;/P&gt;&lt;P&gt;5. Select the "Cut" operation and set "Modified Models" to the part I want to subtract from.&lt;/P&gt;&lt;P&gt;6. Set "Modifying Components" to the parts I want to subtract with and accept.&lt;/P&gt;&lt;P&gt;7. Creo now applies the cuts&lt;/P&gt;&lt;P&gt;8. Delete or hide the parts that were used for the cut. Leaving me with a single final part.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;These are the steps I want to recreate with the COM API. I am new to the Creo and its API but used to C#. I'd like to know why it doesn't match my operations when done through the UI.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This is my code so far&lt;/P&gt;&lt;LI-CODE lang="csharp"&gt;using System;
using pfcls;

string m_exePath = @"C:\Program Files\PTC\Creo 9.0.2.0\Parametric\bin\parametric.exe";
IpfcAsyncConnection m_asyncConnection;
IpfcBaseSession m_session;
string filePath = ""; // Hidden for privacy

try
{
    CCpfcAsyncConnection cAC = new CCpfcAsyncConnection();
    m_asyncConnection = cAC.Start(m_exePath, null);
    m_session = (IpfcBaseSession)m_asyncConnection.Session;

    IpfcModel model = m_session.ImportNewModel(filePath,
                                               (int)EpfcNewModelImportType.EpfcIMPORT_NEW_STEP,
                                               (int)EpfcModelType.EpfcMDL_ASSEMBLY,
                                               "tmp2115",
                                               null);
}
catch (Exception e)
{
    throw e;
}&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;I'd appreciate any insight. Is there a different way to import that would match the way I did it in the UI? Or do I need to set something else up different or change settings before the import in the code?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you and happy holidays!&lt;/P&gt;&lt;P&gt;Tristan | Software Developer&lt;/P&gt;</description>
    <pubDate>Tue, 23 Dec 2025 22:50:39 GMT</pubDate>
    <dc:creator>TL_12988429</dc:creator>
    <dc:date>2025-12-23T22:50:39Z</dc:date>
    <item>
      <title>Importing STEP with Creo API</title>
      <link>https://www.ptcusercommunity.com/t5/Customization/Importing-STEP-with-Creo-API/m-p/1048929#M14676</link>
      <description>&lt;P&gt;Creo VB API Type Library for Creo Parametric 8.0.0.0 Version 1.0&lt;/P&gt;&lt;P&gt;Creo Parametric 9.0.0.2&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The Creo API call to&lt;/P&gt;&lt;LI-CODE lang="csharp"&gt;IpfcBaseSession m_session;

m_session.ImportNewModel(filePath, (int)EpfcNewModelImportType.EpfcIMPORT_NEW_STEP, (int)EpfcModelType.EpfcMDL_ASSEMBLY, "temp", null);&lt;/LI-CODE&gt;&lt;P&gt;does not match the importing that I did by hand. I get the following error message (repeated for each feature as it tries to import the file, there are 155 features/bodies in the step file) which doesn't happen when I import the step by hand.&lt;BR /&gt;&lt;BR /&gt;"&amp;#1;&amp;#23;&amp;#2;Warning: Design intent is unclear in FEATURE_155. Use Geometry Checks command on the Tools Tab in Part mode for more information."&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Why does this method check design intent when opening the file through the UI doesn't?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Full use case:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I'd like to use Creo to apply boolean operations to STEP bodies. I've added all of these bodies to a single STEP file and would like to import it into Creo via the COM API using C#.&lt;BR /&gt;&lt;BR /&gt;Before getting into the code, I've confirmed my use case works using Creo with the following steps.&lt;BR /&gt;1.&amp;nbsp; Use the "File Open" dialog to select my step file.&lt;/P&gt;&lt;P&gt;2. Import my step file as an assembly with automatic import type using the "Import New Model" dialog.&lt;BR /&gt;3. Creo now processes each feature in the step file and creates an assembly with each body in the step being a separate part.&lt;/P&gt;&lt;P&gt;4. Model &amp;gt; Component &amp;gt; Component Operations &amp;gt; Boolean Operations.&lt;/P&gt;&lt;P&gt;5. Select the "Cut" operation and set "Modified Models" to the part I want to subtract from.&lt;/P&gt;&lt;P&gt;6. Set "Modifying Components" to the parts I want to subtract with and accept.&lt;/P&gt;&lt;P&gt;7. Creo now applies the cuts&lt;/P&gt;&lt;P&gt;8. Delete or hide the parts that were used for the cut. Leaving me with a single final part.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;These are the steps I want to recreate with the COM API. I am new to the Creo and its API but used to C#. I'd like to know why it doesn't match my operations when done through the UI.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This is my code so far&lt;/P&gt;&lt;LI-CODE lang="csharp"&gt;using System;
using pfcls;

string m_exePath = @"C:\Program Files\PTC\Creo 9.0.2.0\Parametric\bin\parametric.exe";
IpfcAsyncConnection m_asyncConnection;
IpfcBaseSession m_session;
string filePath = ""; // Hidden for privacy

try
{
    CCpfcAsyncConnection cAC = new CCpfcAsyncConnection();
    m_asyncConnection = cAC.Start(m_exePath, null);
    m_session = (IpfcBaseSession)m_asyncConnection.Session;

    IpfcModel model = m_session.ImportNewModel(filePath,
                                               (int)EpfcNewModelImportType.EpfcIMPORT_NEW_STEP,
                                               (int)EpfcModelType.EpfcMDL_ASSEMBLY,
                                               "tmp2115",
                                               null);
}
catch (Exception e)
{
    throw e;
}&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;I'd appreciate any insight. Is there a different way to import that would match the way I did it in the UI? Or do I need to set something else up different or change settings before the import in the code?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you and happy holidays!&lt;/P&gt;&lt;P&gt;Tristan | Software Developer&lt;/P&gt;</description>
      <pubDate>Tue, 23 Dec 2025 22:50:39 GMT</pubDate>
      <guid>https://www.ptcusercommunity.com/t5/Customization/Importing-STEP-with-Creo-API/m-p/1048929#M14676</guid>
      <dc:creator>TL_12988429</dc:creator>
      <dc:date>2025-12-23T22:50:39Z</dc:date>
    </item>
    <item>
      <title>Re: Importing STEP with Creo API</title>
      <link>https://www.ptcusercommunity.com/t5/Customization/Importing-STEP-with-Creo-API/m-p/1049361#M14679</link>
      <description>&lt;P&gt;Hi &lt;SPAN style="background: var(--ck-color-mention-background); color: var(--ck-color-mention-text);"&gt;&lt;a href="https://www.ptcusercommunity.com/t5/user/viewprofilepage/user-id/936508"&gt;@TL_12988429&lt;/a&gt;&lt;/SPAN&gt;,&lt;BR /&gt;&lt;BR /&gt;Thank you for your question.&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;Your post appears well documented but has not yet received any response. I am replying to raise awareness. Hopefully, another community member will be able to help.&lt;BR /&gt;&lt;BR /&gt;Also, feel free to add any additional information you think might be relevant. It sometimes helps to have screenshots to better understand what you are trying to do.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Regards,&lt;/P&gt;
&lt;P&gt;Anurag&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 29 Dec 2025 16:29:09 GMT</pubDate>
      <guid>https://www.ptcusercommunity.com/t5/Customization/Importing-STEP-with-Creo-API/m-p/1049361#M14679</guid>
      <dc:creator>anursingh</dc:creator>
      <dc:date>2025-12-29T16:29:09Z</dc:date>
    </item>
    <item>
      <title>Re: Importing STEP with Creo API</title>
      <link>https://www.ptcusercommunity.com/t5/Customization/Importing-STEP-with-Creo-API/m-p/1049863#M14685</link>
      <description>&lt;P&gt;Thank you for the bump Anurag, I appreciate it.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Unfortunately I still haven't figured out exactly how to get everything working. Though I now understand that though I get the error messages, the import is actually completed, I just needed to display the model. I still need to figure out how to select the features, and apply the boolean operation.&lt;BR /&gt;&lt;BR /&gt;I have also created a mapkey to automate the UI commands, hopefully this can help guide anyone willing to help.&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;mapkey 4 @MAPKEY_LABELCut;~ Command `ProCmdModelOpen` ;\
mapkey(continued) ~ Trail `UI Desktop` `UI Desktop` `DLG_PREVIEW_POST` `file_open`;\
mapkey(continued) ~ Activate `file_open` `SAB_C:path\\hidden\\for\\privacy&amp;gt;`;\
mapkey(continued) ~ Select `file_open` `Ph_list.Filelist` 1 `tmp`;\
mapkey(continued) ~ Activate `file_open` `Ph_list.Filelist` 1 `tmp`;\
mapkey(continued) ~ Trail `UI Desktop` `UI Desktop` `PREVIEW_POPUP_TIMER` \
mapkey(continued) `file_open:Ph_list.Filelist:&amp;lt;NULL&amp;gt;`;~ Open `file_open` `Type`;\
mapkey(continued) ~ Close `file_open` `Type`;\
mapkey(continued) ~ Select `file_open` `Type` 1 `filter_.stp,.step,`;\
mapkey(continued) ~ Select `file_open` `Ph_list.Filelist` 1 `tmpB953.stp`;\
mapkey(continued) ~ Activate `file_open` `Ph_list.Filelist` 1 `tmpB953.stp`;\
mapkey(continued) ~ Activate `impt_new_model` `PushButton3`;\
mapkey(continued) ~ Expand `main_dlg_cur` `PHTLeft.AssyTree` `T1 2`;\
mapkey(continued) ~ Trail `UI Desktop` `UI Desktop` `PREVIEW_POPUP_TIMER` \
mapkey(continued) `main_dlg_w1:PHTLeft.AssyTree:&amp;lt;NULL&amp;gt;`;~ Command `ProCmdMmCompOper` ;\
mapkey(continued) #BOOLEAN OPERATIONS;\
mapkey(continued) ~ Trigger `boolean_op_dlg` `BoolOpTargetComponentsLst` `0`;\
mapkey(continued) ~ Trigger `boolean_op_dlg` `BoolOpTargetComponentsLst` ``;\
mapkey(continued) ~ Trigger `boolean_op_dlg` `BoolOpSourceModelsLst` `0`;\
mapkey(continued) ~ Trigger `boolean_op_dlg` `BoolOpSourceModelsLst` ``;\
mapkey(continued) ~ Open `boolean_op_dlg` `BoolOpOperationOpt`;\
mapkey(continued) ~ Close `boolean_op_dlg` `BoolOpOperationOpt`;\
mapkey(continued) ~ Select `boolean_op_dlg` `BoolOpOperationOpt` 1 `BoolOpCutSelectOpt`;\
mapkey(continued) ~ Trigger `boolean_op_dlg` `BoolOpSourceModelsLst` `0`;\
mapkey(continued) ~ Trigger `boolean_op_dlg` `BoolOpSourceModelsLst` ``;\
mapkey(continued) ~ Select `main_dlg_cur` `PHTLeft.AssyTree` 1 `T2 2 2`;\
mapkey(continued) ~ Trigger `boolean_op_dlg` `BoolOpTargetComponentsLst` `0`;\
mapkey(continued) ~ Trigger `boolean_op_dlg` `BoolOpTargetComponentsLst` ``;\
mapkey(continued) ~ Focus `boolean_op_dlg` `BoolOpTargetComponentsLst`;\
mapkey(continued) ~ Select `boolean_op_dlg` `BoolOpTargetComponentsLst` 0;\
mapkey(continued) ~ Timer `UI Desktop` `UI Desktop` `CollectorWdg_FocusTimer`;\
mapkey(continued) ~ Select `main_dlg_cur` `PHTLeft.AssyTree` 1 `T2 2 3`;\
mapkey(continued) ~ Select `main_dlg_cur` `PHTLeft.AssyTree` 2 `T2 2 3` `T2 2 4` 1;\
mapkey(continued) ~ Activate `boolean_op_dlg` `BoolOpOkBtn`;#DONE/RETURN;\
mapkey(continued) ~ Select `main_dlg_cur` `PHTLeft.AssyTree` 1 `T2 2 3`;\
mapkey(continued) ~ Command `ProCmdViewHide@PopupMenuTree` ;\
mapkey(continued) ~ Select `main_dlg_cur` `PHTLeft.AssyTree` 1 `T2 2 4`;\
mapkey(continued) ~ Command `ProCmdViewHide@PopupMenuTree` ;\
mapkey(continued) ~ Command `ProCmdEnvShadedEdges`  1;&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;Along with an example step file with which I am testing this command.&lt;/P&gt;</description>
      <pubDate>Mon, 05 Jan 2026 18:08:00 GMT</pubDate>
      <guid>https://www.ptcusercommunity.com/t5/Customization/Importing-STEP-with-Creo-API/m-p/1049863#M14685</guid>
      <dc:creator>TL_12988429</dc:creator>
      <dc:date>2026-01-05T18:08:00Z</dc:date>
    </item>
  </channel>
</rss>

