Just in Time: Clocks!

Also published at Shapeways Magazine

Need a last-minute gift for a special person on your holiday list?  You can create a unique, custom 3D-printed clock with just a little bit of design knowledge and an inexpensive battery-powered clock kit like this $8 Youngtown Silent Clock Mechanism with Small Hands:

You’ve got from now to the second week of December to get a 3D design together, if you want to order a 3D print before the Shapeways Material Cut-Off Dates for the holidays. In this post we’ll show you how you can create a custom 3D-printable clock face with three different software programs. Don’t have time for that? Skip to the end to see how you can customize a retro clock very quickly with our Sunburst Clock Maker.

Beginner: Tinkercad

Even if you’ve never created a 3D design before, it’s easy to get started with Tinkercad, a free in-browser 3D design tool with a simple drag-and-drop interface. To get started, sign up for a free account and check out the All3DP video Getting Started in Tinkercad: A Tutorial for Complete Beginners. Once you know a few Tinkercad tricks, you can create complex designs from very simple combinations of shapes; throughout this post we’ll link to helpful YouTube videos to show you exactly what you need to know.

To make a simple clock in Tinkercad, we’ll start with a cylinder for the center face, and then create a couple of stretched-out rings with Rotated “Round Roof” shapes and Holes:

By using the “Control-D” duplication tool we can copy and rotate those rings in a pattern around the cylinder. After modifying the heights of each shape with the Ruler, we get a simple retro clock face design:

If you want to pick apart our Tinkercad design and see how it works, just open this Quick Clock link and tinker for yourself! Add some Text for numbers, if you like, or design something new from scratch. When you’re ready to download your design for 3D printing, click the “Export” button and then choose “Export as STL”.

Intermediate: Fusion 360

To make a fancier custom clock, try Autodesk’s Fusion 360 3D software, which is free for students, educators, and hobbyists. There’s a steeper learning curve to get started in Fusion 360 than there is with Tinkercad, but there are plenty of video tutorials online to help you learn. Some of the best are the Fusion 360 tutorials by Maker’s Muse. We’ll link to relevant video tutorials throughout this section so that you can learn just what you need. Fusion 360 is a very powerful program with a lot of features and tools, but you only need to know how to use a few of those tools to make a simple clock!

For example, if you know how to create a Sketch, add Constraints, and use a Circular Pattern, then you have all the tools you need to create a 2D shape for a clock face design in Fusion 360. To create the example below we started a Sketch, added a Circle at the origin, then formed spoke shapes with Lines. We kept the shapes symmetric by using Constraints, and rotated them in a Pattern around the origin. In the screenshot below we are in the process of duplicating and rotating the thinnest spoke to create twelve copies of it around the center circle:

Most models in Fusion 360 start from a two-dimensional Sketch like the one above. Once you’re done with your Sketch you can Extrude to give it some three-dimensional depth, and then Fillet the edges to make them rounded and professional-looking:

To download your model for 3D printing, right-click on the gray name of your model in the Browser menu (if you haven’t saved your Fusion 360 design yet, then the name of the model will be “(Untitled)”, as it is in the screenshot above). Select “Save as STL”, click “OK” in the new window that pops up, and save the STL file to your computer.

Advanced: Make ALL THE CLOCKS

Feeling more ambitious? With some parametric design you can write OpenSCAD code to generate billions of clocks, each from a random seed. For example, consider the many types of retro-styled “Sunburst” or “Starburst” clocks shown in this Google Image search:

Clocks like these were inspired by the modernist-style work of industrial designer George Nelson, who made many variations of such clocks in the 1950s. There are some common design features that are shared by most of these clocks: geometrically-shaped spokes, a star/sunburst pattern, a circular inside for the hands… Here’s what our first notes looked like when we started thinking about the typical parts and designs for Sunburst Clocks, and some of our early test prints:

OpenSCAD is a free code-based design software that works on any platform. With just a little bit of coding knowledge you can write simple code to describe a library of geometric spoke shapes, and then options for rotating those shapes around a central circle. There are literally billions of configurations; here are just a few:

If you want to learn more about OpenSCAD, check out our beginner’s video tutorial PolyBowls – A simple OpenSCAD code walkthrough and intro document Hello OpenSCAD. The “Hello” document has a link to sample code you can inspect and modify; if you want to play around with the code that made the clocks in the rotating image above, you can download it from our Thingiverse page.

The Easy Way Out: Customize a Sunburst Clock

But… you may be thinking… there is NO TIME FOR THIS!! The holidays are coming fast, and you don’t have time to learn how to write parametric OpenSCAD code right now? No problem, just use our Customzier to design your own retro clock! We’ve made our design free on Thingiverse so you can create unique and interesting Sunburst Clocks in just a few seconds. Just go to the design on Thingiverse and click the “Open in Customizer” button to get started (you’ll have to sign up for a free Thingiverse/MakerBot account to open the design in Customizer):

The Customizer version of the Sunburst Clock design lets you create new clocks just by clicking in the Random Seed slider and selecting design options from drop-down menus. You can also set the overall shape and size of your clock, and control the center hole and backing to match your clock kit:

Once you have the clock you want, click the “Create Thing” button and download the STL file from your list of Things within Thingiverse. Here is a design we made with the Customizer and had printed at Shapeways in White Versatile Plastic for less than $30 (it’s the “Cordelia” design), together with the clock mechanism we’ll use to assemble the final clock:

After assembly, the clock looks like this:

And here’s an “action” shot on the wall:

Light Speed: Order an Existing Design

If you’re really down to the wire and don’t have time to create or customize your own design, then quickly head over to the Shapeways Marketplace for a huge selection of unique 3D printed gifts that you can order right away. If it’s before the December 13 cutoff date for medium-sized White Versatile Plastic at Shapeways, then you still have time to order, with next-day shipping and priority manufacturing, one of our best twelve pre-made retro clock designs from the geekhaus shop, like the Velma:

Happy making, and happy holidays!



As an Amazon Associate we earn from qualifying purchases, so if you’ve got something you need to pick up anyway, going to Amazon through this link will help us keep Hacktastic running. Thanks! :)

The Snowflake Machine

The Snowflake Machine uses random numbers, mathematical algorithms, computer code, and SCIENCE to create well over a billion unique and beautiful snowflakes. It’s a customizable design available for free on Thingiverse, and people around the world have already used it to generate almost four thousand unique snowflake models!

After going to the Thingiverse link, press “Open in Customizer” to get started. You’ll be able to choose a random seed value and then set various style parameters to control the branchy-ness, organic-ness, fuzziness, and length of your custom snowflake:

What can I make with the Snowflake Machine?

You can make snowflakes! Specifically, you can:

  • Quickly generate 3D-printable snowflakes using a random number seed
  • Use sliders to control the style and look of your snowflake in ten different ways
  • Create snowflake ornaments by selecting a hanging loop feature
  • Create giant snowflakes with lots of detailed design steps
  • Create micro-flakes, if you have an ultra-fine nozzle! (More on that soon…)

There are also demo snowflakes available to download as an STL files in the Downloads section, but it’s more fun to make your own!

How to Operate the Snowflake Machine

Here’s what to do:

  • Go to The Snowflake Machine in Thingiverse
  • Press “Open in Customizer”
  • Choose seed and style settings
  • Click “Create Thing”
  • Wait 2-3 minutes for the magic of creation to take place
  • Go to your list of Things and reload it until your new snowflake appears
  • Download, 3D print, enjoy, take a picture, post a Make
  • At this point there will still be over a billion more snowflakes to make, so keep going

How does the Snowflake Machine work?

The Snowflake Machine generates snowflakes with an algorithm that approximates the way that some kinds of snowflakes grow in real life.

Stellar plane crystal snowflakes start from a hexagonal prism seed and then grow outward with branches and plates whose size and positions are determined by the temperature and humidity of the atmosphere.

To mimic this process, the OpenSCAD code behind the Snowflake Machine generates sequences of random numbers based on a random seed that you select, and then grows a snowflake design by adding branches or plates in each step. The random number sequences and the style parameters whose values you select with the Customizer sliders act like the temperature and humidity of the air around the snowflake, making it more or less likely that different formations will be generated.

Tips and Tricks for Snowflake Design

Here is some advice for getting the most out of the Snowflake Machine:

  • Once you set a seed, you can change style sliders to alter the look and feel of the snowflake. Or you can change the seed again to generate more random snowflakes whose formation patterns are governed by your style slider settings.
  • If you like a particular seed, then write it down so you can come back to it later! Once you change the seed value your old seed will be lost forever, like a melted snowflake.
  • Mathematically perfect snowflakes (with “organic” set to zero) generate more quickly and also print faster. But snowflakes with a random/natural look (with larger “organic” parameter values) look more realistic and stylized.
  • Snowflakes with six steps and medium style settings will be approximately the size of the orange preview circle. You can go up to 11 steps, but the snowflakes usually look best when they have between 4 and 7 steps.
  • The best way to change the target size of your snowflake is to set the “target_diameter” parameter to your desired size. This will change the size of the orange target circle, and adjust lengths and widths accordingly in the algorithm.

It’s worth keeping in mind that sometimes things look good on the screen but don’t come out exactly how you expect when they are actually printed. If you keep track of your seed values, then you can iterate your design and make it better. Below is a photo that illustrates such an iteration, with the initial design on the left and the updated design on the right. Based on the outcome of the initial design, I turned down the “organic” and “fat” parameters and increased the “fuzzy” and “sharp” values to get a cleaner and more detailed design.

It’s a little bit difficult to see snowflake details in the small Customizer window within Thingiverse. If you’d rather work with a larger, faster preview then you can download a free copy of OpenSCAD, get the snowflakerator.scad file from the Downloads section of this Thing, and then generate random snowflakes directly in OpenSCAD. To do this, you modify the parameters in the editor on the left-hand side, and then press “F5” to see the result. It looks like this:

Don’t have a 3D printer, or want something fancy?

Custom snowflake designs made with the Snowflake Machine are now available in the Snowflake Collection at the geekhaus Shapeways store, like this set of six organic ornaments:

You can also order tiny frosty snowflake earrings:

But remember, you can just go to the Thingiverse link and design and 3D print your own custom snowflakes for free :)


Go to The Snowflake Machine on Thingiverse and press “Open in Customizer” to generate your own custom 3d-printable snowflakes for free! Or check out our Snowflake Collection on Shapeways if you want to order some pre-made designs. Happy Holidays!



As an Amazon Associate we earn from qualifying purchases, so if you’ve got something you need to pick up anyway, going to Amazon through this link will help us keep Hacktastic running. Thanks! :)

Knots in OpenSCAD with Sweeper

This week we created a special collection of 3D knot models based on some old projects we did with students a few years ago. To recreate these knots we used our old data to recode each of the models in a consistent way in OpenSCAD. This year’s version of the knots are scaled and sized to form a matching set suitable for printing on SLS printers like the ones at Shapeways. This means that we can have fancy, colorful Nylon Plastic versions of all our favorite knots, and even print a few in Steel.

We’ll post pictures when the models return from Shapeways in a week or two, but for now here are a couple of nice renders, of a Hyperbolid Stick Knot and a Lissajous Three-Twist Knot:


OpenSCAD “Sweeper”

Knots are basically just closed curves in space, and the easiest way to create a closed curve in OpenSCAD is to “connect the dots” — that is, to create a list of points in space, place a small sphere at each of those points, and then connect each sphere to the next. If you only have a few datapoints then this method is perfectly acceptable. In the example below there are just eight points that need to be connected, so this method isn’t so bad.

This “connect-the-dots” method is simple, but with more points, as you would have if you were sampling close-together points to connect and make a curvy path in space, this way of generating a curve in space is really, really, really slow. Each pair of connected spheres costs a convex hull calculation, which is a very computationally expensive operation.

Luckily, there is a smarter way. The “sweeper” code library in OpenSCAD takes a sequence of datapoints on a curve and constructs one huge polyhedron from that data. At each point the sweeper code places a cross-sectional shape like a polygonal circle or a square, oriented in the direction of the curve. Then it connects successive cross-sections with faces, and puts the whole thing together with OpenSCAD’s polyhedron command. The code is a lot harder to follow than the method above, but for the most part you can ignore it and just put in your datapoints. Here’s what it looks like in action:

In the code above, notice that we define a function “f(t)” that parametrically describes the knot in space; the sweeper code samples points on this curve to get the data it needs to build the curvy polyhedron. You can get a copy of an OpenSCAD document with the required libraries (scad-utils and list-comprehension) for sweeper from the shared code files included with our Hello OpenSCAD primer.

The Special Knot Collection

The ten knots we decided to make for the new Special Knot Collection are the knots 3_1, 4_1, 5_1, 5_2, 6_2, 8_19, 10_161, and L6a4, as listed in the Rolfsen Knot Table. These knots are listed below, together with links to those knots on Shapeways, and links to blog posts that contain more information about each knot and why it is significant.

If you want to learn about mathematical knot theory, two great introductory books are The Knot Book by Colin Adams and An Interactive Introduction to Knot Theory by Inga Johnson and Allison K. Henrich. If there’s a special knot you’d like to see us add to our collection, please let us know!



As an Amazon Associate we earn from qualifying purchases, so if you’ve got something you need to pick up anyway, going to Amazon through this link will help us keep Hacktastic running. Thanks! :)

Hinged Triangle-Square

One of our favorite 3D designs is a model of Dudeney’s famous hinged dissection of a triangle to a square, also known for some reason as the Haberdasher’s Puzzle. Today we’ll revisit this design and update it for printing on SLS machines.

We designed our original triangle-square model a few years ago with OpenSCAD, using data from an article by Mark Meyerson. You can read more about the original design on our old blog MakerHome, and download a free 3D-printable model on Thingiverse:

The triangle-square is a surprisingly reliable model for printing on a desktop 3D printer, considering that it prints all in one piece with hinges completely assembled. The hinges are the same as the ones on our Fidget Star and Fidget Cube, but on the triangle-square the hinges are more reliable because they all point in the same direction and don’t form overhangs. I’ve had the best success with these at .2mm layer height on a MakerBot Replicator 2. You can make a lot of triangle-squares fairly quickly with a high success rate.

Since we made that model, some mathematical advances were made about hinged dissections! Specifically, in 2007, Eric Demaine and a team of authors proved that any finite collection of equal-area polygons has a common hinged dissection! In other words, as they put it, “for any such collection of polygons there exists a chain or polygons hinged at vertices that can be folded in the plane continuously without self-intersection to form any polygon in the collection.” (!!)

For more information on a wide variety of dissections, check out Frederickson’s book Dissections: Plane & Fancy, as well as his books on Swinging and Twisting Hinged Dissections and Piano-Hinged Dissections, or his book on Ernest Irving Freese’s Geometric Transformations. In the future we hope to adapt our model to other interesting hinged dissections!

In the meantime, we do have a da Vinci Color printer and thought it might be nice to print a color version. We’re still working out some ink issues but here is how the model came out:

We also made an SLS-optimized verison of our triangle square for Shapeways, so if you don’t have a 3D printer you can now order one if you like:

Or, if you REALLY love triangle-squares, then for £100 you can get a huge aluminum version Dudeney’s Dissection at the wonder Grand Illusions shop. Here is that model in action:



As an Amazon Associate we earn from qualifying purchases, so if you’ve got something you need to pick up anyway, going to Amazon through this link will help us keep Hacktastic running. Thanks! :)

Generating Random Constructivist Art

This is a joint work by Edmund Harriss and Laura Taalman, aka gelada and mathgrrl, made at the #0things Hackathon at Construct3d 2018. The “0 Things” campaign is the brainchild of the unstoppable DesignMakeTeach, who encourages designers to identify what isn’t available in the 3D modeling world and then to give voice to those missing things. We took on the topic of female artists, and gelada had the great idea of creating a piece inspired by British constructivist artist Mary Martin.

Martin’s artwork Inversions, now in the Tate Gallery in London, is based on the mathematical idea of permutations. Can you work out the structure hidden in her beautiful work?

Our Martin-inspired parametric art generator creates randomly oriented wedges in the sizes and number that you specify. Check it out on Thingiverse and click “Open in Customizer” to make your own uniquely randomized work of art: Conversions – Inspired by Mary Martin’s Inversions. We built the 3D print below from four thin vertical strips, each with its own random seed to generate wedge rotations, and each about the size of a full MakerBot Replicator 2 build plate:



As an Amazon Associate we earn from qualifying purchases, so if you’ve got something you need to pick up anyway, going to Amazon through this link will help us keep Hacktastic running. Thanks! :)

Designing Knitting Machine Punch Cards with StitchFiddle

This is the fourth post in our series about machine knitting and our goal of using a Silhouette Cameo 3 craft cutter to create custom punch cards for vintage knitting machines. Here are the first three posts:

Now that we’ve sorted out how to cut punch cards and use them to make knit swatches, in this post we’ll discuss how to design the patterns for the cards and then get those designs into the Silhouette Studio software. We’ll start with a simple solution to the problem, using the easy-to-use online design program Stitch Fiddle:


Of course, we could just create our designs directly in Silhouette Studio, by coloring or uncoloring the circles in the punch card template we already developed:

Screen Shot 2018-09-23 at 5.54.26 PM

That would be fine for a simple pattern, but would be too tedious and fiddly for something that had to go through a lot of design iteration like the green StitchFiddle pattern shown above above (based on “gliders” from Conway’s Game of Life).

In StitchFiddle you can just click the cells of the pattern to turn them on/off in different colors. You can also change the pattern grid style, so we thought maybe… just maybe… the StitchFiddle holes would be the correct size for our punch cards?

Screen Shot 2018-09-23 at 5.52.47 PM

The pattern above is based on the “Sorry to Bother You” font (see the Appendix below). To export from StitchFiddle use [File/Print] and then [Download as PDF], and then finally set to JPG. The resulting JPG file can be imported into Silhouette Studio. Alas, the holes are not the correct size or spacing, but by scaling and then overlaying the StitchFiddle pattern on our Studio punch card template, we could easily see which circles in the template to color “red” for cutting. Here’s what the resulting patten looked like in Studio (with the StitchFiddle pattern guide now moved over to the side). Note on the right side of the image that we are setting the red lines to be cut when set to the Cameo.

Screen Shot 2018-09-23 at 5.53.14 PM

Success! (mostly)


Some of the holes didn’t punch all the way through, and things got a bit warpy after the Dura-Lar paper started moving around for some reason during the cutting process, but at least the top of the card was good enough to run through the Brother KH-881 for a test swatch:


The result was pretty messed up, but actually really good for a first test. THIS IS GOING TO WORK!

Things to do next time:

  • Flip the punch card over when using it in the knitting machine — of course the design gets reversed so I need to reverse the card!
  • Use the motif spacer thing on the knitting machine that makes the pattern only appear once — in this sample the words get repeated immediately in each row, but we only want them once.
  • Set the cutter to cut sharper/harder so that the punches always go all the way through.
  • Adjust the cutter rollers to keep the media properly in place while cuting.


The design we’ve been working with in this post is the start of a longer scarf design of lyrics from song The Guillotine by The Coup, based on the font and style of the posters for the amazing movie Sorry to Bother You. The final design will have to be cut on multiple punch card sheets and then attached together for feeding into the knitting machine. Here’s what the pattern looks like so far:




As an Amazon Associate we earn from qualifying purchases, so if you’ve got something you need to pick up anyway, going to Amazon through this link will help us keep Hacktastic running. Thanks! :)

3D Printing Strong and Sturdy Models

Also published at Shapeways Magazine

Sometimes a digital 3D design looks great in your software, but just can’t make it in reality. Here in the real world, a 3D model can only be so thin or fragile; models with very skinny wires or delicate parts might break after printing, or worse, not be able to 3D print at all. In this post, we’ll examine how auto-checks, human checks, and prototyping can help you design models that print successfully and are sturdy enough to handle repeated use or handling.


Shapeways provides guidelines and auto-checks to ensure that your uploaded models are printable in each material. For example, models created at Shapeways in Versatile Plastic are 3D printed in a durable nylon material in large batches using an industrial Selective Laser Sintering (SLS) printer. Versatile plastic has an intense post production process that includes extraction from powder and other models, cleaning and polishing, and even dying in different colors. Thin or narrow models can be easily broken or separated during post production. You can refer to the Design Guidelines for Versatile Plastic to determine how thin you can make the wires in your model. Here’s what those guidelines say about two success parameters, wall thickness and wire thickness:

In the guidelines above, “walls” are flat surfaces in your model and “wires” are more like strands. Notice that the recommended minimum for supported wires (those that connect to your model nearby on both ends) is 0.8mm. Processed models are put through a polisher, and Premium models are polished even more, so their minimum is higher: 0.9mm. Finally, the minimum for unsupported wires (which don’t inherit as much stability from the rest of the model) is even larger, at 1.0mm.

After you upload your model, Shapeways will perform a series of auto-checks to measure the thickness of walls and wires, among other things. If you click on “View 3D Tools” (or “View Issues”, if your uploaded model failed any checks) from within any Material view of your model, Shapeways will show you the results of these auto-checks. Here’s what that looked like for an early demo version of our Deltoidal Icositetrahedron model:

Although this model passed the Wire Thickness check, it fails the Wall Thickness check. The flattened nodes at the vertices, and even some of the long wires, are considered “walls” here, and they aren’t thick enough to get over the 0.7mm minimum thickness requirement.

Checking and Fixing Thickness Issues

You can check the thickness of your model in whatever design software you used to create it. Or, another easy way to determine the minimum thicknesses of your design is to import your model to Meshmixer and use the Thickness tool in the Analysis menu. You can then use Meshmixer to make your design thicker, if needed, by selecting the model and then using Edit > Extrude (using the Normal Direction) or Edit > Offset to expand your model outwards or inwards. To thicken only selected parts of your model, you can take the more targeted approach described in our previous article Tutorial Tuesday 50: Using Meshmixer to Make 3D Models Thick Enough to 3D Print.


Even if your model passes printability checks, it’s worth printing a demo model to make sure that everything is okay. Sometimes, weak geometry can’t be determined until a model is actually printed and in your hand. Even if the print comes out successfully, it may be too delicate to hold up to its intended use. After our example model failed printability checks, we redesigned it so that it would just barely pass the checks and print successfully. It was a beautiful model, but it wasn’t long before it broke and warped:

I guess the moral of this story is: For best results, don’t try to just *barely* meet the print requirements; rather, make sure you are safely above them.

It’s worth pointing out that the size of the model itself matters as much as the thickness; the two go hand-in-hand. In the image above, the smaller model has the same wire thickness but is actually quite sturdy. The larger model is weaker because the wires are longer and have to hold up to greater stress when the model is handled. This means when prototyping, you can’t always get an accurate impression of the strength of your model by shrinking your model down, or designing a smaller version. Think about it this way: a wireframe model the size of your head will need a larger wire thickness than a model the size of your pinky!

In the end, we decided to thicken up our Deltoidal Icositetrahedron model significantly. The final version looks like the blue model on the right in the image below. It’s much stronger, and the cost of printing was only increased by a few dollars.

Human Checks

Sometimes models pass the online checks at Shapeways, but then fail a secondary check when they are actually ordered for printing. That’s because actual human beings at Shapeways check your model manually while they prepare it for 3D printing. They check for things that require a lot more expertise than the automatic computer checks, like how large your model is, how the different pieces of it fit together, and a lot of things that you or I might not think of. If they notice a problem then they will email you, and try to suggest ways that you can modify your model to increase the likelihood that it will print successfully.

Keep in mind that the printing engineers at Shapeways want to make sure that your model can print correctly not just once, but over and over. A model that passes the auto-checks and listed guidelines may have weak areas that may not break on the first print, but are likely to break the second or third time. This means that even if your print comes out well in a “Print it Anyway” situation, it still might not be stable enough to offer as an item in the Marketplace. Variations in print stability can arise from small differences in the printing and finishing process, like how the models are packed or oriented in the machines, or how it interacts with other models in the polisher.

As an example, consider our Hoop Knot Earring:

According to the Design Guidelines for Silver, we needed to make the wires at least 1mm in diameter. However, it’s best to exceed that significantly; consider that Silver models from Shapeways are 3D printed in wax, cast in Silver using lost wax casting, and then finished and polished. All of those procedures could damage a model with weak geometry. When we uploaded our Hoop Knot Earring for printing, it passed all of the auto-checks. But when we tried to order a print of it in Silver, the kind and knowledgeable human engineers at Shapeways said that the geometry of our model was too weak. They suggested adding connectors and even emailed me this helpful illustration:

Of course, in this case I couldn’t add connectors since that would have ruined the design; instead I had to make the wires thicker to give the model more stability. That resulted in the print shown below on the right. Later I tried to make a larger version, shown on the left, but an interesting thing happened; since the wires had to travel further, they were more prone to bending and becoming misshapen when I opened and closed the earring. Even though the larger model had thicker wires, in the end it didn’t work as well as a functional item.

In the end, you’ll have to use a combination of your own design analysis, automatic printability checks, manual printability checks, and physical prototyping to successfully print delicate or geometrically complex models. If you’ve got your own tips and tricks that help you through this process, let us know!



As an Amazon Associate we earn from qualifying purchases, so if you’ve got something you need to pick up anyway, going to Amazon through this link will help us keep Hacktastic running. Thanks! :)

Filament Samples and Customizability

Does the world need yet another filament sampler model? Probably not. But we made one anyway. Along the way we tested out Thingiverse’s new Send to Fusion 360 feature for adding fillets and revisited our Blender Bake method for enabling OpenSCAD to add text to an existing STL file in a way that can be used in the Thingiverse Customizer.


Why even do this?

When I first got started with 3D printing, I typically used whatever name-brand filament belonged with each type of 3D printer I was using. I figured this could eliminate at least one of the many variables that can lead to failed prints, since Ultimakers might run best with Ultimaker filament, MakerBots might run best with MakerBot filament, and so on, at least at the default slicer settings.

But eventually… I got bored. I wanted to try new types of filament. And new colors. And sparkles. Also, I was running out of all the discounted and free filament that was left over from when I worked at MakerBot and Ultimaker, so it seemed like a good time to branch out and try the brands I kept hearing about, like Proto-Pasta, Faberdashery, Polyalchemy, and ColorFabb.

It got confusing fast. Some filaments worked really well for certain prints, but not others. Some didn’t look the same at all after printing than they did when they were originally on the spool. And there were so many brands and types of filament, not always recorded accurately on the spools. And once a spool was used up, I didn’t have a good record of what the filament was like, so I didn’t always know if I should reorder the same type. And another kicker – half of my printers have their filament loaded *behind* the machine where I can’t see it! It would be nice to have something to put in front of the machine to remind me what’s in there.

There are a number of very nice existing models on Thingiverse for testing and sampling filament, including test cubes, texture and transparency testers, samples for display and to put on chains and loops, and even some that were customizable. Somehow none of these were quite what we wanted. Even our Speed Racer Testbots didn’t seem like quite the right thing.

Design Requirements

Our goal was for the filament samples to be:

  • Elegant, not fussy… but also not just a plain cube or rectangle
  • Descriptive in terms of the color/type/brand of filament
  • Customizable! Of course :)
  • Stackable, with a loop for hanging, and able to stand up on their own (like near a printer or something)
  • Not a 3D printing torture test full of tiny posts, overhangs, and infill samples
  • Rather, a hefty sample that feels good in your hand so you can easily see and feel the filament at a basic level

We settled on the “tombstone” shape shown below. This was the most elegant solution we could think of that would maximize text area and have both straight and curved elements. We chose to emboss the letters because then we could easily color the letters with Uni-Paint pens (these pens tend to bleed into the filament layers a lot less than Sharpies). But letters that stick out of the front and back would make the samples more difficult to stack, so we also included a raised lip around the entire object, effectively making a flat, stackable surface. Here they are both stacking and standing on their own:


We made the hole really big so the samples would fit over just about anything:


And especially so that they wouldn’t be fiddly to pick up and carry around!



Tinkercad recently launched a long-awaited feature: the ability to send basic objects from Tinkercad to Fusion 360 for fillets, bevels, and other cool features. Of course, we could always export STL files from Tinkercad and send them to Fusion 360, but those models would be meshes instead of the types of basic geometric objects that Fusion 360 knows how to work with for fillet/bevel modifications. This new feature is really exciting because it allows people to design in a really simple environment (Tinkercad), and then pop over to a more difficult environment (Fusion 360) for just a few simple targeted operations.

The green model on the left below is what we created in Tinkercad, and the gray model on the right is the filleted version that came back from Fusion 360:

Screen Shot 2018-09-16 at 6.31.01 PM

And yes, we *could* have just designed this object in Fusion 360. In fact if you already know Fusion 360 it is easier; you just make some sketches and do some extrusion and a little push-pull. But for beginners whose main design software is Tinkercad, it’s really great to be able to pop into Fusion just for a second and then get out. Here’s what it looked like in Fusion 360 when I was adding the fillets:

Screen Shot 2018-09-16 at 6.32.29 PM

This is seriously great and it’s really exciting this new feature of Tinkercad has launched. HOWEVER, it’s still a bit fiddly; you have to know a few things about Fusion to use it; and you can only apply it to simple designs made with basic shapes. Still, this is the beginning of something fantastic and if you try to keep things simple then this is a nice way to add fillet/bevel options to Tinkercad models.

How to add fillets to a Tinkercad model in Fusion 360

First, read Tinkercad’s blog post about the release of this feature and the basic steps for using it. Once you’re done with that, check out these tips for filleting Tinkercad-made objects in Fusion 360:

  1. You can only use Basic Shapes in your model; if you use a Shape Script then that part of your model will not appear in Fusion 360 after the transfer.
  2. Fillets are really just inherently fiddly things and they don’t always work. Any kind of even mildly interesting geometry like overlaps or corners can unexpectedly make it impossible for Fusion 360 to generate a fillet. If you notice a little red “x” at the bottom right of the window, then Fusion 360 was unable to make your fillet for some reason. Sometimes it helps to choose a smaller fillet radius; sometimes it helps to select many edges to fillet at once; sometimes it helps to select edges just one at a time and in some magical order; and sometimes there is nothing you can do.
  3. Also keep in mind that the design you bring over from Tinkercad might have some weird overlaps or double-edges, and sometimes you won’t be able to see the entire edge you are selecting. If you have a problem getting fillets to work, then I recommend trying a lot of random things to see if something somehow does the trick. If all else fails, try to make your Tinkercad design a little simpler somehow.
  4. For some reason my Tinkercad designs showed up in “Sculpt” mode in Fusion 360. If that happens to you, then you may want to change to “Model” mode from the leftmost square in the toolbar menu.
  5. The fastest way to make fillets in Fusion 360 is to press the “F” key, then select a bunch of edges in sequence, then type a number to set the radius, then press Return/Enter.
  6. Navigation in Fusion isn’t the same as navigation in Tinkercad; in Fusion you Rotate by pressing Shift while dragging with the Middle mouse button and you Pan using the Middle mouse button. If out of habit you press and drag with the Right mouse button, a weird menu or some other thing will pop up; just press “Escape” if this happens.
  7. To export your model from Fusion 360, right-click on the “FusionComponent” text at the top of the Browser list, then select Save as STL. A window will pop up and you’ll have to click “ok” before you can save the file to your computer. Of course you can then print your model, or maybe Import it back into Tinkercad.
  8. If you bring your model back into Tinkercad after filleting or making other modifications in Fusion 360, you won’t be able to ungroup or separate that model anymore. It will act the same way as any imported STL file, as one piece.

After filleting in Fusion 360, you can add text or whatever you like to the sample in Tinkercad. You can try it yourself, and also modify the shape of the object before or after the filleting step, at this Tinkercad link.

Screen Shot 2018-09-16 at 6.23.05 PM

Thingiverse Customizer

If we had made our model in OpenSCAD, then adding text and porting to the Thingiverse Customizer would be pretty easy. And yes, we *could* have just made this model in OpenSCAD, and even acheived most if not all of the fillets with Minkoswki sums and other tricks. But we didn’t; what we have is an STL file from some other program, not a parametrizable model based on OpenSCAD code. We could easily import this STL file into OpenSCAD and add text, no problem. However, the resulting file wouldn’t work in the Thingiverse Customizer, because it would involve an external file. There is currently no way to import an existing STL file into the Customizer.

However, there is a way to embed an STL model into OpenSCAD as a list of mesh/triangle data that generates a polyhedron in the shape of the model… and once you’ve done that, everything is self-contained in one OpenSCAD file, just like the Customizer wants. This method was shown to me by atartanian and uses a Blender plugin written by graphicsforge. You can read a step-by-step in my previous post Beefy Trophy – Baking meshes into OpenSCAD from Blender. Basically it involves importing your STL file into Blender and then using the plugin to export it as text that can be used inside an OpenSCAD file:

Screen Shot 2018-09-16 at 6.37.57 PM

Here’s what the model data looks like after opening it in OpenSCAD:

Screen Shot 2018-09-16 at 6.36.42 PM

And now we can use the model inside OpenSCAD by calling the polyhedron anywhere we like within our code. Note at the top we have user-modifiable parameters for three lines of text and for font size; these are the elements that people will be able to change inside the Thingiverse Customizer.

Screen Shot 2018-09-16 at 8.33.26 PM

When we upload to Thingiverse we have to include the .scad file and click the “This is a Customizer” button.

Screen Shot 2018-09-16 at 6.55.35 PM

This activates the “Update in Customizer” button on the front page of our model on Thingiverse (see the bottom right of the screenshot below):

Screen Shot 2018-09-16 at 8.35.12 PM

Pressing this button takes the user to a screen where they can change the text and font size parameters:

Screen Shot 2018-09-16 at 6.55.16 PM

3D design for everyone

Notice the running theme here of creating hacks that enable people to do things above their current design skill level:

  1. First, the Thingiverse Customizer enables even beginners to modify the filament sample text, without having to work with any of the actual OpenSCAD code.
  2. Second, the new Tinkercad-to-Fusion feature enables beginner designers to leverage some of the tools in Fusion 360 without having to get too deep into that more complicated software.
  3. And finally, the Blender Bake method enables Customizer designers to use OpenSCAD to modify existing models, or models that they created in other software, without having to design from the ground up with OpenSCAD code.

All of these things make 3D design a little bit more accessible, at different levels. Will someday this stuff just be… easy? Maybe. But for now, baby steps.


Hey, here is a new model for making filament samples. You can easily customize the text yourself on Thingiverse at this link: Customizable Filament Samples. Or, play with the model in Tinkercad, at this link: Filament Samples and Tinkercad/Fusion test. Or, learn how all of that came together by scrolling up :)



As an Amazon Associate we earn from qualifying purchases, so if you’ve got something you need to pick up anyway, going to Amazon through this link will help us keep Hacktastic running. Thanks! :)

Schönhardt Polyhedron

Not every polyhedron is tetrahedralizable. The simplest example is the Schönhardt polyhedron, which is a twisted triangular prism constructed in such a way that all tetrahedra that share vertices with the polyhedron fall into the exterior. This means that the Shönhardt polyhedron can’t be subdivided into tetrahedra using only its original set of vertices.

In OpenSCAD, the Schönhardt polyhedron can be constructed with just two simple lines of code, using linear_extrude and the $fn option:


If you’re interested in non-tetrahedralizable objects, you can see two more at the Geometry Junkyard. Or check out these great books on computational geometry:

  • Discrete and Computational Geometry, Devadoss/O’Rourke
    This textbook is a nice bridge between the algorithmic and theoretical.  You can see the Table of Contents and all of Chapter 1 free online.
  • Computational Geometry, de Berg/Cheong/van Kreveld/Overmar
    A more advanced textbook, and the one used in Suri’s and Ungor’s Computational Geometry courses in the list below. The Table of Contents and all of Chapter 15 are free online.

If you want to hold and examine this object in real life, then you can 3D print our free Schönhardt Polyhedron at Thingiverse:

Or, if you don’t have a 3D printer and want to order a printed copy, now you can get one at Shapeways:



As an Amazon Associate we earn from qualifying purchases, so if you’ve got something you need to pick up anyway, going to Amazon through this link will help us keep Hacktastic running. Thanks! :)

Is your 3D model a mess? Make it printable!

Also published at Shapeways Magazine

What do you do when your 3D model is broken? I mean really broken, like “can’t even upload it” broken, or “half of my triangles are disappearing” broken? In this post we’ll talk about what to do when your usual mesh-repairing strategies fail and you need to bring out the big guns.

Let’s do this by example. So that we can follow exactly what’s going wrong, we’ll create a bad mesh by modifying an existing 3D model, my Deltoidal Hexecontahedron Catalan Bracelet:

We’re going to turn this into a tealight ring and add some solid faces to the wireframe to create a partially-enclosed look. The screenshot below shows what it looked like when I did this in TopMod; I added the closed triangle faces, and everything seems fine:

Nice! But when we try to upload to Shapeways, we get this error message:

First line of defense: Meshmixer

Meshmixer is a great first tool for modifying 3D meshes; for an in-depth example see our previous article Tutorial Tuesday 50: Using Meshmixer to Make 3D Models Thick Enough to 3D Print. But, in this case, when we open our broken file in Meshmixer to see what’s going wrong, the faces don’t load in. Although Meshmixer knows something is wrong here, its Inspector cannot repair it:

Second line of defense: MeshLab

Another great mesh-manipulation tool is MeshLab; for a primer on making simple mesh fixes with MeshLab, check out our previous article Tutorial Tuesday 5: Quick Fixes With MeshLab. It’s more complicated than Meshmixer, but can often take care of bad geometry like reversed normals and non-manifold faces. However, when we try to open our broken file in MeshLab we get this error:

After opening the file and looking through some of the Cleaning & Repairing filters, we see that there are some non-manifold faces:

The problem lies with where the new faces intersect. When we added those new triangles, we created some bad geometry where the pairs of coincident faces meet.  Alas, although MeshLab can identify these problems, it’s not able to actually fix them; usual MeshLab repair menu options such as “Remove Faces from Nonmanifold Edges” and “Remove T-Vertices by Edge Flip” are unsuccessful here.

The big guns: MakePrintable

If you have a Windows machine, you can try using the professional software Netfabb to repair this model. Netfabb is free for students, but for the rest of us it costs $30, per month. For professionals in industry this is probably reasonable, but for smaller businesses and hobbyists it’s pretty steep.

Luckily, with any platform and for no money at all you can have access to the extremely powerful mesh-repair services at MakePrintable. MakePrintable’s free cloud-based repair service lets you upload models to repair on their servers, and then download up to three repaired models per month. If you need more repairs than that, then for just $10 per month you can upgrade to their Pro service to get access to more features and unlimited downloads. Since Meshmixer and MeshLab can handle lots of simple mesh problems, the three-a-month restriction is not so bad. But does it work? The answer is YES, and in fact in my experience I have NEVER had a model that MakePrintable couldn’t repair. That includes successfully repairing my Tentacle Bowl, which was made from thousands of recursively-generated overlapping spheres that resulted in very broken internal geometry.

Let’s see what MakePrintable can do with our model. MakePrintable is a cloud-based service that works entirely in your browser, so to get started you just go to makeprintable.com:

Opening and repairing models is free in MakePrintable; it’s only the final download that counts against your monthly total. This means that we can upload our file and see if MakePrintable will fix our file without risking anything. When we upload our model, MakePrintable immediately recognizes its 20 non-manifold edges. Along the right sidebar are a number of fancy options for the Pro/Paid version, but for our purposes we can just use the default free settings.

So, can MakePrintable fix this bad geometry? Yes! Note in the image below that the right-hand model has no non-manifold edges anymore, so we should be in the clear. To download the repaired mesh, choose Save/Export, then 3D Model, then your filetype, then save the file to your computer. This action will reduce your three-a-month download count, so be sure you are happy with the repair before downloading.

In this case our initial broken mesh was very simple, and MakePrintable’s repaired mesh was much finer, with many more triangles. We could have controlled that if we were using the Pro/Paid version, but in this case we can reduce the mesh in Meshmixer and then run through mesh styling TopMod to get exactly the blocky-smooth style we want, which looks like this:

Fixed and ready for Shapeways

Our repaired and remeshed model now uploads to Shapeways, and we can order 3D prints of fancy Deltoidal Hexecontahedron Tealight Rings. Here’s what they look like after printing and photographing for our geekhaus store:

This was just a simple example with a handful of faces and edges causing bad geometry; it can of course get much, much worse. Do you have a broken model? Give these tools a try then upload your model again. Let us know how it goes!



As an Amazon Associate we earn from qualifying purchases, so if you’ve got something you need to pick up anyway, going to Amazon through this link will help us keep Hacktastic running. Thanks! :)