This started as a simple macro that simply turned a solidworks BOM into an excel but ended growing astronomically, my only recommendation for anyone starting a project like this or simply a macro is ...
Minimal pattern for bridging SolidWorks with Python: a Python script launches SolidWorks and runs a macro; the macro (VBA/VB/C#) does the SolidWorks-side work (export DXF/CSV/images, etc.) and then ...