ds-blue-logo
Preview  |  SOLIDWORKS USER FORUM
Use your SOLIDWORKS ID or 3DEXPERIENCE ID to log in.
ESEric Snyder03/07/2018

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

                Case ".SLDASM"

                    docType = swDocumentTypes_e.swDocASSEMBLY

                Case "SLDPRT"

                    docType = swDocumentTypes_e.swDocPART

                Case Else

                    Return Nothing

            End Select

            swPart = swApp.OpenDoc6(path, docType, swOpenDocOptions_e.swOpenDocOptions_Silent, "", errors, warnings)

            Get some data from the file

            Close the file using:

            swApp.CloseAllDocuments(True)

End iteration

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

16G ram

Solidworks 2018 SP 0