<?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: Mirroring a folder of .ipt files with iLogic in Inventor Programming - iLogic, Macros, AddIns &amp; Apprentice</title>
    <link>https://forums.autodesk.com/t5/inventor-programming-ilogic/mirroring-a-folder-of-ipt-files-with-ilogic/m-p/12272318#M158505</link>
    <description>&lt;P&gt;Got most of the code complete now, there's one problem remaining.&lt;/P&gt;&lt;P&gt;The copied files are empty, theres no bodies inside;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Daan_M_0-1695897274696.png" style="width: 999px;"&gt;&lt;img src="https://forums.autodesk.com/t5/image/serverpage/image-id/1272910i1341AB3DEBB12432/image-size/large?v=v2&amp;amp;px=999" role="button" title="Daan_M_0-1695897274696.png" alt="Daan_M_0-1695897274696.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Code:&lt;/P&gt;&lt;LI-CODE lang="visual-basic"&gt;Imports System.Windows.Forms
Imports System
Sub Main
	
	oInvApp = ThisApplication
	Dim oTemplate As String = "X:\CAD_3D\00 - Inventor standaard (NIET AANKOMEN)\Templates\Standard.ipt"
	
	Dim oFBD = New FolderBrowserDialog()
	oFBD.ShowDialog()
	Dim oSFolder = oFBD.SelectedPath	
	If String.IsNullOrEmpty(oSFolder) Then Exit Sub
	Dim oFiles() As String = IO.Directory.GetFiles(oSFolder, "*.ipt")
	If oFiles.Length = 0 Then Exit Sub
	Dim i As Integer = 0 
	
		For Each oFile In oFiles
			Dim oFileName As String = IO.Path.GetFileName(oFiles(i))
			Dim oFileNameWE As String = IO.Path.GetFileNameWithoutExtension(oFiles(i))
			Call MirDer(oFiles(i), oFileNameWE, oSFolder)
			i = i + 1
		Next
End Sub
	
	Dim oInvApp = ThisApplication
	
Private Function MirDer(ByVal oFileName As String, ByVal oFileNameWE As String, ByVal oSFolder As String)
	
	Dim CopyDoc As PartDocument = oInvApp.Documents.Add(kPartDocumentObject, oTemplate, False)
	Dim oPCD As Inventor.PartComponentDefinition = CopyDoc.ComponentDefinition
	Dim oDPD As Inventor.DerivedPartDefinition = oPCD.ReferenceComponents.DerivedPartComponents.CreateUniformScaleDef(oFileName)
	
	oDPD.MirrorPlane = kDerivedPartMirrorPlaneYZ
	Dim oDPC As DerivedPartComponent = oPCD.ReferenceComponents.DerivedPartComponents.Add(oDPD)

	Call oDPC.BreakLinkToFile()
	
	CopyDoc.SaveAs(oSFolder &amp;amp; "\" &amp;amp; oFileNameWE &amp;amp; "_Bsideadjust.ipt", False) 
	
	CopyDoc.Close(True)
	
End Function&lt;/LI-CODE&gt;</description>
    <pubDate>Thu, 28 Sep 2023 10:35:22 GMT</pubDate>
    <dc:creator>Daan_M</dc:creator>
    <dc:date>2023-09-28T10:35:22Z</dc:date>
    <item>
      <title>Mirroring a folder of .ipt files with iLogic</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-ilogic/mirroring-a-folder-of-ipt-files-with-ilogic/m-p/12272079#M158497</link>
      <description>&lt;P&gt;I would like to mirror an entire folder containing .ipt files.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Not sure how to do this through iLogic, but someone pointed out using the derive mirror option might be a possibility.&lt;/P&gt;&lt;P&gt;I got this far but it doesn't work, if anyone can help me that would be great, left some comments in the code.&lt;/P&gt;&lt;LI-CODE lang="visual-basic"&gt;Imports System.Windows.Forms
Imports System
Sub Main
	
	oInvApp = ThisApplication
	Dim oTemplate As String = "X:\CAD_3D\00 - Inventor standaard (NIET AANKOMEN)\Templates\Standard.ipt"
	
	Dim oFBD = New FolderBrowserDialog()
	oFBD.ShowDialog()
	Dim oSFolder = oFBD.SelectedPath	
	If String.IsNullOrEmpty(oSFolder) Then Exit Sub
	
	Dim oFiles() As String = IO.Directory.GetFiles(oSFolder, "*.ipt")
	If oFiles.Length = 0 Then Exit Sub
	
	Dim i As Integer = 0 
	
		For Each oFile In oFiles
			Dim oFileName As String = IO.Path.GetFileName(i)
			Call MirDer(oFiles(i))
			i = i + 1
		Next
End Sub
	
	Dim oInvApp = ThisApplication
	
Private Function MirDer(ByVal oFileName As String)
	
	Dim CopyDoc As PartDocument = oInvApp.Documents.Add(kPartDocumentObject, oTemplate, False)
	Dim oRefComps As ReferenceComponents = CopyDoc.ComponentDefinition.ReferenceComponents
	Dim oDerivedPartDef As DerivedPartDefinition
	
	'something wrong here because i used oDerivedAssemblyDef and simply changed it to PartDef
	'The mirroring still needs to be put in the code
	'Any origin plane would be ok
	
		oDerivedPartDef = oRefComps.DerivedPartComponents.CreateDefinition(oFileName)
		oDerivedPartDef.DeriveStyle = DerivedComponentStyleEnum.kDeriveAsMultipleBodies
		oDerivedPartDef.IncludeAllTopLevelWorkFeatures = DerivedComponentOptionEnum.kDerivedExcludeAll
		oDerivedPartDef.IncludeAllTopLevelSketches = DerivedComponentOptionEnum.kDerivedExcludeAll
		oDerivedPartDef.IncludeAllTopLeveliMateDefinitions = DerivedComponentOptionEnum.kDerivedExcludeAll
		oDerivedPartDef.IncludeAllTopLevelParameters = DerivedComponentOptionEnum.kDerivedExcludeAll
		Dim oDerivedAss As DerivedPartComponent
		oDerivedAss = oRefComps.DerivedAssemblyComponents.Add(oDerivedPartDef)
	
	Call oDerivedAss.BreakLinkToFile()
	CopyDoc.SaveAs(oSFolder &amp;amp; "\" &amp;amp; oFileName &amp;amp; "_Bsideadjust.ipt", False)
	CopyDoc.Close(True)
	
End Function&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 28 Sep 2023 08:28:28 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-ilogic/mirroring-a-folder-of-ipt-files-with-ilogic/m-p/12272079#M158497</guid>
      <dc:creator>Daan_M</dc:creator>
      <dc:date>2023-09-28T08:28:28Z</dc:date>
    </item>
    <item>
      <title>Re: Mirroring a folder of .ipt files with iLogic</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-ilogic/mirroring-a-folder-of-ipt-files-with-ilogic/m-p/12272147#M158501</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/8021187"&gt;@Daan_M&lt;/a&gt;,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Your code looks promising. &lt;img class="lia-deferred-image lia-image-emoji" src="https://forums.autodesk.com/html/@0E1C4C6A4039F60968930B2D80BE7018/emoticons/1f603.png" alt=":grinning_face_with_big_eyes:" title=":grinning_face_with_big_eyes:" /&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I don't have much time to addapt your code, so here is a small example I wrote to explain how to do the mirror :&lt;/P&gt;&lt;LI-CODE lang="visual-basic"&gt;Dim file As String = "X:\XX\XXXXX\XXXXX\XXXXXXX\XXXXX\XXXXXX\Door plate 3.ipt"

Dim doc As Inventor.PartDocument = ThisApplication.ActiveDocument
Dim pcd As Inventor.PartComponentDefinition = doc.ComponentDefinition

Dim def As Inventor.DerivedPartDefinition = pcd.ReferenceComponents.DerivedPartComponents.CreateUniformScaleDef(file)
def.MirrorPlane = kDerivedPartMirrorPlaneYZ

pcd.ReferenceComponents.DerivedPartComponents.Add(def)&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Kind regards,&lt;/P&gt;&lt;P&gt;FINET L.&lt;/P&gt;</description>
      <pubDate>Thu, 28 Sep 2023 08:59:18 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-ilogic/mirroring-a-folder-of-ipt-files-with-ilogic/m-p/12272147#M158501</guid>
      <dc:creator>FINET_Laurent</dc:creator>
      <dc:date>2023-09-28T08:59:18Z</dc:date>
    </item>
    <item>
      <title>Re: Mirroring a folder of .ipt files with iLogic</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-ilogic/mirroring-a-folder-of-ipt-files-with-ilogic/m-p/12272164#M158502</link>
      <description>&lt;P&gt;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/8021187"&gt;@Daan_M&lt;/a&gt;,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The code above makes a simple mirror. The rule should be fire from an empty part file (say your brand new one). I don't think you need so much options as you wrote (just my thoughts, as I said I don't have much time).&lt;/P&gt;&lt;P&gt;&lt;EM&gt;EDIT : The only thing I see that might be useful is the link breaking.&amp;nbsp;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Kind regards,&lt;/P&gt;&lt;P&gt;FINET L.&lt;/P&gt;</description>
      <pubDate>Thu, 28 Sep 2023 09:09:24 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-ilogic/mirroring-a-folder-of-ipt-files-with-ilogic/m-p/12272164#M158502</guid>
      <dc:creator>FINET_Laurent</dc:creator>
      <dc:date>2023-09-28T09:09:24Z</dc:date>
    </item>
    <item>
      <title>Re: Mirroring a folder of .ipt files with iLogic</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-ilogic/mirroring-a-folder-of-ipt-files-with-ilogic/m-p/12272318#M158505</link>
      <description>&lt;P&gt;Got most of the code complete now, there's one problem remaining.&lt;/P&gt;&lt;P&gt;The copied files are empty, theres no bodies inside;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Daan_M_0-1695897274696.png" style="width: 999px;"&gt;&lt;img src="https://forums.autodesk.com/t5/image/serverpage/image-id/1272910i1341AB3DEBB12432/image-size/large?v=v2&amp;amp;px=999" role="button" title="Daan_M_0-1695897274696.png" alt="Daan_M_0-1695897274696.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Code:&lt;/P&gt;&lt;LI-CODE lang="visual-basic"&gt;Imports System.Windows.Forms
Imports System
Sub Main
	
	oInvApp = ThisApplication
	Dim oTemplate As String = "X:\CAD_3D\00 - Inventor standaard (NIET AANKOMEN)\Templates\Standard.ipt"
	
	Dim oFBD = New FolderBrowserDialog()
	oFBD.ShowDialog()
	Dim oSFolder = oFBD.SelectedPath	
	If String.IsNullOrEmpty(oSFolder) Then Exit Sub
	Dim oFiles() As String = IO.Directory.GetFiles(oSFolder, "*.ipt")
	If oFiles.Length = 0 Then Exit Sub
	Dim i As Integer = 0 
	
		For Each oFile In oFiles
			Dim oFileName As String = IO.Path.GetFileName(oFiles(i))
			Dim oFileNameWE As String = IO.Path.GetFileNameWithoutExtension(oFiles(i))
			Call MirDer(oFiles(i), oFileNameWE, oSFolder)
			i = i + 1
		Next
End Sub
	
	Dim oInvApp = ThisApplication
	
Private Function MirDer(ByVal oFileName As String, ByVal oFileNameWE As String, ByVal oSFolder As String)
	
	Dim CopyDoc As PartDocument = oInvApp.Documents.Add(kPartDocumentObject, oTemplate, False)
	Dim oPCD As Inventor.PartComponentDefinition = CopyDoc.ComponentDefinition
	Dim oDPD As Inventor.DerivedPartDefinition = oPCD.ReferenceComponents.DerivedPartComponents.CreateUniformScaleDef(oFileName)
	
	oDPD.MirrorPlane = kDerivedPartMirrorPlaneYZ
	Dim oDPC As DerivedPartComponent = oPCD.ReferenceComponents.DerivedPartComponents.Add(oDPD)

	Call oDPC.BreakLinkToFile()
	
	CopyDoc.SaveAs(oSFolder &amp;amp; "\" &amp;amp; oFileNameWE &amp;amp; "_Bsideadjust.ipt", False) 
	
	CopyDoc.Close(True)
	
End Function&lt;/LI-CODE&gt;</description>
      <pubDate>Thu, 28 Sep 2023 10:35:22 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-ilogic/mirroring-a-folder-of-ipt-files-with-ilogic/m-p/12272318#M158505</guid>
      <dc:creator>Daan_M</dc:creator>
      <dc:date>2023-09-28T10:35:22Z</dc:date>
    </item>
    <item>
      <title>Re: Mirroring a folder of .ipt files with iLogic</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-ilogic/mirroring-a-folder-of-ipt-files-with-ilogic/m-p/12272472#M158511</link>
      <description>&lt;P&gt;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/8021187"&gt;@Daan_M&lt;/a&gt;,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Maybe I went too quick in my previous post. You might still need to add the command to add all the bodies in the part, since the default option may change with Inventor settings (I might be wrong here).&amp;nbsp;&lt;/P&gt;&lt;P&gt;Can you maybe test out the code on a single part instead, with just the document creation &amp;amp; the derive function to see the output? Maybe it is missing a&amp;nbsp;&lt;EM&gt;doc.Save&amp;nbsp;&lt;/EM&gt;or a&amp;nbsp;&lt;EM&gt;doc.Update&lt;/EM&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;FINET L.&lt;/P&gt;</description>
      <pubDate>Thu, 28 Sep 2023 12:04:07 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-ilogic/mirroring-a-folder-of-ipt-files-with-ilogic/m-p/12272472#M158511</guid>
      <dc:creator>FINET_Laurent</dc:creator>
      <dc:date>2023-09-28T12:04:07Z</dc:date>
    </item>
    <item>
      <title>Re: Mirroring a folder of .ipt files with iLogic</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-ilogic/mirroring-a-folder-of-ipt-files-with-ilogic/m-p/12272577#M158519</link>
      <description>&lt;P&gt;Output is given for single bodies.&lt;/P&gt;&lt;P&gt;Unfortunately not for multiple bodies&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Daan_M_0-1695906218002.png" style="width: 600px;"&gt;&lt;img src="https://forums.autodesk.com/t5/image/serverpage/image-id/1272948i99B4BC4E9F184439/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Daan_M_0-1695906218002.png" alt="Daan_M_0-1695906218002.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 28 Sep 2023 13:04:36 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-ilogic/mirroring-a-folder-of-ipt-files-with-ilogic/m-p/12272577#M158519</guid>
      <dc:creator>Daan_M</dc:creator>
      <dc:date>2023-09-28T13:04:36Z</dc:date>
    </item>
    <item>
      <title>Re: Mirroring a folder of .ipt files with iLogic</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-ilogic/mirroring-a-folder-of-ipt-files-with-ilogic/m-p/12272618#M158520</link>
      <description>&lt;P&gt;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/8021187"&gt;@Daan_M&lt;/a&gt;,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Are we talking about this ? (sorry for baguette language) :&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="FINET_Laurent_0-1695907710837.png" style="width: 600px;"&gt;&lt;img src="https://forums.autodesk.com/t5/image/serverpage/image-id/1272952i8103D943883FF7BA/image-size/medium?v=v2&amp;amp;px=400" role="button" title="FINET_Laurent_0-1695907710837.png" alt="FINET_Laurent_0-1695907710837.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;Here above a part with two solids. The folowing code is giving the correct output :&lt;/P&gt;&lt;LI-CODE lang="visual-basic"&gt;Dim file As String = "X:\XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\Pièce2.ipt"

Dim doc As Inventor.PartDocument = ThisApplication.ActiveDocument
Dim pcd As Inventor.PartComponentDefinition = doc.ComponentDefinition

Dim def As Inventor.DerivedPartDefinition = pcd.ReferenceComponents.DerivedPartComponents.CreateUniformScaleDef(file)
def.MirrorPlane = kDerivedPartMirrorPlaneYZ

Dim der As Inventor.DerivedPartComponent = pcd.ReferenceComponents.DerivedPartComponents.Add(def)
der.BreakLinkToFile()&lt;/LI-CODE&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="FINET_Laurent_1-1695907950827.png" style="width: 600px;"&gt;&lt;img src="https://forums.autodesk.com/t5/image/serverpage/image-id/1272956i0B0EEADCE7EC1838/image-size/medium?v=v2&amp;amp;px=400" role="button" title="FINET_Laurent_1-1695907950827.png" alt="FINET_Laurent_1-1695907950827.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Can you maybe provide a part that is not working ?&amp;nbsp;&lt;/P&gt;&lt;P&gt;Maybe add this line ? :&lt;/P&gt;&lt;LI-CODE lang="visual-basic"&gt;def.IncludeAllSolids&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Kind regards,&lt;/P&gt;&lt;P&gt;FINET L.&lt;/P&gt;</description>
      <pubDate>Thu, 28 Sep 2023 13:33:32 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-ilogic/mirroring-a-folder-of-ipt-files-with-ilogic/m-p/12272618#M158520</guid>
      <dc:creator>FINET_Laurent</dc:creator>
      <dc:date>2023-09-28T13:33:32Z</dc:date>
    </item>
    <item>
      <title>Re: Mirroring a folder of .ipt files with iLogic</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-ilogic/mirroring-a-folder-of-ipt-files-with-ilogic/m-p/12272639#M158522</link>
      <description>&lt;P&gt;Here's my code &amp;amp; two test files, thank you&lt;/P&gt;&lt;LI-CODE lang="general"&gt;Imports System.Windows.Forms
Imports System
Sub Main
	
	oInvApp = ThisApplication
	Dim oTemplate As String = 'Template path
	
	Dim oFBD = New FolderBrowserDialog()
	oFBD.ShowDialog()
	Dim oSFolder = oFBD.SelectedPath	
	If String.IsNullOrEmpty(oSFolder) Then Exit Sub
	Dim oFiles() As String = IO.Directory.GetFiles(oSFolder, "*.ipt")
	If oFiles.Length = 0 Then Exit Sub
	Dim i As Integer = 0 
		For Each oFile In oFiles
			Dim oFileName As String = IO.Path.GetFileName(oFiles(i))
			Dim oFileNameWE As String = IO.Path.GetFileNameWithoutExtension(oFiles(i))
			Call MirDer(oFiles(i), oFileNameWE, oSFolder)
			i = i + 1
		Next
End Sub
	
	Dim oInvApp = ThisApplication
	
Private Function MirDer(ByVal oFileName As String, ByVal oFileNameWE As String, ByVal oSFolder As String)
	
	Dim CopyDoc As PartDocument = oInvApp.Documents.Add(kPartDocumentObject, oTemplate, False)
	Dim oPCD As Inventor.PartComponentDefinition = CopyDoc.ComponentDefinition
	Dim oDPD As Inventor.DerivedPartDefinition = oPCD.ReferenceComponents.DerivedPartComponents.CreateUniformScaleDef(oFileName)
	
	oDPD.MirrorPlane = kDerivedPartMirrorPlaneXY
	
	
	Dim oDPC As DerivedPartComponent = oPCD.ReferenceComponents.DerivedPartComponents.Add(oDPD)
 	oDPC.BreakLinkToFile()
	
	CopyDoc.Update()
	CopyDoc.SaveAs(oSFolder &amp;amp; "\" &amp;amp; oFileNameWE &amp;amp; "_Bsideadjust.ipt", False)
	CopyDoc.Close(True)
	
End Function&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 28 Sep 2023 13:45:24 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-ilogic/mirroring-a-folder-of-ipt-files-with-ilogic/m-p/12272639#M158522</guid>
      <dc:creator>Daan_M</dc:creator>
      <dc:date>2023-09-28T13:45:24Z</dc:date>
    </item>
    <item>
      <title>Re: Mirroring a folder of .ipt files with iLogic</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-ilogic/mirroring-a-folder-of-ipt-files-with-ilogic/m-p/12272760#M158525</link>
      <description>&lt;P&gt;Found the problem, for future people, this code lets you:&lt;/P&gt;&lt;P&gt;- Select a windows folder&lt;/P&gt;&lt;P&gt;- It will find all .ipt files in it&lt;/P&gt;&lt;P&gt;- Mirror all the .ipt files, regardless if they are&amp;nbsp; a single or multibody part&lt;/P&gt;&lt;P&gt;- Save the .ipt files as COPY into a new folder called "Output"&lt;/P&gt;&lt;P&gt;- Dont forget to set your own part template file location in the code&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="visual-basic"&gt;Imports System.Windows.Forms
Imports System
Sub Main
	
	oInvApp = ThisApplication
	Dim oTemplate As String = '.IPT TEMPLATE FILE e.g. "X\Templates\Partemplate.ipt"
	
	Dim oFBD = New FolderBrowserDialog()
	oFBD.ShowDialog()
	Dim oSFolder = oFBD.SelectedPath	
	If String.IsNullOrEmpty(oSFolder) Then Exit Sub
	Dim oFiles() As String = IO.Directory.GetFiles(oSFolder, "*.ipt")
	If oFiles.Length = 0 Then Exit Sub
	Dim i As Integer = 0 
		For Each oFile In oFiles
			Dim oFileName As String = IO.Path.GetFileName(oFiles(i))
			Dim oFileNameWE As String = IO.Path.GetFileNameWithoutExtension(oFiles(i))
			Call MirDer(oFiles(i), oFileNameWE, oSFolder)
			i = i + 1
		Next
End Sub
	
	Dim oInvApp = ThisApplication
	
Private Function MirDer(ByVal oFileName As String, ByVal oFileNameWE As String, ByVal oSFolder As String)
	
	Dim CopyDoc As PartDocument = oInvApp.Documents.Add(kPartDocumentObject, oTemplate, False)
	Dim oPCD As Inventor.PartComponentDefinition = CopyDoc.ComponentDefinition
	Dim oDPD As Inventor.DerivedPartDefinition 
	oDPD = oPCD.ReferenceComponents.DerivedPartComponents.CreateUniformScaleDef(oFileName)
	oDPD.IncludeAllSolids = DerivedComponentOptionEnum.kDerivedIncludeAll
	
	
	oDPD.MirrorPlane = kDerivedPartMirrorPlaneXY
	
	Dim oDPC As DerivedPartComponent = oPCD.ReferenceComponents.DerivedPartComponents.Add(oDPD)
 	oDPC.BreakLinkToFile()
	
	CopyDoc.Update()
	
	Dim OutputFolder As IO.DirectoryInfo = IO.Directory.CreateDirectory(oSFolder &amp;amp; "\Output")
	CopyDoc.SaveAs(OutputFolder.FullName &amp;amp; "\" &amp;amp; oFileNameWE &amp;amp; "_MIRROR_.ipt", False)
	CopyDoc.Close(True)
	
End Function&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 28 Sep 2023 14:43:16 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-ilogic/mirroring-a-folder-of-ipt-files-with-ilogic/m-p/12272760#M158525</guid>
      <dc:creator>Daan_M</dc:creator>
      <dc:date>2023-09-28T14:43:16Z</dc:date>
    </item>
  </channel>
</rss>

