I'm getting there.
I realize code is very difficult to debug when you don't have the luxury of running it on your own computer in the software it's generating the error in, and being able to rapidly follow the string of interrelated errors.
I've had the "joy" of debugging Python code written in an earlier version and then run in a later version. :|
Currently I seem to be having problems with the DuplicateShapeToSamePlace subroutine.
It looks like you have tmpshp1, tmpShp2, tmpshp, and InvoluteShp as variables, and I'm running into undefined variable errors and a failure to properly call the sub with the required arguments.
I wish I was more familiar with VISIO's macro language, but right now I'm just hacking and butchering the code.

I did however get it to mostly draw the involute curve(s), although they all look like they got rotated out of tangent.
I'll keep working on it.
Can you tell me how to edit the macro code and then save it, and how to clear the drawing page of the macro-generated involute so that I can save the VSD file and re-run the macro with the new edits?
Thanks!