<?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 Component Replace Multiple Parts in an Assembly from Vault in Inventor Programming Forum</title>
    <link>https://forums.autodesk.com/t5/inventor-programming-forum/component-replace-multiple-parts-in-an-assembly-from-vault/m-p/13655148#M10</link>
    <description>&lt;P&gt;Hi all,&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have an assembly with multiple parts on my local folder. I have already dragged, dropped and assigned a meta data "Data A" to each individual part file onto Vault. I want help w a iLogic code to component replace each individual part file in my local assembly with the files that I have on vault.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;For example, all part numbers in my local assembly match "Data A" to the files checked into Vault.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am able to write the code and replace for a single part file by creating a user parameter in my assembly which equates to "Data A" and search the file in vault that contains "Data A" and then replace a the required file with the file from Vault I just searched. But this is just as good as me replacing each file manually.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Any help to automate this?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This is what I am going off of.&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;SPAN&gt;'Build one to many name/value pairs of Property/Value as search criteria;&lt;/SPAN&gt;
&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;mSearchParams&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;New&lt;/SPAN&gt; &lt;SPAN&gt;System&lt;/SPAN&gt;.&lt;SPAN&gt;Collections&lt;/SPAN&gt;.&lt;SPAN&gt;Generic&lt;/SPAN&gt;.&lt;SPAN&gt;Dictionary&lt;/SPAN&gt;(&lt;SPAN&gt;Of&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt;, &lt;SPAN&gt;String&lt;/SPAN&gt;) &lt;SPAN&gt;'add UDP.DisplayName, Value Pairs&lt;/SPAN&gt;
&lt;SPAN&gt;mSearchParams&lt;/SPAN&gt;.&lt;SPAN&gt;Add&lt;/SPAN&gt;(&lt;SPAN&gt;"Data A"&lt;/SPAN&gt;, &lt;SPAN&gt;DataA&lt;/SPAN&gt;)		&lt;SPAN&gt;'applies to file 001003.ipt&lt;/SPAN&gt;
&lt;SPAN&gt;'...add as many as required to enable a unique search result&lt;/SPAN&gt;

&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;mVaultFiles&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;List&lt;/SPAN&gt;(&lt;SPAN&gt;Of&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt;)
&lt;SPAN&gt;mVaultFiles&lt;/SPAN&gt; = &lt;SPAN&gt;iLogicVault&lt;/SPAN&gt;.&lt;SPAN&gt;CheckFilesExistBySearchCriteria&lt;/SPAN&gt;(&lt;SPAN&gt;mSearchParams&lt;/SPAN&gt;, &lt;SPAN&gt;False&lt;/SPAN&gt;) &lt;SPAN&gt;'returns file name(s)&lt;/SPAN&gt;
&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;mVaultFiles&lt;/SPAN&gt;.&lt;SPAN&gt;Count&lt;/SPAN&gt; = 0 &lt;SPAN&gt;Then&lt;/SPAN&gt;
	&lt;SPAN&gt;Logger&lt;/SPAN&gt;.&lt;SPAN&gt;Error&lt;/SPAN&gt;(&lt;SPAN&gt;"The file(s) searched was(were) not found. Please double check that the search criteria's relevance."&lt;/SPAN&gt;) 
	&lt;SPAN&gt;ModelName&lt;/SPAN&gt; = &lt;SPAN&gt;"-"&lt;/SPAN&gt;
	&lt;SPAN&gt;MessageBox&lt;/SPAN&gt;.&lt;SPAN&gt;Show&lt;/SPAN&gt;(&lt;SPAN&gt;"Not found in Vault"&lt;/SPAN&gt;, &lt;SPAN&gt;"Status"&lt;/SPAN&gt;)
&lt;SPAN&gt;Else&lt;/SPAN&gt;
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;mFileList&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt;
	&lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;Each&lt;/SPAN&gt; &lt;SPAN&gt;mFile&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt; &lt;SPAN&gt;In&lt;/SPAN&gt; &lt;SPAN&gt;mVaultFiles&lt;/SPAN&gt;
		&lt;SPAN&gt;mFileList&lt;/SPAN&gt; += &lt;SPAN&gt;mFile&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;vbCr&lt;/SPAN&gt;
	&lt;SPAN&gt;Next&lt;/SPAN&gt;
	&lt;SPAN&gt;Logger&lt;/SPAN&gt;.&lt;SPAN&gt;Info&lt;/SPAN&gt;(&lt;SPAN&gt;"iLogic-Vault file search found: "&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;mFileList&lt;/SPAN&gt;)
	&lt;SPAN&gt;ModelName&lt;/SPAN&gt; = &lt;SPAN&gt;mVaultFiles&lt;/SPAN&gt;.&lt;SPAN&gt;FirstOrDefault&lt;/SPAN&gt;
	&lt;SPAN&gt;MessageBox&lt;/SPAN&gt;.&lt;SPAN&gt;Show&lt;/SPAN&gt;(&lt;SPAN&gt;"Found in Vault"&lt;/SPAN&gt;, &lt;SPAN&gt;"Status"&lt;/SPAN&gt;)

&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;

&lt;SPAN&gt;mVaultFile&lt;/SPAN&gt; = &lt;SPAN&gt;iLogicVault&lt;/SPAN&gt;.&lt;SPAN&gt;GetFileBySearchCriteria&lt;/SPAN&gt;(&lt;SPAN&gt;mSearchParams&lt;/SPAN&gt;, &lt;SPAN&gt;True&lt;/SPAN&gt;, &lt;SPAN&gt;False&lt;/SPAN&gt;)
&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;mVaultFile&lt;/SPAN&gt; &lt;SPAN&gt;Is&lt;/SPAN&gt; &lt;SPAN&gt;Nothing&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt;
	&lt;SPAN&gt;Logger&lt;/SPAN&gt;.&lt;SPAN&gt;Error&lt;/SPAN&gt;(&lt;SPAN&gt;"Check again"&lt;/SPAN&gt;)
	
&lt;SPAN&gt;Else&lt;/SPAN&gt;
	&lt;SPAN&gt;Logger&lt;/SPAN&gt;.&lt;SPAN&gt;Info&lt;/SPAN&gt;(&lt;SPAN&gt;"File"&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;mVaultFile&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;"found and downloaded"&lt;/SPAN&gt;)
	&lt;SPAN&gt;Component&lt;/SPAN&gt;.&lt;SPAN&gt;Replace&lt;/SPAN&gt;(&lt;SPAN&gt;"11-C-6119-01_1453"&lt;/SPAN&gt;, &lt;SPAN&gt;mVaultFile&lt;/SPAN&gt;, &lt;SPAN&gt;False&lt;/SPAN&gt;)
&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Thu, 29 May 2025 01:55:03 GMT</pubDate>
    <dc:creator>hkeny</dc:creator>
    <dc:date>2025-05-29T01:55:03Z</dc:date>
    <item>
      <title>Component Replace Multiple Parts in an Assembly from Vault</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/component-replace-multiple-parts-in-an-assembly-from-vault/m-p/13655148#M10</link>
      <description>&lt;P&gt;Hi all,&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have an assembly with multiple parts on my local folder. I have already dragged, dropped and assigned a meta data "Data A" to each individual part file onto Vault. I want help w a iLogic code to component replace each individual part file in my local assembly with the files that I have on vault.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;For example, all part numbers in my local assembly match "Data A" to the files checked into Vault.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am able to write the code and replace for a single part file by creating a user parameter in my assembly which equates to "Data A" and search the file in vault that contains "Data A" and then replace a the required file with the file from Vault I just searched. But this is just as good as me replacing each file manually.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Any help to automate this?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This is what I am going off of.&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;SPAN&gt;'Build one to many name/value pairs of Property/Value as search criteria;&lt;/SPAN&gt;
&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;mSearchParams&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;New&lt;/SPAN&gt; &lt;SPAN&gt;System&lt;/SPAN&gt;.&lt;SPAN&gt;Collections&lt;/SPAN&gt;.&lt;SPAN&gt;Generic&lt;/SPAN&gt;.&lt;SPAN&gt;Dictionary&lt;/SPAN&gt;(&lt;SPAN&gt;Of&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt;, &lt;SPAN&gt;String&lt;/SPAN&gt;) &lt;SPAN&gt;'add UDP.DisplayName, Value Pairs&lt;/SPAN&gt;
&lt;SPAN&gt;mSearchParams&lt;/SPAN&gt;.&lt;SPAN&gt;Add&lt;/SPAN&gt;(&lt;SPAN&gt;"Data A"&lt;/SPAN&gt;, &lt;SPAN&gt;DataA&lt;/SPAN&gt;)		&lt;SPAN&gt;'applies to file 001003.ipt&lt;/SPAN&gt;
&lt;SPAN&gt;'...add as many as required to enable a unique search result&lt;/SPAN&gt;

&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;mVaultFiles&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;List&lt;/SPAN&gt;(&lt;SPAN&gt;Of&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt;)
&lt;SPAN&gt;mVaultFiles&lt;/SPAN&gt; = &lt;SPAN&gt;iLogicVault&lt;/SPAN&gt;.&lt;SPAN&gt;CheckFilesExistBySearchCriteria&lt;/SPAN&gt;(&lt;SPAN&gt;mSearchParams&lt;/SPAN&gt;, &lt;SPAN&gt;False&lt;/SPAN&gt;) &lt;SPAN&gt;'returns file name(s)&lt;/SPAN&gt;
&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;mVaultFiles&lt;/SPAN&gt;.&lt;SPAN&gt;Count&lt;/SPAN&gt; = 0 &lt;SPAN&gt;Then&lt;/SPAN&gt;
	&lt;SPAN&gt;Logger&lt;/SPAN&gt;.&lt;SPAN&gt;Error&lt;/SPAN&gt;(&lt;SPAN&gt;"The file(s) searched was(were) not found. Please double check that the search criteria's relevance."&lt;/SPAN&gt;) 
	&lt;SPAN&gt;ModelName&lt;/SPAN&gt; = &lt;SPAN&gt;"-"&lt;/SPAN&gt;
	&lt;SPAN&gt;MessageBox&lt;/SPAN&gt;.&lt;SPAN&gt;Show&lt;/SPAN&gt;(&lt;SPAN&gt;"Not found in Vault"&lt;/SPAN&gt;, &lt;SPAN&gt;"Status"&lt;/SPAN&gt;)
&lt;SPAN&gt;Else&lt;/SPAN&gt;
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;mFileList&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt;
	&lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;Each&lt;/SPAN&gt; &lt;SPAN&gt;mFile&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt; &lt;SPAN&gt;In&lt;/SPAN&gt; &lt;SPAN&gt;mVaultFiles&lt;/SPAN&gt;
		&lt;SPAN&gt;mFileList&lt;/SPAN&gt; += &lt;SPAN&gt;mFile&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;vbCr&lt;/SPAN&gt;
	&lt;SPAN&gt;Next&lt;/SPAN&gt;
	&lt;SPAN&gt;Logger&lt;/SPAN&gt;.&lt;SPAN&gt;Info&lt;/SPAN&gt;(&lt;SPAN&gt;"iLogic-Vault file search found: "&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;mFileList&lt;/SPAN&gt;)
	&lt;SPAN&gt;ModelName&lt;/SPAN&gt; = &lt;SPAN&gt;mVaultFiles&lt;/SPAN&gt;.&lt;SPAN&gt;FirstOrDefault&lt;/SPAN&gt;
	&lt;SPAN&gt;MessageBox&lt;/SPAN&gt;.&lt;SPAN&gt;Show&lt;/SPAN&gt;(&lt;SPAN&gt;"Found in Vault"&lt;/SPAN&gt;, &lt;SPAN&gt;"Status"&lt;/SPAN&gt;)

&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;

&lt;SPAN&gt;mVaultFile&lt;/SPAN&gt; = &lt;SPAN&gt;iLogicVault&lt;/SPAN&gt;.&lt;SPAN&gt;GetFileBySearchCriteria&lt;/SPAN&gt;(&lt;SPAN&gt;mSearchParams&lt;/SPAN&gt;, &lt;SPAN&gt;True&lt;/SPAN&gt;, &lt;SPAN&gt;False&lt;/SPAN&gt;)
&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;mVaultFile&lt;/SPAN&gt; &lt;SPAN&gt;Is&lt;/SPAN&gt; &lt;SPAN&gt;Nothing&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt;
	&lt;SPAN&gt;Logger&lt;/SPAN&gt;.&lt;SPAN&gt;Error&lt;/SPAN&gt;(&lt;SPAN&gt;"Check again"&lt;/SPAN&gt;)
	
&lt;SPAN&gt;Else&lt;/SPAN&gt;
	&lt;SPAN&gt;Logger&lt;/SPAN&gt;.&lt;SPAN&gt;Info&lt;/SPAN&gt;(&lt;SPAN&gt;"File"&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;mVaultFile&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;"found and downloaded"&lt;/SPAN&gt;)
	&lt;SPAN&gt;Component&lt;/SPAN&gt;.&lt;SPAN&gt;Replace&lt;/SPAN&gt;(&lt;SPAN&gt;"11-C-6119-01_1453"&lt;/SPAN&gt;, &lt;SPAN&gt;mVaultFile&lt;/SPAN&gt;, &lt;SPAN&gt;False&lt;/SPAN&gt;)
&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 29 May 2025 01:55:03 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/component-replace-multiple-parts-in-an-assembly-from-vault/m-p/13655148#M10</guid>
      <dc:creator>hkeny</dc:creator>
      <dc:date>2025-05-29T01:55:03Z</dc:date>
    </item>
  </channel>
</rss>

