I have a VB.NET app that iterates over a set of paths and opens files. Once the files are open I iterate the features and then close all docs. MY issue is that after some point the app just locks up. There are no loops that could become infinite loops. I left it to run overnight and it was locked up. When I check memory usage on the Solidworks process it was using 3,567,915 k or so.
I terminated the session of Solidworks, restarted manually and reloaded the file it was hung on. The new session of Solidworks was using about 500,000k memory or so.
The code is too long to post but I basically do this in pseudo code:
Get list of file using System directory services.
Filter some files out of the list for various reasons.
Open Solidworks by using:
swApp = New SldWorks.SldWorks
Iterate the file paths
If File.Exists(path) Then
Select Case System.IO.Path.GetExtension(path).ToUpper
docType = swDocumentTypes_e.swDocASSEMBLY
docType = swDocumentTypes_e.swDocPART
swPart = swApp.OpenDoc6(path, docType, swOpenDocOptions_e.swOpenDocOptions_Silent, "", errors, warnings)
Get some data from the file
Close the file using:
Is there some kind of garbage collecting I need to be doing?
Anybody have any ideas?
EDIT: By the way...If I open a new session of Solidworks it takes up something like 150,000K of memory.
Windows 7 Pro 64bit machine
Solidworks 2018 SP 0
I put a bunch of logging commands. It looks like my app has been hung on:
The command was issued 30 minutes ago and is stuck there. It's almost like the app is waiting for a prompt but I can't see it because the prompt app is running in the background. The SLDWORKS.exe process has 1,136,100k of memory allocated - way more than I would expect if all the files are closed.