# Designing Sputnik holiday ornaments in FreeCAD

For obvious reasons I'm unable to travel for the holidays this year, so I designed some gifts that family members can print themselves. These are midcentury-inspired geometric dingbats that are based on Platonic polyhedral symmetries. I made ones with 12, 20, and 30 spikes corresponding to icosahedral, dodecahedral, and edge-midpoints of icosahedra (and dodecahedra as it turns out!)

Because these would have been tedious if not impossible to make by hand, I wrote a Python script in FreeCAD to generate these shapes. Building an icosahedron is straightforward (see my Instructable about this), and the 12 vertices of the icosahedron are the face normals of the dual dodecahedron. A cone on each vertex vector and a sphere at the end make up a spike. I used vector operations to rotate each spike and scale them so the sputniks were oblate spheroids rather than perfectly round. Anyway the ones with more spikes look a little too busy to me so I concentrated on the dodecahedral 12-spike one.

Here's the github repository with the generating Python script, the generated FreeCad files, and stl files. For 3D printing, I divided each shape into two halves. The 12-spike ornament is perfectly symmetrical around the half plane so you can just print two copies of the top half from this file: top12spikes.stl. I used .15 mm slicing with supports (needed for the dingbats).

Each half has two alignment holes on either side of a hanging hole drilled all the way through. By cutting small bits of 1.75mm printer filament and inserting them in the alignment holes you can make sure both halves line up perfectly. You can glue the two halves together or just rely on gravity.

There is a small space in the center for a knot, or the central hole goes all the way through. You can then hang them by inserting a string or monofilament through the central hole, or they stand nicely on their bottom tripod as a desk or table ornament.

I printed them using transparent PLA which gave them a nice icy translucency, but you may use anything you want.

Share & enjoy!