<?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: Save stp files to Vault in Inventor Programming - iLogic, Macros, AddIns &amp; Apprentice</title>
    <link>https://forums.autodesk.com/t5/inventor-programming-ilogic/save-stp-files-to-vault/m-p/12146111#M155953</link>
    <description>&lt;P&gt;Hi,&lt;BR /&gt;i have managed to get it to work.&lt;BR /&gt;I followed this guide to install vault API and all the libraries:&lt;BR /&gt;&lt;A href="https://www.autodesk.com/autodesk-university/class/iLogic-and-Vault-Vault-and-iLogic-2020#handout" target="_blank"&gt;https://www.autodesk.com/autodesk-university/class/iLogic-and-Vault-Vault-and-iLogic-2020#handout&lt;/A&gt;&lt;BR /&gt;And i got it working with this code:&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;PRE&gt;&lt;SPAN&gt;AddReference "QuickstartiLogicLibrary.dll"&lt;BR /&gt;&lt;BR /&gt;Sub&lt;/SPAN&gt; &lt;SPAN&gt;Main&lt;/SPAN&gt;()

	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;ex&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Exception&lt;/SPAN&gt;
	&lt;SPAN&gt;break&lt;/SPAN&gt;

	&lt;SPAN&gt;'the rule can be run on assembly files only&lt;/SPAN&gt;
	&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;ThisDoc&lt;/SPAN&gt;.&lt;SPAN&gt;Document&lt;/SPAN&gt;.&lt;SPAN&gt;DocumentType&lt;/SPAN&gt; &amp;lt;&amp;gt; &lt;SPAN&gt;Inventor&lt;/SPAN&gt;.&lt;SPAN&gt;DocumentTypeEnum&lt;/SPAN&gt;.&lt;SPAN&gt;kAssemblyDocumentObject&lt;/SPAN&gt; 
		&lt;SPAN&gt;Logger&lt;/SPAN&gt;.&lt;SPAN&gt;Info&lt;/SPAN&gt;(&lt;SPAN&gt;"Rule iLogicVault_Generate_stp applies to assembly documents only. Exited without action."&lt;/SPAN&gt;)
		&lt;SPAN&gt;Return&lt;/SPAN&gt;
	&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;

	&lt;SPAN&gt;'enable iLogicVault commands and validate user's login state&lt;/SPAN&gt;
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;iLogicVault&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;New&lt;/SPAN&gt; &lt;SPAN&gt;QuickstartiLogicLibrary&lt;/SPAN&gt;.&lt;SPAN&gt;QuickstartiLogicLib&lt;/SPAN&gt;
	&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;iLogicVault&lt;/SPAN&gt;.&lt;SPAN&gt;LoggedIn&lt;/SPAN&gt; = &lt;SPAN&gt;False&lt;/SPAN&gt;
		&lt;SPAN&gt;Logger&lt;/SPAN&gt;.&lt;SPAN&gt;Error&lt;/SPAN&gt;(&lt;SPAN&gt;"Not Logged In to Vault! - Login first and repeat executing this rule."&lt;/SPAN&gt;)
		&lt;SPAN&gt;Exit&lt;/SPAN&gt; &lt;SPAN&gt;Sub&lt;/SPAN&gt;
	&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;

	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;ass&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;AssemblyDocument&lt;/SPAN&gt; = &lt;SPAN&gt;ThisApplication&lt;/SPAN&gt;.&lt;SPAN&gt;ActiveDocument&lt;/SPAN&gt;
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oSelSet&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;SelectSet&lt;/SPAN&gt; = &lt;SPAN&gt;ass&lt;/SPAN&gt;.&lt;SPAN&gt;SelectSet&lt;/SPAN&gt;
	&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;oSelSet&lt;/SPAN&gt;.&lt;SPAN&gt;Count&lt;/SPAN&gt; = 0 &lt;SPAN&gt;Then&lt;/SPAN&gt;
		&lt;SPAN&gt;MessageBox&lt;/SPAN&gt;.&lt;SPAN&gt;Show&lt;/SPAN&gt;(&lt;SPAN&gt;"Choose files before running the rule"&lt;/SPAN&gt;, &lt;SPAN&gt;"Error"&lt;/SPAN&gt;)
		&lt;SPAN&gt;Exit&lt;/SPAN&gt; &lt;SPAN&gt;Sub&lt;/SPAN&gt;
	&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;
	
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;i&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Integer&lt;/SPAN&gt; = 0
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;result&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Boolean&lt;/SPAN&gt;
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;Occ&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;ComponentOccurrence&lt;/SPAN&gt;
	&lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;Each&lt;/SPAN&gt; &lt;SPAN&gt;Occ&lt;/SPAN&gt; &lt;SPAN&gt;In&lt;/SPAN&gt; &lt;SPAN&gt;oSelSet&lt;/SPAN&gt;
		&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;OccDoc&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Document&lt;/SPAN&gt; = &lt;SPAN&gt;Occ&lt;/SPAN&gt;.&lt;SPAN&gt;Definition&lt;/SPAN&gt;.&lt;SPAN&gt;Document&lt;/SPAN&gt;
		&lt;SPAN&gt;'Get the file path and name with extension&lt;/SPAN&gt;
		&lt;SPAN&gt;oName&lt;/SPAN&gt; = &lt;SPAN&gt;System&lt;/SPAN&gt;.&lt;SPAN&gt;IO&lt;/SPAN&gt;.&lt;SPAN&gt;Path&lt;/SPAN&gt;.&lt;SPAN&gt;GetFullPath&lt;/SPAN&gt;(&lt;SPAN&gt;OccDoc&lt;/SPAN&gt;.&lt;SPAN&gt;FullFileName&lt;/SPAN&gt;)
		&lt;SPAN&gt;' change extensions by removing last 3 characters and adding stp&lt;/SPAN&gt;
		&lt;SPAN&gt;lenght_oName&lt;/SPAN&gt; = &lt;SPAN&gt;oName&lt;/SPAN&gt;.&lt;SPAN&gt;Length&lt;/SPAN&gt;
		&lt;SPAN&gt;lenght_we&lt;/SPAN&gt; = &lt;SPAN&gt;lenght_oName&lt;/SPAN&gt; - 3
		&lt;SPAN&gt;oName_we&lt;/SPAN&gt; = &lt;SPAN&gt;oName&lt;/SPAN&gt;.&lt;SPAN&gt;remove&lt;/SPAN&gt;(&lt;SPAN&gt;lenght_we&lt;/SPAN&gt;)
		&lt;SPAN&gt;oName_ne&lt;/SPAN&gt; = &lt;SPAN&gt;oName_we&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;"stp"&lt;/SPAN&gt;
		&lt;SPAN&gt;oNewName&lt;/SPAN&gt; = &lt;SPAN&gt;oName_ne&lt;/SPAN&gt;

		&lt;SPAN&gt;result&lt;/SPAN&gt; = &lt;SPAN&gt;ExportFiles&lt;/SPAN&gt;(&lt;SPAN&gt;OccDoc&lt;/SPAN&gt;, &lt;SPAN&gt;oNewName&lt;/SPAN&gt;)
		&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;result&lt;/SPAN&gt; = &lt;SPAN&gt;True&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt;
			&lt;SPAN&gt;i&lt;/SPAN&gt; = &lt;SPAN&gt;i&lt;/SPAN&gt; + 1
		&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;
	&lt;SPAN&gt;Next&lt;/SPAN&gt;
	&lt;SPAN&gt;MessageBox&lt;/SPAN&gt;.&lt;SPAN&gt;Show&lt;/SPAN&gt;(&lt;SPAN&gt;"Number of saved files: "&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;i&lt;/SPAN&gt;, &lt;SPAN&gt;"Result"&lt;/SPAN&gt;)
&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Sub&lt;/SPAN&gt;


&lt;SPAN&gt;Function&lt;/SPAN&gt; &lt;SPAN&gt;ExportFiles&lt;/SPAN&gt;(&lt;SPAN&gt;doc&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Document&lt;/SPAN&gt;, &lt;SPAN&gt;NewFileName&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt;) &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Boolean&lt;/SPAN&gt;
	&lt;SPAN&gt;' Get the STEP translator Add-In.&lt;/SPAN&gt;
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oSTEPTranslator&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;TranslatorAddIn&lt;/SPAN&gt;
	&lt;SPAN&gt;oSTEPTranslator&lt;/SPAN&gt; = &lt;SPAN&gt;ThisApplication&lt;/SPAN&gt;.&lt;SPAN&gt;ApplicationAddIns&lt;/SPAN&gt;.&lt;SPAN&gt;ItemById&lt;/SPAN&gt;(&lt;SPAN&gt;"{90AF7F40-0C01-11D5-8E83-0010B541CD80}"&lt;/SPAN&gt;)
	&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;oSTEPTranslator&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;MsgBox&lt;/SPAN&gt;(&lt;SPAN&gt;"Could not access STEP translator."&lt;/SPAN&gt;)
		&lt;SPAN&gt;ExportFiles&lt;/SPAN&gt; = &lt;SPAN&gt;False&lt;/SPAN&gt;
		&lt;SPAN&gt;Exit&lt;/SPAN&gt; &lt;SPAN&gt;Function&lt;/SPAN&gt;
	&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;

	&lt;SPAN&gt;oContext&lt;/SPAN&gt; = &lt;SPAN&gt;ThisApplication&lt;/SPAN&gt;.&lt;SPAN&gt;TransientObjects&lt;/SPAN&gt;.&lt;SPAN&gt;CreateTranslationContext&lt;/SPAN&gt;
	&lt;SPAN&gt;oContext&lt;/SPAN&gt;.&lt;SPAN&gt;Type&lt;/SPAN&gt; = &lt;SPAN&gt;IOMechanismEnum&lt;/SPAN&gt;.&lt;SPAN&gt;kFileBrowseIOMechanism&lt;/SPAN&gt;
	&lt;SPAN&gt;oOptions&lt;/SPAN&gt; = &lt;SPAN&gt;ThisApplication&lt;/SPAN&gt;.&lt;SPAN&gt;TransientObjects&lt;/SPAN&gt;.&lt;SPAN&gt;CreateNameValueMap&lt;/SPAN&gt;
	&lt;SPAN&gt;oData&lt;/SPAN&gt; = &lt;SPAN&gt;ThisApplication&lt;/SPAN&gt;.&lt;SPAN&gt;TransientObjects&lt;/SPAN&gt;.&lt;SPAN&gt;CreateDataMedium&lt;/SPAN&gt;
	&lt;SPAN&gt;oData&lt;/SPAN&gt;.&lt;SPAN&gt;FileName&lt;/SPAN&gt; = &lt;SPAN&gt;NewFileName&lt;/SPAN&gt;
	&lt;SPAN&gt;oNewName&lt;/SPAN&gt; = &lt;SPAN&gt;NewFileName&lt;/SPAN&gt;
	&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;oSTEPTranslator&lt;/SPAN&gt;.&lt;SPAN&gt;HasSaveCopyAsOptions&lt;/SPAN&gt;(&lt;SPAN&gt;doc&lt;/SPAN&gt;, &lt;SPAN&gt;oContext&lt;/SPAN&gt;, &lt;SPAN&gt;oOptions&lt;/SPAN&gt;) &lt;SPAN&gt;Then&lt;/SPAN&gt;
		&lt;SPAN&gt;' Set application protocol.&lt;/SPAN&gt;
		&lt;SPAN&gt;' 2 = AP 203 - Configuration Controlled Design&lt;/SPAN&gt;
		&lt;SPAN&gt;' 3 = AP 214 - Automotive Design&lt;/SPAN&gt;
		&lt;SPAN&gt;oOptions&lt;/SPAN&gt;.&lt;SPAN&gt;Value&lt;/SPAN&gt;(&lt;SPAN&gt;"ApplicationProtocolType"&lt;/SPAN&gt;) = 3
		&lt;SPAN&gt;'oOptions.Value("Author") = ""&lt;/SPAN&gt;
		&lt;SPAN&gt;'oOptions.Value("Authorization") = ""&lt;/SPAN&gt;
		&lt;SPAN&gt;'oOptions.Value("Description") = ""&lt;/SPAN&gt;
		&lt;SPAN&gt;'oOptions.Value("Organization") = ""&lt;/SPAN&gt;

		&lt;SPAN&gt;'check if file exists and if it does, delete it.&lt;/SPAN&gt;
		&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oFileInfo&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;IO&lt;/SPAN&gt;.&lt;SPAN&gt;FileInfo&lt;/SPAN&gt;(&lt;SPAN&gt;oNewName&lt;/SPAN&gt;)

		&lt;SPAN&gt;Try&lt;/SPAN&gt;
			&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;oFileInfo&lt;/SPAN&gt;.&lt;SPAN&gt;Exists&lt;/SPAN&gt; = &lt;SPAN&gt;True&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt;
				&lt;SPAN&gt;If&lt;/SPAN&gt; (&lt;SPAN&gt;oFileInfo&lt;/SPAN&gt;.&lt;SPAN&gt;Attributes&lt;/SPAN&gt;) &lt;SPAN&gt;Then&lt;/SPAN&gt;
					&lt;SPAN&gt;oFileInfo&lt;/SPAN&gt;.&lt;SPAN&gt;Attributes&lt;/SPAN&gt; = (&lt;SPAN&gt;oFileInfo&lt;/SPAN&gt;.&lt;SPAN&gt;Attributes&lt;/SPAN&gt; &lt;SPAN&gt;And&lt;/SPAN&gt; &lt;SPAN&gt;Not&lt;/SPAN&gt; &lt;SPAN&gt;oFileInfo&lt;/SPAN&gt;.&lt;SPAN&gt;Attributes&lt;/SPAN&gt;.&lt;SPAN&gt;ReadOnly&lt;/SPAN&gt;)
					&lt;SPAN&gt;System&lt;/SPAN&gt;.&lt;SPAN&gt;IO&lt;/SPAN&gt;.&lt;SPAN&gt;File&lt;/SPAN&gt;.&lt;SPAN&gt;Delete&lt;/SPAN&gt;(&lt;SPAN&gt;oNewName&lt;/SPAN&gt;)
				&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;
			&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;
		
		&lt;SPAN&gt;Catch&lt;/SPAN&gt;
			
		&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Try&lt;/SPAN&gt;
		
		&lt;SPAN&gt;'finally save step file&lt;/SPAN&gt;

		&lt;SPAN&gt;oSTEPTranslator&lt;/SPAN&gt;.&lt;SPAN&gt;SaveCopyAs&lt;/SPAN&gt;(&lt;SPAN&gt;doc&lt;/SPAN&gt;, &lt;SPAN&gt;oContext&lt;/SPAN&gt;, &lt;SPAN&gt;oOptions&lt;/SPAN&gt;, &lt;SPAN&gt;oData&lt;/SPAN&gt;)
		&lt;SPAN&gt;ExportFiles&lt;/SPAN&gt; = &lt;SPAN&gt;True&lt;/SPAN&gt;
		&lt;SPAN&gt;' export file to vault&lt;/SPAN&gt;
		&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;iLogicVault&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;New&lt;/SPAN&gt; &lt;SPAN&gt;QuickstartiLogicLibrary&lt;/SPAN&gt;.&lt;SPAN&gt;QuickstartiLogicLib&lt;/SPAN&gt;
		&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;mVaultPath&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt; = &lt;SPAN&gt;iLogicVault&lt;/SPAN&gt;.&lt;SPAN&gt;ConvertLocalPathToVaultPath&lt;/SPAN&gt;(&lt;SPAN&gt;oNewName&lt;/SPAN&gt;)
		&lt;SPAN&gt;success&lt;/SPAN&gt; = &lt;SPAN&gt;iLogicVault&lt;/SPAN&gt;.&lt;SPAN&gt;AddFile&lt;/SPAN&gt;(&lt;SPAN&gt;oNewName&lt;/SPAN&gt;, &lt;SPAN&gt;mVaultPath&lt;/SPAN&gt;, &lt;SPAN&gt;True&lt;/SPAN&gt;)
		&lt;SPAN&gt;If&lt;/SPAN&gt; (&lt;SPAN&gt;success&lt;/SPAN&gt; &amp;lt;&amp;gt; &lt;SPAN&gt;True&lt;/SPAN&gt;)
			&lt;SPAN&gt;Logger&lt;/SPAN&gt;.&lt;SPAN&gt;Error&lt;/SPAN&gt;(&lt;SPAN&gt;"Failed to add/update stp file to Vault"&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;"Stp file successfully created and uploaded to Vault."&lt;/SPAN&gt;)
		&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;

    &lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;
&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Function&lt;/SPAN&gt;

&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Thu, 03 Aug 2023 09:01:12 GMT</pubDate>
    <dc:creator>mich_rymut</dc:creator>
    <dc:date>2023-08-03T09:01:12Z</dc:date>
    <item>
      <title>Save stp files to Vault</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-ilogic/save-stp-files-to-vault/m-p/12144140#M155918</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;I am trying to make a rule that lets me select parts in an assembly and then generate .stp files of chosen parts, and then save them into vault.&lt;BR /&gt;I am using Inventor Professional 2023 and Vault Professional 2023.&lt;BR /&gt;I have this rule below, that lets me choose parts and then generates .stp files of those parts into a chosen folder, but i dont know how to make it to save those stp files to vault.&lt;BR /&gt;Is there a way to save those files directly to vault?&lt;BR /&gt;Or a way to automaticly&amp;nbsp; import them into vault after saving them into a folder on my desktop?&lt;BR /&gt;Here is the rule:&lt;/P&gt;&lt;PRE&gt;&lt;SPAN&gt;Sub&lt;/SPAN&gt; &lt;SPAN&gt;Main&lt;/SPAN&gt;()
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;ass&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;AssemblyDocument&lt;/SPAN&gt; = &lt;SPAN&gt;ThisApplication&lt;/SPAN&gt;.&lt;SPAN&gt;ActiveDocument&lt;/SPAN&gt;
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oSelSet&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;SelectSet&lt;/SPAN&gt; = &lt;SPAN&gt;ass&lt;/SPAN&gt;.&lt;SPAN&gt;SelectSet&lt;/SPAN&gt;
	&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;oSelSet&lt;/SPAN&gt;.&lt;SPAN&gt;Count&lt;/SPAN&gt; = 0 &lt;SPAN&gt;Then&lt;/SPAN&gt;
		&lt;SPAN&gt;MessageBox&lt;/SPAN&gt;.&lt;SPAN&gt;Show&lt;/SPAN&gt;(&lt;SPAN&gt;"Proszę wybrać pliki przed uruchomieniem polecenia"&lt;/SPAN&gt;, &lt;SPAN&gt;"Error"&lt;/SPAN&gt;)
		&lt;SPAN&gt;Exit&lt;/SPAN&gt; &lt;SPAN&gt;Sub&lt;/SPAN&gt;
	&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;
	&lt;SPAN&gt;'this runs the custom Function defined below to return a selected folder path&lt;/SPAN&gt;
	&lt;SPAN&gt;oFolder&lt;/SPAN&gt; = &lt;SPAN&gt;GetFolder&lt;/SPAN&gt;
	&lt;SPAN&gt;'make sure a folder was selected, if not exit rule&lt;/SPAN&gt;
	&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt;.&lt;SPAN&gt;IsNullOrEmpty&lt;/SPAN&gt;(&lt;SPAN&gt;oFolder&lt;/SPAN&gt;) &lt;SPAN&gt;Then&lt;/SPAN&gt; &lt;SPAN&gt;Exit&lt;/SPAN&gt; &lt;SPAN&gt;Sub&lt;/SPAN&gt;
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;i&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Integer&lt;/SPAN&gt; = 0
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;result&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Boolean&lt;/SPAN&gt;
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;Occ&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;ComponentOccurrence&lt;/SPAN&gt;
	&lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;Each&lt;/SPAN&gt; &lt;SPAN&gt;Occ&lt;/SPAN&gt; &lt;SPAN&gt;In&lt;/SPAN&gt; &lt;SPAN&gt;oSelSet&lt;/SPAN&gt;
		&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;OccDoc&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Document&lt;/SPAN&gt; = &lt;SPAN&gt;Occ&lt;/SPAN&gt;.&lt;SPAN&gt;Definition&lt;/SPAN&gt;.&lt;SPAN&gt;Document&lt;/SPAN&gt;
		&lt;SPAN&gt;'get file name (without path &amp;amp; without file extension)&lt;/SPAN&gt;
		&lt;SPAN&gt;oName&lt;/SPAN&gt; = &lt;SPAN&gt;System&lt;/SPAN&gt;.&lt;SPAN&gt;IO&lt;/SPAN&gt;.&lt;SPAN&gt;Path&lt;/SPAN&gt;.&lt;SPAN&gt;GetFileNameWithoutExtension&lt;/SPAN&gt;(&lt;SPAN&gt;OccDoc&lt;/SPAN&gt;.&lt;SPAN&gt;FullFileName&lt;/SPAN&gt;)
		&lt;SPAN&gt;'put new STEP file name together&lt;/SPAN&gt;
		&lt;SPAN&gt;oNewName&lt;/SPAN&gt; = &lt;SPAN&gt;oFolder&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;"\"&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;oName&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;".stp"&lt;/SPAN&gt;
		&lt;SPAN&gt;result&lt;/SPAN&gt; = &lt;SPAN&gt;ExportToSTEP&lt;/SPAN&gt;(&lt;SPAN&gt;OccDoc&lt;/SPAN&gt;, &lt;SPAN&gt;oNewName&lt;/SPAN&gt;)
		&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;result&lt;/SPAN&gt; = &lt;SPAN&gt;True&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt;
			&lt;SPAN&gt;i&lt;/SPAN&gt; = &lt;SPAN&gt;i&lt;/SPAN&gt; + 1
		&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;
	&lt;SPAN&gt;Next&lt;/SPAN&gt;
	&lt;SPAN&gt;MessageBox&lt;/SPAN&gt;.&lt;SPAN&gt;Show&lt;/SPAN&gt;(&lt;SPAN&gt;"Liczba zapisanych plików: "&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;i&lt;/SPAN&gt;, &lt;SPAN&gt;"Wynik zapisu"&lt;/SPAN&gt;)
&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Sub&lt;/SPAN&gt;

&lt;SPAN&gt;'Here's the subroutine.&lt;/SPAN&gt;
&lt;SPAN&gt;Function&lt;/SPAN&gt; &lt;SPAN&gt;ExportToSTEP&lt;/SPAN&gt;(&lt;SPAN&gt;doc&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Document&lt;/SPAN&gt;, &lt;SPAN&gt;NewFileName&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt;) &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Boolean&lt;/SPAN&gt;
	&lt;SPAN&gt;' Get the STEP translator Add-In.&lt;/SPAN&gt;
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oSTEPTranslator&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;TranslatorAddIn&lt;/SPAN&gt;
	&lt;SPAN&gt;oSTEPTranslator&lt;/SPAN&gt; = &lt;SPAN&gt;ThisApplication&lt;/SPAN&gt;.&lt;SPAN&gt;ApplicationAddIns&lt;/SPAN&gt;.&lt;SPAN&gt;ItemById&lt;/SPAN&gt;(&lt;SPAN&gt;"{90AF7F40-0C01-11D5-8E83-0010B541CD80}"&lt;/SPAN&gt;)
	&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;oSTEPTranslator&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;MsgBox&lt;/SPAN&gt;(&lt;SPAN&gt;"Could not access STEP translator."&lt;/SPAN&gt;)
		&lt;SPAN&gt;ExportToSTEP&lt;/SPAN&gt; = &lt;SPAN&gt;False&lt;/SPAN&gt;
		&lt;SPAN&gt;Exit&lt;/SPAN&gt; &lt;SPAN&gt;Function&lt;/SPAN&gt;
	&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;

	&lt;SPAN&gt;oContext&lt;/SPAN&gt; = &lt;SPAN&gt;ThisApplication&lt;/SPAN&gt;.&lt;SPAN&gt;TransientObjects&lt;/SPAN&gt;.&lt;SPAN&gt;CreateTranslationContext&lt;/SPAN&gt;
	&lt;SPAN&gt;oContext&lt;/SPAN&gt;.&lt;SPAN&gt;Type&lt;/SPAN&gt; = &lt;SPAN&gt;IOMechanismEnum&lt;/SPAN&gt;.&lt;SPAN&gt;kFileBrowseIOMechanism&lt;/SPAN&gt;
	&lt;SPAN&gt;oOptions&lt;/SPAN&gt; = &lt;SPAN&gt;ThisApplication&lt;/SPAN&gt;.&lt;SPAN&gt;TransientObjects&lt;/SPAN&gt;.&lt;SPAN&gt;CreateNameValueMap&lt;/SPAN&gt;
	&lt;SPAN&gt;oData&lt;/SPAN&gt; = &lt;SPAN&gt;ThisApplication&lt;/SPAN&gt;.&lt;SPAN&gt;TransientObjects&lt;/SPAN&gt;.&lt;SPAN&gt;CreateDataMedium&lt;/SPAN&gt;
	&lt;SPAN&gt;oData&lt;/SPAN&gt;.&lt;SPAN&gt;FileName&lt;/SPAN&gt; = &lt;SPAN&gt;NewFileName&lt;/SPAN&gt;
	
	&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;oSTEPTranslator&lt;/SPAN&gt;.&lt;SPAN&gt;HasSaveCopyAsOptions&lt;/SPAN&gt;(&lt;SPAN&gt;doc&lt;/SPAN&gt;, &lt;SPAN&gt;oContext&lt;/SPAN&gt;, &lt;SPAN&gt;oOptions&lt;/SPAN&gt;) &lt;SPAN&gt;Then&lt;/SPAN&gt;
		&lt;SPAN&gt;' Set application protocol.&lt;/SPAN&gt;
		&lt;SPAN&gt;' 2 = AP 203 - Configuration Controlled Design&lt;/SPAN&gt;
		&lt;SPAN&gt;' 3 = AP 214 - Automotive Design&lt;/SPAN&gt;
		&lt;SPAN&gt;oOptions&lt;/SPAN&gt;.&lt;SPAN&gt;Value&lt;/SPAN&gt;(&lt;SPAN&gt;"ApplicationProtocolType"&lt;/SPAN&gt;) = 3
		&lt;SPAN&gt;'oOptions.Value("Author") = ""&lt;/SPAN&gt;
		&lt;SPAN&gt;'oOptions.Value("Authorization") = ""&lt;/SPAN&gt;
		&lt;SPAN&gt;'oOptions.Value("Description") = ""&lt;/SPAN&gt;
		&lt;SPAN&gt;'oOptions.Value("Organization") = ""&lt;/SPAN&gt;

		&lt;SPAN&gt;oSTEPTranslator&lt;/SPAN&gt;.&lt;SPAN&gt;SaveCopyAs&lt;/SPAN&gt;(&lt;SPAN&gt;doc&lt;/SPAN&gt;, &lt;SPAN&gt;oContext&lt;/SPAN&gt;, &lt;SPAN&gt;oOptions&lt;/SPAN&gt;, &lt;SPAN&gt;oData&lt;/SPAN&gt;)
		&lt;SPAN&gt;ExportToSTEP&lt;/SPAN&gt; = &lt;SPAN&gt;True&lt;/SPAN&gt;
    &lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;
&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Function&lt;/SPAN&gt;

&lt;SPAN&gt;Function&lt;/SPAN&gt; &lt;SPAN&gt;GetFolder&lt;/SPAN&gt;() &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt;
	&lt;SPAN&gt;'Imports System.Windows.Forms&lt;/SPAN&gt;
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oSFolder&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt;
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oFDialog&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;Windows&lt;/SPAN&gt;.&lt;SPAN&gt;Forms&lt;/SPAN&gt;.&lt;SPAN&gt;FolderBrowserDialog&lt;/SPAN&gt;
	&lt;SPAN&gt;oFDialog&lt;/SPAN&gt;.&lt;SPAN&gt;Description&lt;/SPAN&gt; = &lt;SPAN&gt;"Wybierz folder do zapisu plików .step."&lt;/SPAN&gt;
	&lt;SPAN&gt;oFDialog&lt;/SPAN&gt;.&lt;SPAN&gt;RootFolder&lt;/SPAN&gt; = &lt;SPAN&gt;System&lt;/SPAN&gt;.&lt;SPAN&gt;Environment&lt;/SPAN&gt;.&lt;SPAN&gt;SpecialFolder&lt;/SPAN&gt;.&lt;SPAN&gt;MyComputer&lt;/SPAN&gt;
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oResult&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;DialogResult&lt;/SPAN&gt; = &lt;SPAN&gt;oFDialog&lt;/SPAN&gt;.&lt;SPAN&gt;ShowDialog&lt;/SPAN&gt;()
	&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;oResult&lt;/SPAN&gt; = &lt;SPAN&gt;DialogResult&lt;/SPAN&gt;.&lt;SPAN&gt;OK&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt;
		&lt;SPAN&gt;oSFolder&lt;/SPAN&gt; = &lt;SPAN&gt;oFDialog&lt;/SPAN&gt;.&lt;SPAN&gt;SelectedPath&lt;/SPAN&gt;
	&lt;SPAN&gt;Else&lt;/SPAN&gt;
		&lt;SPAN&gt;Return&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt;.&lt;SPAN&gt;Empty&lt;/SPAN&gt;
	&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;
	&lt;SPAN&gt;Return&lt;/SPAN&gt; &lt;SPAN&gt;oSFolder&lt;/SPAN&gt;
&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Function&lt;/SPAN&gt;
&lt;/PRE&gt;&lt;P&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 02 Aug 2023 13:36:23 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-ilogic/save-stp-files-to-vault/m-p/12144140#M155918</guid>
      <dc:creator>mich_rymut</dc:creator>
      <dc:date>2023-08-02T13:36:23Z</dc:date>
    </item>
    <item>
      <title>Re: Save stp files to Vault</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-ilogic/save-stp-files-to-vault/m-p/12146111#M155953</link>
      <description>&lt;P&gt;Hi,&lt;BR /&gt;i have managed to get it to work.&lt;BR /&gt;I followed this guide to install vault API and all the libraries:&lt;BR /&gt;&lt;A href="https://www.autodesk.com/autodesk-university/class/iLogic-and-Vault-Vault-and-iLogic-2020#handout" target="_blank"&gt;https://www.autodesk.com/autodesk-university/class/iLogic-and-Vault-Vault-and-iLogic-2020#handout&lt;/A&gt;&lt;BR /&gt;And i got it working with this code:&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;PRE&gt;&lt;SPAN&gt;AddReference "QuickstartiLogicLibrary.dll"&lt;BR /&gt;&lt;BR /&gt;Sub&lt;/SPAN&gt; &lt;SPAN&gt;Main&lt;/SPAN&gt;()

	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;ex&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Exception&lt;/SPAN&gt;
	&lt;SPAN&gt;break&lt;/SPAN&gt;

	&lt;SPAN&gt;'the rule can be run on assembly files only&lt;/SPAN&gt;
	&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;ThisDoc&lt;/SPAN&gt;.&lt;SPAN&gt;Document&lt;/SPAN&gt;.&lt;SPAN&gt;DocumentType&lt;/SPAN&gt; &amp;lt;&amp;gt; &lt;SPAN&gt;Inventor&lt;/SPAN&gt;.&lt;SPAN&gt;DocumentTypeEnum&lt;/SPAN&gt;.&lt;SPAN&gt;kAssemblyDocumentObject&lt;/SPAN&gt; 
		&lt;SPAN&gt;Logger&lt;/SPAN&gt;.&lt;SPAN&gt;Info&lt;/SPAN&gt;(&lt;SPAN&gt;"Rule iLogicVault_Generate_stp applies to assembly documents only. Exited without action."&lt;/SPAN&gt;)
		&lt;SPAN&gt;Return&lt;/SPAN&gt;
	&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;

	&lt;SPAN&gt;'enable iLogicVault commands and validate user's login state&lt;/SPAN&gt;
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;iLogicVault&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;New&lt;/SPAN&gt; &lt;SPAN&gt;QuickstartiLogicLibrary&lt;/SPAN&gt;.&lt;SPAN&gt;QuickstartiLogicLib&lt;/SPAN&gt;
	&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;iLogicVault&lt;/SPAN&gt;.&lt;SPAN&gt;LoggedIn&lt;/SPAN&gt; = &lt;SPAN&gt;False&lt;/SPAN&gt;
		&lt;SPAN&gt;Logger&lt;/SPAN&gt;.&lt;SPAN&gt;Error&lt;/SPAN&gt;(&lt;SPAN&gt;"Not Logged In to Vault! - Login first and repeat executing this rule."&lt;/SPAN&gt;)
		&lt;SPAN&gt;Exit&lt;/SPAN&gt; &lt;SPAN&gt;Sub&lt;/SPAN&gt;
	&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;

	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;ass&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;AssemblyDocument&lt;/SPAN&gt; = &lt;SPAN&gt;ThisApplication&lt;/SPAN&gt;.&lt;SPAN&gt;ActiveDocument&lt;/SPAN&gt;
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oSelSet&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;SelectSet&lt;/SPAN&gt; = &lt;SPAN&gt;ass&lt;/SPAN&gt;.&lt;SPAN&gt;SelectSet&lt;/SPAN&gt;
	&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;oSelSet&lt;/SPAN&gt;.&lt;SPAN&gt;Count&lt;/SPAN&gt; = 0 &lt;SPAN&gt;Then&lt;/SPAN&gt;
		&lt;SPAN&gt;MessageBox&lt;/SPAN&gt;.&lt;SPAN&gt;Show&lt;/SPAN&gt;(&lt;SPAN&gt;"Choose files before running the rule"&lt;/SPAN&gt;, &lt;SPAN&gt;"Error"&lt;/SPAN&gt;)
		&lt;SPAN&gt;Exit&lt;/SPAN&gt; &lt;SPAN&gt;Sub&lt;/SPAN&gt;
	&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;
	
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;i&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Integer&lt;/SPAN&gt; = 0
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;result&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Boolean&lt;/SPAN&gt;
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;Occ&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;ComponentOccurrence&lt;/SPAN&gt;
	&lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;Each&lt;/SPAN&gt; &lt;SPAN&gt;Occ&lt;/SPAN&gt; &lt;SPAN&gt;In&lt;/SPAN&gt; &lt;SPAN&gt;oSelSet&lt;/SPAN&gt;
		&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;OccDoc&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Document&lt;/SPAN&gt; = &lt;SPAN&gt;Occ&lt;/SPAN&gt;.&lt;SPAN&gt;Definition&lt;/SPAN&gt;.&lt;SPAN&gt;Document&lt;/SPAN&gt;
		&lt;SPAN&gt;'Get the file path and name with extension&lt;/SPAN&gt;
		&lt;SPAN&gt;oName&lt;/SPAN&gt; = &lt;SPAN&gt;System&lt;/SPAN&gt;.&lt;SPAN&gt;IO&lt;/SPAN&gt;.&lt;SPAN&gt;Path&lt;/SPAN&gt;.&lt;SPAN&gt;GetFullPath&lt;/SPAN&gt;(&lt;SPAN&gt;OccDoc&lt;/SPAN&gt;.&lt;SPAN&gt;FullFileName&lt;/SPAN&gt;)
		&lt;SPAN&gt;' change extensions by removing last 3 characters and adding stp&lt;/SPAN&gt;
		&lt;SPAN&gt;lenght_oName&lt;/SPAN&gt; = &lt;SPAN&gt;oName&lt;/SPAN&gt;.&lt;SPAN&gt;Length&lt;/SPAN&gt;
		&lt;SPAN&gt;lenght_we&lt;/SPAN&gt; = &lt;SPAN&gt;lenght_oName&lt;/SPAN&gt; - 3
		&lt;SPAN&gt;oName_we&lt;/SPAN&gt; = &lt;SPAN&gt;oName&lt;/SPAN&gt;.&lt;SPAN&gt;remove&lt;/SPAN&gt;(&lt;SPAN&gt;lenght_we&lt;/SPAN&gt;)
		&lt;SPAN&gt;oName_ne&lt;/SPAN&gt; = &lt;SPAN&gt;oName_we&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;"stp"&lt;/SPAN&gt;
		&lt;SPAN&gt;oNewName&lt;/SPAN&gt; = &lt;SPAN&gt;oName_ne&lt;/SPAN&gt;

		&lt;SPAN&gt;result&lt;/SPAN&gt; = &lt;SPAN&gt;ExportFiles&lt;/SPAN&gt;(&lt;SPAN&gt;OccDoc&lt;/SPAN&gt;, &lt;SPAN&gt;oNewName&lt;/SPAN&gt;)
		&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;result&lt;/SPAN&gt; = &lt;SPAN&gt;True&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt;
			&lt;SPAN&gt;i&lt;/SPAN&gt; = &lt;SPAN&gt;i&lt;/SPAN&gt; + 1
		&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;
	&lt;SPAN&gt;Next&lt;/SPAN&gt;
	&lt;SPAN&gt;MessageBox&lt;/SPAN&gt;.&lt;SPAN&gt;Show&lt;/SPAN&gt;(&lt;SPAN&gt;"Number of saved files: "&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;i&lt;/SPAN&gt;, &lt;SPAN&gt;"Result"&lt;/SPAN&gt;)
&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Sub&lt;/SPAN&gt;


&lt;SPAN&gt;Function&lt;/SPAN&gt; &lt;SPAN&gt;ExportFiles&lt;/SPAN&gt;(&lt;SPAN&gt;doc&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Document&lt;/SPAN&gt;, &lt;SPAN&gt;NewFileName&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt;) &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Boolean&lt;/SPAN&gt;
	&lt;SPAN&gt;' Get the STEP translator Add-In.&lt;/SPAN&gt;
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oSTEPTranslator&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;TranslatorAddIn&lt;/SPAN&gt;
	&lt;SPAN&gt;oSTEPTranslator&lt;/SPAN&gt; = &lt;SPAN&gt;ThisApplication&lt;/SPAN&gt;.&lt;SPAN&gt;ApplicationAddIns&lt;/SPAN&gt;.&lt;SPAN&gt;ItemById&lt;/SPAN&gt;(&lt;SPAN&gt;"{90AF7F40-0C01-11D5-8E83-0010B541CD80}"&lt;/SPAN&gt;)
	&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;oSTEPTranslator&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;MsgBox&lt;/SPAN&gt;(&lt;SPAN&gt;"Could not access STEP translator."&lt;/SPAN&gt;)
		&lt;SPAN&gt;ExportFiles&lt;/SPAN&gt; = &lt;SPAN&gt;False&lt;/SPAN&gt;
		&lt;SPAN&gt;Exit&lt;/SPAN&gt; &lt;SPAN&gt;Function&lt;/SPAN&gt;
	&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;

	&lt;SPAN&gt;oContext&lt;/SPAN&gt; = &lt;SPAN&gt;ThisApplication&lt;/SPAN&gt;.&lt;SPAN&gt;TransientObjects&lt;/SPAN&gt;.&lt;SPAN&gt;CreateTranslationContext&lt;/SPAN&gt;
	&lt;SPAN&gt;oContext&lt;/SPAN&gt;.&lt;SPAN&gt;Type&lt;/SPAN&gt; = &lt;SPAN&gt;IOMechanismEnum&lt;/SPAN&gt;.&lt;SPAN&gt;kFileBrowseIOMechanism&lt;/SPAN&gt;
	&lt;SPAN&gt;oOptions&lt;/SPAN&gt; = &lt;SPAN&gt;ThisApplication&lt;/SPAN&gt;.&lt;SPAN&gt;TransientObjects&lt;/SPAN&gt;.&lt;SPAN&gt;CreateNameValueMap&lt;/SPAN&gt;
	&lt;SPAN&gt;oData&lt;/SPAN&gt; = &lt;SPAN&gt;ThisApplication&lt;/SPAN&gt;.&lt;SPAN&gt;TransientObjects&lt;/SPAN&gt;.&lt;SPAN&gt;CreateDataMedium&lt;/SPAN&gt;
	&lt;SPAN&gt;oData&lt;/SPAN&gt;.&lt;SPAN&gt;FileName&lt;/SPAN&gt; = &lt;SPAN&gt;NewFileName&lt;/SPAN&gt;
	&lt;SPAN&gt;oNewName&lt;/SPAN&gt; = &lt;SPAN&gt;NewFileName&lt;/SPAN&gt;
	&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;oSTEPTranslator&lt;/SPAN&gt;.&lt;SPAN&gt;HasSaveCopyAsOptions&lt;/SPAN&gt;(&lt;SPAN&gt;doc&lt;/SPAN&gt;, &lt;SPAN&gt;oContext&lt;/SPAN&gt;, &lt;SPAN&gt;oOptions&lt;/SPAN&gt;) &lt;SPAN&gt;Then&lt;/SPAN&gt;
		&lt;SPAN&gt;' Set application protocol.&lt;/SPAN&gt;
		&lt;SPAN&gt;' 2 = AP 203 - Configuration Controlled Design&lt;/SPAN&gt;
		&lt;SPAN&gt;' 3 = AP 214 - Automotive Design&lt;/SPAN&gt;
		&lt;SPAN&gt;oOptions&lt;/SPAN&gt;.&lt;SPAN&gt;Value&lt;/SPAN&gt;(&lt;SPAN&gt;"ApplicationProtocolType"&lt;/SPAN&gt;) = 3
		&lt;SPAN&gt;'oOptions.Value("Author") = ""&lt;/SPAN&gt;
		&lt;SPAN&gt;'oOptions.Value("Authorization") = ""&lt;/SPAN&gt;
		&lt;SPAN&gt;'oOptions.Value("Description") = ""&lt;/SPAN&gt;
		&lt;SPAN&gt;'oOptions.Value("Organization") = ""&lt;/SPAN&gt;

		&lt;SPAN&gt;'check if file exists and if it does, delete it.&lt;/SPAN&gt;
		&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oFileInfo&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;IO&lt;/SPAN&gt;.&lt;SPAN&gt;FileInfo&lt;/SPAN&gt;(&lt;SPAN&gt;oNewName&lt;/SPAN&gt;)

		&lt;SPAN&gt;Try&lt;/SPAN&gt;
			&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;oFileInfo&lt;/SPAN&gt;.&lt;SPAN&gt;Exists&lt;/SPAN&gt; = &lt;SPAN&gt;True&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt;
				&lt;SPAN&gt;If&lt;/SPAN&gt; (&lt;SPAN&gt;oFileInfo&lt;/SPAN&gt;.&lt;SPAN&gt;Attributes&lt;/SPAN&gt;) &lt;SPAN&gt;Then&lt;/SPAN&gt;
					&lt;SPAN&gt;oFileInfo&lt;/SPAN&gt;.&lt;SPAN&gt;Attributes&lt;/SPAN&gt; = (&lt;SPAN&gt;oFileInfo&lt;/SPAN&gt;.&lt;SPAN&gt;Attributes&lt;/SPAN&gt; &lt;SPAN&gt;And&lt;/SPAN&gt; &lt;SPAN&gt;Not&lt;/SPAN&gt; &lt;SPAN&gt;oFileInfo&lt;/SPAN&gt;.&lt;SPAN&gt;Attributes&lt;/SPAN&gt;.&lt;SPAN&gt;ReadOnly&lt;/SPAN&gt;)
					&lt;SPAN&gt;System&lt;/SPAN&gt;.&lt;SPAN&gt;IO&lt;/SPAN&gt;.&lt;SPAN&gt;File&lt;/SPAN&gt;.&lt;SPAN&gt;Delete&lt;/SPAN&gt;(&lt;SPAN&gt;oNewName&lt;/SPAN&gt;)
				&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;
			&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;
		
		&lt;SPAN&gt;Catch&lt;/SPAN&gt;
			
		&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Try&lt;/SPAN&gt;
		
		&lt;SPAN&gt;'finally save step file&lt;/SPAN&gt;

		&lt;SPAN&gt;oSTEPTranslator&lt;/SPAN&gt;.&lt;SPAN&gt;SaveCopyAs&lt;/SPAN&gt;(&lt;SPAN&gt;doc&lt;/SPAN&gt;, &lt;SPAN&gt;oContext&lt;/SPAN&gt;, &lt;SPAN&gt;oOptions&lt;/SPAN&gt;, &lt;SPAN&gt;oData&lt;/SPAN&gt;)
		&lt;SPAN&gt;ExportFiles&lt;/SPAN&gt; = &lt;SPAN&gt;True&lt;/SPAN&gt;
		&lt;SPAN&gt;' export file to vault&lt;/SPAN&gt;
		&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;iLogicVault&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;New&lt;/SPAN&gt; &lt;SPAN&gt;QuickstartiLogicLibrary&lt;/SPAN&gt;.&lt;SPAN&gt;QuickstartiLogicLib&lt;/SPAN&gt;
		&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;mVaultPath&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt; = &lt;SPAN&gt;iLogicVault&lt;/SPAN&gt;.&lt;SPAN&gt;ConvertLocalPathToVaultPath&lt;/SPAN&gt;(&lt;SPAN&gt;oNewName&lt;/SPAN&gt;)
		&lt;SPAN&gt;success&lt;/SPAN&gt; = &lt;SPAN&gt;iLogicVault&lt;/SPAN&gt;.&lt;SPAN&gt;AddFile&lt;/SPAN&gt;(&lt;SPAN&gt;oNewName&lt;/SPAN&gt;, &lt;SPAN&gt;mVaultPath&lt;/SPAN&gt;, &lt;SPAN&gt;True&lt;/SPAN&gt;)
		&lt;SPAN&gt;If&lt;/SPAN&gt; (&lt;SPAN&gt;success&lt;/SPAN&gt; &amp;lt;&amp;gt; &lt;SPAN&gt;True&lt;/SPAN&gt;)
			&lt;SPAN&gt;Logger&lt;/SPAN&gt;.&lt;SPAN&gt;Error&lt;/SPAN&gt;(&lt;SPAN&gt;"Failed to add/update stp file to Vault"&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;"Stp file successfully created and uploaded to Vault."&lt;/SPAN&gt;)
		&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;

    &lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;
&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Function&lt;/SPAN&gt;

&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 03 Aug 2023 09:01:12 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-ilogic/save-stp-files-to-vault/m-p/12146111#M155953</guid>
      <dc:creator>mich_rymut</dc:creator>
      <dc:date>2023-08-03T09:01:12Z</dc:date>
    </item>
  </channel>
</rss>

