Message 1 of 6

Not applicable
05-10-2019
09:38 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
It seems the code Curtis once wrote for me doesn't work in 2020, it does in 2018. I just wanted to test this code on 2020 before migrating. Has anyone has a clue what this issue might be? Many Thanks!
Imports System.IO GetInput : Six_Digit = InputBox("Enter 6 Digit number", "iLogic", 000000) If Six_Digit = "" Then Return Else If Len(Six_Digit) <> "6" Then MessageBox.Show("Input must be 6 digits", "ilogic") GoTo GetInput End If Dim oDoc As Document Dim sFilename As String 'hard code path 'oLibrary_Folder = "U:\Johan\PTN_Part_Library\" oLibrary_Folder = "C:\PTN_Part_Library\" Dim oFilenames() As String oFilenames = System.IO.Directory.GetFiles(oLibrary_Folder, _ "*.*", SearchOption.AllDirectories) For Each oFilename As String In oFilenames If oFilename.Contains(Six_Digit) Then Dim oOptions As Inventor.NameValueMap oOptions = ThisApplication.TransientObjects.CreateNameValueMap oDoc = ThisApplication.Documents.OpenWithOptions(oFilename, oOptions, False) sFilename = oFilename Exit For End If Next If sFilename = "" Then MessageBox.Show("No matching libary file found.", "iLogic") Return End If iCounter = 0 'path from current file oActiveAssemblyfolder = ThisDoc.Path & "\" 'path from current project file ( *.ipj) oProjectfolder = _ ThisApplication.DesignProjectManager.ActiveDesignProject.WorkspacePath & "\" Dim oProject_Filenames() As String oProject_Filenames = System.IO.Directory.GetFiles(oProjectfolder, _ "*.*", SearchOption.AllDirectories) 'count existing project files For Each oFilename As String In oProject_Filenames If oFilename.Contains(Six_Digit) Then iCounter = iCounter + 1 End If Next 'increment counter iCounter = iCounter + 1 'find the postion of the last backslash in the path FNamePos = InStrRev(sFilename, "\", - 1) 'get the file name with the file extension oName = Right(sFilename, Len(sFilename) - FNamePos) 'get the file name (without extension) ShortName = Left(oName, Len(oName) - 4) 'get extension oExt = Right(oName, 4) If iCounter < 10 Then iCounter = "00" + CStr(iCounter) ElseIf iCounter < 100 Then iCounter = "0" + CStr(iCounter) Else iCounter = CStr(iCounter) End If oNewName = ShortName & "_" & iCounter oPathandName = oActiveAssemblyfolder & oNewName & oExt 'save new document oDoc.SaveAs(oPathandName, True) oDoc.Close '[ Place Component Dim oAsmCompDef As AssemblyComponentDefinition oAsmCompDef = ThisApplication.ActiveDocument.ComponentDefinition ' Create Matrix Dim oMatrix As Matrix oMatrix = ThisApplication.TransientGeometry.CreateMatrix Call oMatrix.SetTranslation(ThisApplication.TransientGeometry.CreateVector(50, 50, 50), True) 'insert new occurence Dim oOcc As ComponentOccurrence oOcc = oAsmCompDef.Occurrences.Add( _ oPathandName, oMatrix) oOcc.Grounded = False ThisDoc.Document.SelectSet.Select(oOcc) '] 'MessageBox.Show("New file created: " & vbLf & oPathandName, "iLogic")
Solved! Go to Solution.