I have expanded on the Spiro script by adding three more types of roulettes and a couple of other functions.
R is the stator, the wheel which the rotor (r) revolves around (or inside of).
d sets the drawing point distance from the rotors center on the epitrochoid and the hypotrochoid roulettes.
Plot/angle controls how often a new point will be plotted.
I have intentionally left out the pointsToCurve command because it didn't seem to plot the graph as exact as I wanted. The script will generate quite a few points so either increase the plot/angle value or run the Path/Simplify function afterwards.
11/04/18 * UPDATE *
Updated this script to work with the new Scriptographer UI. Let me know if there are any snags.