List parts that are loaded into memory

Creator
Creator

Hello. I am searching for a way to list or find all the parts that are active in Solid edge ST7 and list these. The parts may be active or inactive in an open assembly or the may be in the background and loaded ot stuck in memory. This would give another user a read only part.

It seems we are running into this issue a lot and if I can find them we can close them. I think this is a little bit of a bug but still searching.

 

 

Thank you,

Jason

7 REPLIES

Re: List parts that are loaded into memory

Solution Partner Phenom Solution Partner Phenom
Solution Partner Phenom

I assume that since you posted this in the programming forum that you're looking for a code way to accomplish this task. I don't have a specifc example but a google search of "programmatically find files open by process" yielded some interesting results.

 

There are also apps that can do this for you. For example, Process Explorer can tell you what files a given process has open.

 

ProcessExplorer.png

Jason Newell
Applications Architect
www.jasonnewell.net

Re: List parts that are loaded into memory

Creator
Creator

Jason,

     Thank you for the ideas. I was looking for a code way to see what files solid edge has loaded into memory. We are running into files being present in a sub-assembly that a user cannot open with write access. This file is also present in another subassembly opened con-currently by user2.

They both show as inactive in the edge bar and they show up as read access in "open file management on the file server" for both users. Most of the time just closing the assembly does not release the part. One of the users has to completely close Solid edge. This has become a common headache since moving to ST7. I had hoped for a solution similar to the excellent "Close Multiple" program  that Tushar had created and shared with the community.

 

Thanks,

Jsmith

Re: List parts that are loaded into memory

Solution Partner Phenom Solution Partner Phenom
Solution Partner Phenom

Couple of random thoughts:

  • Do you have any custom addins running?
  • Have you configured your antivirus to exclude all SE file types?
Jason Newell
Applications Architect
www.jasonnewell.net

Re: List parts that are loaded into memory

Creator
Creator

- I verified that all SE file types are added as exclusions.

- We do not have any custom addins running or created. 

 

Also there is an Ir#7308131 created for this issue that was filed by our reseller.

Re: List parts that are loaded into memory

Phenom
Phenom

I posted on a similar problem we have with ST6 in the Solid Edge User forum.

We have never found a solution and will soon be moving to ST7.

I was hoping that might fix the problem, but maybe not.

We have our files stored on a NAS drive, and I think the suggestion was that something in our setup was causing the problem.

.I'm inclined to agree with this as we are also having occasional problems recently with files disappearing from the system. Some have gone completely and we have to get versions from backup. Others seem to get deleted and appear in a Recycle Bin.

We also have occasional problems with Revision Manager when renaming files - sometimes we get a message that the original file cannot be deleted (rename being copy the delete original).

Sometimes the file gets removed anyway, but other times we have to delete it manually.

 

Found the thread -

http://community.plm.automation.siemens.com/t5/Solid-Edge-Forum/Files-staying-locked/m-p/285718#U285...

 

HP Z420 16GB RAM
Quadro K4000
ST7 MP10 on Windows 7 Pro 64.

Re: List parts that are loaded into memory

Solution Partner Pioneer Solution Partner Pioneer
Solution Partner Pioneer

I had a similar problem i have dealed from a different point of view.

What i would really like to know is if a file resource is locked (i.e. something, maybe solidedge, have placed a lock on it).

 

 

    Public Shared Function IsFileLocked(ByVal FileName As String) As Boolean
        Dim objFS As System.IO.FileStream
        Try
            If Not IO.File.Exist(FileName) Then Exit Function

            'attempt to open the file
            objFS = IO.File.Open(FileName, System.IO.FileMode.Open)
            objFS.Close()
            Return False
        Catch ex As Exception
            'if err.number = 57, then you know that another
            'process, i.e., FTP Transfer, has a lock on it
            'and you can't use it until it is freed up.
            Return True
        End Try
    End Function

 

Whenever i iave found that the resource is locked, i attempt to connect with SolidEdge and clear (close) everything inside, hoping to release the lock.

 

Hope this helps,

 

Paolo Marani

 

Re: List parts that are loaded into memory

Creator
Creator

Paolo,

     Thanks for the example code. I am at a loss if there is any way to use this information to get Solid edge to drop its lock on the file. Using the suggestion from Jason Newell I can see in Process Explorer that the files are locked by Edge.exe. When I look at the session of Solid Edge

I see that the part is inactive in the edge bar and the assembly was opened with all parts inactive.

But the part(s) are locked from write access until Assembly is closed. Or occasionally the session of Solid edge is ended.

 

Thanks again for the ideas.

Jason