Hilbert Cube

by tbuser, published

Hilbert Cube by tbuser Jan 21, 2012

Featured Thing!


While looking for new interesting things to print using water soluble PVA support, I decided I want to try to make a Hilbert Cube: http://en.wikipedia.org/wiki/Hilbert_cube

After trying and failing to do it in openscad, I worked around it's limitations by writing a ruby script that generates openscad code. This ruby script can create a 1-3 iterations of a hilbert curve in 3d. I borrowed code from a Processing script by Thomas Diewald at http://www.openprocessing.org/visuals/?visualID=15599

Unfortunately after doing this, I realized it wasn't really a hilbert cube as the shape is not one continuous curve. :( Still it looks cool and is pretty much impossible to print without dissolvable support. It would be awesome if someone smarter than me would make a proper parametric hilbert cube generator, plz!

I also found a really nice and proper curved hilbert cube by Carlo H. Séquin at http://www.cs.berkeley.edu/~sequin/X/Hilbert_Cube/ I resized it and made a support model for it. I don't know what the license is on it, hopefully he won't mind me reposting it here. The problem with this model is that it is curved in a way that makes it a more difficult print.

See also this hilbert cube print from shapeways: http://www.youtube.com/watch?v=9cdWpQ2D-O8

Recent Comments

view all

What are the temperatures of the hotend and the heatbed when you print with PVA filament?

Yeah I've used ABS/HIPS and limonene as well as PLA/PVA and water.

How did you disolve the disolvable filament? With Limonene or what?

More from Math Art

view more

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


nowipe.rb is a script that takes a merged gcode and removes all wipe movements. The current version of replicatorg's dualstrusion merging adds movements (weather you tell it to wipe or not) that results in z offset problems causing bad quality prints. I've had the best luck with dualstrusion by not doing any wipes at all.

What are the temperatures of the hotend and the heatbed when you print with PVA filament?

How did you disolve the disolvable filament? With Limonene or what?

Yeah I've used ABS/HIPS and limonene as well as PLA/PVA and water.

I have a printrbot jr with regular PLA material. Can I print this with just that?

these hilbert cubes are printing beautifully on my stratasys dimension 1200es sst. I have printed all of the cubes. one run at 1.0 scale and one run at 2.0 scale. The printer uses ABSPlus (a proprietary abs melts at 300C) and a soluble support material from a second extruder also at 300C (notice same temp). parts are then snapped off printbed and placed in an ultrasonic NaOH bath for about 2.5 hours. rinse. finish.

end product is great. hilbert cube 2 is very flexible and will pop right back into shape! 4d printing! lol. Just playin. But seriously.

Have you tried any other materials for dualstrusion? I did some research on rubber-like materials (for things like one piece printed hinges or water tight gaskets.) have you looked into thermoplastic-elastomers? I've only seen it sold in pellets. I figured if anyone in the 3d printer community would know it would be the renown Mr. Buser.

Can anyone with a dualextruder right now load PVA in one size, PLA in the other, and have this work out of the box? Or did you need to do some modifications to make this work? I'd love a blog post.

I loaded PVA in one side and PLA in the other. But, no joy so far. The PLA will not stick to the PVA support. So far. Maybe I need a higher temp?

Can't believe it's been 2 years...

Really cool!!!

How did you create the support model?

Another awesome job Tony! 8-) :)

There are three polishers/agitators at the BotLair from Project Shellter. Put your part and water in a ziploc bag and toss into one of them. The agitation should speed up the dissolving time considerably!

can you post a video of this being printed I would love to see your set up in action!! Keep up the cool work !!

Instead of going for full dualstrusion with two stls, couldn't you just enable SF's support feature and include the extruder switch in suppoert_start.gcode and support_end.gcode? It would be a) automated and b) use less PVA, since SF generates light support and uses it only where neccesary.

cymon - in reply to

That would be, to me, the next logical step for this.

Oh that is too cool!! What do you have the dual extruders on? Is that a mix of PLA and ABS?

I'm using dual mk7 extruders on a ToM. That print is PLA and PVA, the PVA is water soluble.

I changed the position of 4 blocks and added another.. Sent you an email

It looks like the script has a 50/50 chance of starting correctly. Even if it misses, its fairly simple to fix. PS... My email will probably hit your spam. Some automated spam finding program blacklisted our domain a couple of years ago.