Hi Jose,
Have a look at this Standalone Application.
The main things I changed from the template are the imports in line 3-4 (Numpy, and MatPlotLib) and line 151 until the end of the file.
The application needs the Double Gauss file, which is installed by default (unless you moved it elsewhere), and a dummy macro I created to emulate your own macro, which you can find in the repository.
I tried to answer your points with comments in my code. I didn't quite understood what you mean with 4., but maybe you can clarify later on.
Take your time to review the code, its not your average ZOS-API snipet, but I hope it can serve other people on the forums as well, and we can discuss it later on.
The main takeaway is that, in my opinion, you can move away from ZPL, and implement everything with the ZOS-API.
As for resources, I recommend starting with the 5-hour learning path Getting Started with the ZOS-API. Then, I find the search box in My.Zemax to be quite good to find relevant knowledgebase articles, and other forum posts. Finally, try to get use to the way the ZOS-API Syntax Help is structured. Ultimately, this is your best resource for the ZOS-API.
I hope this helps. Take care,
David