Day 110 – Rocking knot

Day 110 – Rocking knot

Day 110 – Rocking knot 640 480 mathgrrl

Today’s print is a knot with a special property: No matter how the knot sits on the table, it never touches the table in more than two places. This property makes the knot rock back and forth easily, and roll down even very shallow inclines. It’s a fun thing to have on your desk, and it’s the knot that I usually print at demos and talks.

STL file for thicker knot:
STL file for thinner knot:
Thingiverse link:

Settings: Custom MakerWare profile to control the supports and how they attach to the models; see below for details. The knots in the picture were printed at 50%, 25%, and 15% scale from the STL files above.

Technical notes, math flavor: The thicker model was created in Mathematica using the following code:

a = .8  

b = Sqrt[1 - a^2]

(* a and b have to be numbers with a^2 + b^2 = 1 *) 


     {a*Cos[3 t]/(1 - b*Sin[2 t]),     

      a*Sin[3 t]/(1 - b*Sin[2 t]), 

      1.8*b*Cos[2 t]/(1 - b*Sin[2 t])}, 

     {t, 0, 2 Pi+.01}, 

     PlotStyle -> Tube[0.25, PlotPoints -> 24], 

     PlotRange -> All] 

Export["tritangentless_thick.stl", %]

The parametric equation in this code comes from Morton’s paper Trefoil Knots Without Tritangent Planes, Bull. London Math Soc. 23 (1991), 78-80. Changing 0.25 to 0.15 in “Tube” creates the thinner model. The “+.01” at the end of the t-range is to make sure that the knot connects back to itself again when it closes the loop. If you take that part out then you will be able to pull apart the model in that spot, which is useful if you want to put the knot around something but not so useful if you don’t want your model to look a little broken.

Technical notes, custom slicing profile flavor: The standard MakerWare profiles work very well for nearly everything I print, but for these knots those profiles leave too much support inside the knots that is difficult to remove.  Here’s what I changed from the “PLA standard” profile:

  • “roofThickness”: 0.5,   (down from 0.8)
  • “floorThickness”: 0.5,   (down from 0.8)
  • “sparseInfillPattern”: “linear”,  (instead of hexagonal, which shows through badly for these models when using translucent filament)
  • “infillDensity”: 0.2,   (up from 0.1, to make sure the knots are sturdy since they curve around a lot)
  • “minSpurLength”: 0.4,  (up from 0.34, but can’t remember why i did this now – possibly because my knot models have bad mesh/slice problems sometimes and this was fixing the problem)
  • “doSupport”: true,
  • “doSupportUnderBridges”: true,
  • “supportDensity”: 0.1,   (down fro 0.2 – this is the part that helps the most for these models)
  • “supportExtraDistance”: 0.8,  (up from 0.5, since parts of the model can swing out far and need some extra support)
  • “supportModelSpacing”: 0.5,  (up from 0.4, to make the support further away from the model and thus easier to remove)

Action video! Note that the very slight incline of the closed laptop is enough to make these knots roll.

UDPATE: You can now order a print of this model from Shapeways at the new Geekhaus store.



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! :)


Leave a Reply

Back to top