Machining a Rust logo using Discord

Final logo on Laptop

I recently visited Laura at the ccc in Aachen, and needed a dumb project for the night, and so the idea of CNC'ing a Rust logo from Copper came up, because I'm a huge Rust fangirl and have a Laptop with copper accents. As this was my first time working with CNC, this is a one-off, I worked together with someone else using FreeCAD, and it was quite rushed, the process for making it was very cursed, and I wanted to share it.

The first step wasn't too bad, which was downloading the rust logo from the official website through the dev tools. Unfortunately, this was done on the computer with FreeCAD and when importing the SVG into it, the edges of the cogs weren't how they're supposed to be. This is likely because the Rust logo uses "advanced" SVG features for that that FreeCAD doesn't support.
Trying to import it also showed one of the major problems with FreeCAD for this project, which was that dealing with this kind of imported data is quite hard.

So, the SVG was sent over Discord (obviously the best file-sharing application /s) to the other computer, which was logged into Onshape, which is better at dealing with imported data. Unfortunately, Onshape doesn't support SVG import at all, but it does support DXF files, which Inkscape can output. But after importing the exported DXF, the edges of the cogs were still misshapen. So there needed to be some way of getting rid of those "advanced" features, and I had just the idea: export as PNG and have Inkscape trace the outline. And that worked, except that now the font was a different one. In the PNG. So somehow, the PNG export in Inkscape didn't exactly match the file (I can't reproduce this now, so idk what went wrong). Another quick hack: Just take a screenshot. So I did, and that worked (the screenshot was also saved using Discord). I could then export the traced image of the screenshot as a DXF, import that into Onshape, quickly extrude it into a cylinder of the right dimensions, and export that model as a STEP file. That STEP file was then sent over Discord to the FreeCAD PC, where tool paths could then be generated, manually post-processed and sent to the CNC.

On the CNC, we used some scrap plastic to make a surface parallel to the tool head and glued some 3 mm copper to it. After the glue had dried and the first tool attached, the only thing left was to hit run on it, wait, change the tool and repeat.

No Rust yet

Rust logo still on the CNC