For Valentine’s Day 2020, I made my wife a necklace with three CNC-milled charms, each with a representation of the positions of the planets on specific important days: the day we started dating, and the birthdays of our two children.
First, I developed some Python code to generate the images I needed. Since it was graphical and I knew I’d have to play around, I created a Jupyter notebook. (You can play around with my code, too! Change the date and make your own with Binder or Colab!)
You can click through on the Python, but I use sunpy to get coordinates of the planets at a specific time.
After I played around with the data, I created a ray for each planet, starting from the sun, aimed at the planet.
I then saved an SVG for each of the dates for import into my CAD/CAM tool.
CAD/CAM; or “transforming the artwork to something millable”
Once I had the SVG, I created a Fusion 360 project. I made a sketch with three circles, imported the SVGS, and added little holes for the jump rings. An extrusion later, and tada!
In the Fusion 360 CAM view, I set up a trace operation with an engraving bit, and then a 2D Pocket and 2D Contour operation with a 1/16″ flat end mill.
I loaded up an anodized aluminum wallet card (which also lasers really really well, by the way!) into my Othermill V2, and a few minutes later, the charms were ready.
After loading the first set onto jump rings and then onto a necklace chain, the charms seemed too big, so I went back to Fusion 360 and shrunk the charms down, recut, and a few minutes later, I was finished.
I think this project turned out quite well. Using a Jupyter Notebook was a huge win, although PyCharm in late 2019 tends to freeze when using it. I really like that using Colab or Binder, folks can open a webpage and use my code–without me having to think about it being a web service when rigging code together. I love laser cutters and 3D printers, but sometimes milling is such a perfect fit for a project.