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.
Solved by Jason.Rugg. Go to Solution.
If I run Inventor as an administrator I get anoither denied folder:
"Access to the path 'C:\Documents and Settings' is denied."
Could you shed your light on this one Curtis, please? BR, Johan
OK...
Would someone with 2020 installed test this code for me? Just copy the example-parts attached to: "C:\PTN_Part_Library\" and run the rule. If a number is asked, enter 110120 or 110130...
Many thanks
@Anonymous Copied your code as is from above and ran it on one of your supplied files and it appears to be working just fine.
sorry, just saw this mention from 3 weeks ago... looks like its been resolved now though
Can't find what you're looking for? Ask the community or share your knowledge.