The generate_3d_data script has fallen into disrepair and hasn't seen any improvements in over two and a half years.
I needed to generate 3D board data for a customer, so I took the opportunity to make some fixes. In my research I found that FreeCAD (exactly what it sounds like) has an IDF import function. Unfortunately that module (idf.py) is not installed in the default Windows distribution, but it is easy to copy and paste.
The old version of generate_3d_data had many issues that were incompatible with the FreeCAD import filter. With some guessing and testing I made it work. I think the rest of the operation of generate_3d_data is unchanged. It may still have some pre-existing bugs, and I may have introduced new bugs. For my purposes it seems to be working very well.
What I don't know know is if this new version is compatible with other 3D CAD packages. I have a friend testing SolidWorks, but I don't have access to any of the other packages. I would appreciate help testing if you have other systems available.
From FreeCAD you can generate STEP, IGES, and many other formats after the IDF file is imported.
The new version 0.90 ulp is attached.
Merry Christmas!