The company I work for has a C/C++ Vector library that might help you with this.
You can use the L_VecLoadFile function to open different types of files, including DWG, DXF, SVG, DGN, GBR and many others.
You can then use the L_VecEnumObjects function to obtain all the vector objects inside the loaded file. For each object, you can use any of the various functions in the library to examine that object’s properties. For example the L_VecGetObjectParallelogram function gives you the parallelogram that contains the specified object, including 2 points that represent the minimum and maximum 3-D points of the bounding parallelogram.
If you would like to try it, there’s a free evaluation edition of LEADTOOLS you can download. The evaluation comes with demos source code for C/C++, and free technical support.