For something this complex, you may have an easier time with C#. All of your enumerations get Intellisensed, for example.<p>I also recommend creating a standalone C# application, rather than trying to fit in the confines of a typical Solidworks Macro. Sure, you don&#x27;t get a little button in the toolbar saying &#x27;Export&#x2F;Import&#x27;, but instead you have the full flexibility of a console (or graphical diff potentially) application.<p>In the short term (I noticed your last commit was 7 months ago), you may&#x2F;may not know about the Solidworks &#x27;Compare&#x27; utility. In 2015, Tools-&gt;Compare. In the Solidworks Tutorials there is a small and trivial example of using it.<p>Interesting idea overall of trying to encapsulate a SLDPRT as a yaml. I imagine that assemblies are going to be a bear in this fashion.<p>Have you looked into trying to reverse the SLDPRT file format? It must be possible if other companies are offering the option to import a SLDPRT (I believe the last time I used Creo there was a MVP importer).