Devious Pythagorean Cup

by jsteuben, published

Devious Pythagorean Cup by jsteuben Jul 25, 2013
22 Share
Download All Files

Thing Apps Enabled

Order This Printed View All Apps


A part of these Groups

View All


Liked By

View All

Give a Shout Out

If you print this Thing and display it in public proudly give attribution by printing and displaying this tag.

Print Thing Tag

Thing Statistics

59271Views 8341Downloads Found in Engineering


The Pythagorean cup is a drinking vessel designed to drain its contents via siphon action if it is overfilled. If the cup is partially filled, it holds liquid which can be drunk in the usual fashion. If it is overfilled it drains the entire contents of the cup into the drinker's lap. This object was classically used as a warning of the dangers of gluttony and over-consumption.

Unfortunately, Pythagorean cups feature a distinctive central stem to house the siphon tube which drains the cup - see for instance http://www.thingiverse.com/thing:27533. This gives away the surprise and spoils some of the fun! Fortunately, modern 3D printing allows us to build a more devious cup, with a hidden siphon.

This object is a Pythagorean cup with the siphon tube concealed in the drinking vessel walls. The siphon tube traverses more than 300 degrees of the circumference of the rim, so a moderately filled cup will not drain when it is tilted. This object has been printed and tested, and is 100% functional! It makes a great brainteaser or science demonstration for students.


This object was originally printed on a Makerbot Replicator 2:

Material: Makerbot True Yellow PLA
Layer Thickness: 0.2 mm
Shells: 3
Temp: 240 C
Infill Type: Hex
Infill Density: 20%
Raft: None
Supports: None

All other settings remained at the Makerware "standard" profile default values. The cup should be oriented in a standing fashion for printing.

For other printers and materials, the chief concern is producing a watertight or nearly watertight surface on the inside of the cup and siphon tube. If you have trouble achieving this, decrease the layer thickness to 0.1mm and bump up the number of shells. If this does not do the trick, tune your extruder for fatter extrusions.

The STL file produces a ~8 cm tall cup at native scale. The STL mesh is dense enough that it should scale up or down very nicely.

I have included the original Solidworks file used to produce the STL in case anyone would like to improve this design. If another file format is requested, please leave a comment.

More from Engineering

view more

All Apps

Auto-magically prepare your 3D models for 3D printing. A cloud based 3D models Preparing and Healing solution for 3D Printing, MakePrintable provides features for model repairing, wall thickness...

App Info Launch App

Kiri:Moto is an integrated cloud-based slicer and tool-path generator for 3D Printing, CAM / CNC and Laser cutting. *** 3D printing mode provides model slicing and GCode output using built-in...

App Info Launch App
KiriMoto Thing App

With 3D Slash, you can edit 3d models like a stonecutter. A unique interface: as fun as a building game! The perfect tool for non-designers and children to create in 3D.

App Info Launch App

Print through a distributed network of 3D printing enthusiasts from across the US, at a fraction of the cost of the competitors. We want to change the world for the better through technology, an...

App Info Launch App

Quickly Scale, Mirror or Cut your 3D Models

App Info Launch App

Treatstock is an online platform that offers decentralized manufacturing services such as 3D printing and CNC machining for clients all over the world. We offer free and instant access to comparati...

App Info Launch App

3D print your favourite design with NinjaPrototype, a professional 3D manufacture with consistent quality and speed.

App Info Launch App

so do you print the top of the cup on the build plate or do you print if the way it would be held

Could you please upload a version with higher resolution? This one seems low on polygons.

Nice one.

  • Consider changing the internal circular tube to be an ellipse. You can then have thinner walls in the cup and a more "drinkable" final model.
  • Perhaps an insgnia on the inside for the user to see, so they orient the cup with the downtube in the best position to avoid an accidental draining of a properly filled cup.

What should printing speed be for this?

Printing speed will depend on your printer and the material you use. If your software offers a 'fine' or 'high quality' preset for your material, I would suggest using that.

How did you do this? What program did you use?

In an earlier comment, jsteuben said that it was designed in SolidWorks.

It says it doesnt need supports but on the file it clearly does. What should I do?

Rotate the model before printing it - it should not be printed on its side. The STL file comes out that way because SolidWorks and Makerware do not use the same default orientation.

It looks like the angles are pretty mellow. I do not think it needs supports. The cylinders on the inside look small enough that it wont collapse in on itself. I find questionable angles print better at lower layer heights.

I saw your design on 3D Printing Nerd

I, as well LOL - Printing one now :D

I too follow his videos and was sent here. I am printing this as I type :)

how thick should the shells be

I printed this in transparent PLA, tested it with soy sauce, and even made a video! Thanks for the design!

This is really cool! I do not have a 3D printer unfortunately, but have an interest in self-starting siphons that I have constructed with my kids using plastic tubing and empty seltzer bottles. I was wondering about the printing possibilities and it's good to see it confirmed.

I have had a design that I'm pretty sure would work (but have not even prototyped) for a binary ripple counter using a series of siphons. The units would not need to be devious or cup-shaped, but they should be stackable. The only difference is that the the outflow would be teed so half of it flows down to the next stage (an identical siphoned vessel) and half pours out the side into a central reservoir. For a fill volume (say 50ml) that starts the siphon, you would operate the counter by pouring half that (25ml) into the first (top) stage each time you want to increment the counter (the "clock speed" depends on the time to complete a flow). I believe that each stage would empty every second time it is filled by the previous stage (which only supplies half its volume), so the first stage would empty every other fill, the second every 4th fill, the third every 8th fill, etc. Each stage stores a bit (0 if empty, 1 if 25 ml). Since the stages are opaque (unfortunately), you would not be able to read the state of the counter easily, but could watch its outflow (which would only repeat every 2^n steps for n stages). Connecting the bottom reservoir to a recirculating pump with pulsed output of 25ml at appropriate time intervals might make an interesting fountain.

The problem with not having the central column is that if the drinker does not know how the cup is designed, they most certainly will spill all their drink. If the user brings the cup to the mouth with the internal pipe closest, the cup will empty. The reason for the central column is that when the cup is brought to the mouth the water level will not rise above the top of the internal pipe. The designer of the first cup probably had the tools to build the pipe in the walls of the cup but choose not to. I designed my own column-less cup not thinking about this and learnt this the hard way.

This is an awesome design! Printed great with 2 shells, 7% infill on a Replicator 2. I can confirm the siphon works.

I made this as is on a CUBE (setting it upright on its base) and it works fantastic! Great design.

At default size, the tube isn't quite big enough and water gets stuck. I had much better results scaling 1.5 times.

Why is the STL file on it's side?

This is because SolidWorks and Makerware do not use the same default orientation of the x-y-z axes. The part should be rotated into a standing orientation for printing.

LOL nice, I like this idea :P