Playing with openscad - Not Tested
Remix of my old stuff - lost old PC so redid some blocks
will add more later