A mark of a good 3D print — and a good 3D printer — is interlayer adhesion. If the layers of a 3D print are too far apart, you get a weak print that doesn’t look good. This print has no interlayer adhesion. It’s a 3D printed Slinky, the kind that rolls down stairs, alone or in pairs, and makes a slinkity sound. Conventional wisdom says you can’t print a Slinky, but that didn’t stop [mpclauser] from trying and succeeding.
This Slinky model was made using a few lines of JavaScript that output a Gcode file. There is no .STL file, and you can’t edit this CNC Slinky in any CAD tools. This is also exceptionally weird Gcode. According to [mpclauser], the printer, ‘zigzags’ between an inner and outer radius while constantly increasing the height. This is the toolpath you would expect from a 3D printed Slinky, but it also means the usual Gcode viewers throw a fit when trying to figure out how to display this thing.
All the code to generate your own 3D printable Slinky Gcode file is up on [mpclauser]’s Google Drive. The only way to see this print in action is to download the Gcode file and print it out. Get to it.
Typing source code to design 3D objects is engineering at it’s best, well done!
;Thank you, that comment shows a lot of
G91
G2 X10 I5
G2 X10 I5
G1 X-10 Y-10
G1 X-10 Y10
how do they do going down 3D print stairs?
https://www.youtube.com/watch?v=JIPK2NQ85Fc
I was looking for the sound of a plastic slinky because I only remember the metal ones…
…and attahing it here was an error…
Sorry…
Just tried to print this. The gcode download is fairly useless unless you happen to have the same filament/printer/nozzle as the author, so be prepared to try to compile this. Also worth noting, since the article’s writer doesn’t seem to know the difference, this is a java program, not javascript.
I’ll work on making a GUI for entering parameters, something that only requires a JVM to run. That should help get others printing.
cool! I was mostly harshing on benchie, not demanding extra work from you, but I will definitely give it a shot if you get it done :D
Thats awesome
No I don’t like this at all, We need to be able to print the people who would print a slinky and push them down the stairs.
From the realm of “don’t tell me what I can’t do”….
Three clicks later I’m looking at it in Repetier-Host.
glad to hear you can visualize the gcode. I was surprised when the write-up said it was not view-able. I’ve had no trouble with both Repetier-Host, and gcode.ws(first result when googling gcode viewer)
sed -i -e ‘s/JavaScript/Java/g’ https://hackaday.com/2017/03/09/we-can-now-3d-print-slinkys/
bah! call me when it actually makes a slinkety sound! plastic don’t cut it!
would this work on a laser sintering machine? :)
Presumably yes, if you used a powder based machine and had a small amount of distance between each layer and didn’t mind printing a $2,000 stainless slinky. Would probably take a bit of testing.
If using a SLS, it would either require an incredibly small layer height, or would have a stepped appearance. i’m moving the vertical axis at least every degree of rotation that’s 360 steps per turn in the coil. if i understand the current state of SLS each layer would have to be flattened off for the entire build volume. by the time your slinky is half way done, someone will have invented a better way of printing in metal.
A modified code could be made for SLS purposes that would print wide overlapping arcs for each layer, giving a somewhat spiral staircase appearance to the slinky, but should work. I’ve not tried this on my FDM printers for two reasons one, the long arcs would droop and probably fuse, and two, my firmware cant handle the G3 command. SLS would have a bit of un-sintered metal to support the gaps.
I would love to try some copper bearing filament to try and get that metallic sound, I’ve got access to ceramic kilns to sinter the end result.
anyone know if two prints made of copper bearing filament will go clink when hit together?
I would imagine laying the slinky on its side would make printing with SLS much easier. :)
Why would you not be able to print a sliky if you rotated it 90 degrees?
in theory yes, it could be printed on it’s side, with incredibly thin parts incredibly close together. however there would be a couple of issues
1. the spring would be at equilibrium stretched to the size it was printed at, not in a fully collapsed state. with a small enough difference, you would not notice when the slinky was sitting flat, but it would definitely affect the overall characteristics.
2. the printer would have to be honed in to perfect operation, if there is any stringing in travel moves, it wont work. if there is any movement of these extremely thin pieces from inertia, or warping, subsequent layers wont stick right. press too hard when extruding the next layer, and the structure buckles, press too soft and the new layer wont stick.
finally, printing a slinky on edge, as is with any sliced print, requires freshly extruded plastic to stick well to plastic that has cooled off, where as with my method, the freshly extruded plastic is only being asked to stick to the plastic that was extruded a moment ago, and specifically not desired to stick to the cooled off plastic.
This is great!
I have always thought that writing code to generate GCode could make better prints than slicing 3d models.
Kind of like the difference between WAV and MP3
Have been holding out hope for a good while now, but this nails down the impression these machines will go down in history associated with the vac-u-form, easy-bake oven, and chemistry set. At best they’re matching lincoln logs and legos, but not quite up to the erector set yet.
Might get some attention if you could print bugs with something edible…
… but hey! I do hope to be proven wrong and will be first one standing in line when you do. Would really like to see this be THE thing!
I can be ignored though…. I’m also waiting for Mr. Fusion.
We had part of a slinky.
But I straightened it.
https://jsfiddle.net/78jw0o49/4/
I ported it (quickly and poorly) to Javascript.
Does this now qualify as a hack?
Cleaned it up a lot more.
https://jsfiddle.net/78jw0o49/9/
Updated to mpclauser’s latest code, it’s now about as clean as I’m going to make it.
Just needs some html elements for configuring values.
https://jsfiddle.net/78jw0o49/18/
I bought my wife a slinky dress.
Every time she wears it, she falls down stairs :-)
LOL. You should see what happens when she gets onto an escalator!
what goes down stairs, alone or in pairs
rolls over your neighbours dog!
its great for a snack, it fits on your back
its…
…been stuck in my head for hours. You beat me to it!
stuck in my head all week.
LOG LOG LOG!
To be honest, I don’t get why no one hadn’t done this before. A slinky happens to be the same “path” as helical milling, or thread milling. It’s the exact same code- radial moves from an origin point moving up or down in Z axis the same amount. I honestly can’t believe no one ever noticed this? Of course, the helical lead in and out of thread milling isn’t here, but it’s just a helix. Really, no one noticed this before? The G code to do this is utterly basic
FDM printing isn’t like milling and sure this may have been tried before but few are brave enough to post their work. The trouble with 3D printers is stuff tends to fuse together so the trick is to find a method that is successful.