In order to grab all the shapes in a WordProcessingDocument
you can use linq to traverse all the descendants of the body:
using (WordprocessingDocument wordDoc = WordprocessingDocument.Open(stream, true))
{
IEnumerable shapes = wordDoc.MainDocumentPart.Document.Body.Descendants();
}