Accessing geometry data from native .sldprt files

Hello,

I am looking to develop a desktop application that will be able to accept a .sldprt file as its input, and from that, extract geometry data so that the application can work with them. The application is currently set up to handle STL files but, I would like to be able to work directly with the native files instead of running a conversion to another format. 

Another question I have relates to the format of the .sldprt files, do they hold data relating to normals and vertices too, or are they structured differently?

 

Many thanks for any assistance.