3D Print Springs With Hacked GCode

If you’ve used a desktop 3D printer in the past, you’re almost certainly done battle with “strings”. These are the wispy bits of filament that harden in the air, usually as the printer’s nozzle moves quickly between points in open air. Depending on the severity and the material you’re printing with, these stringy interlopers can range from being an unsightly annoyance to triggering a heartbreaking failed print. But where most see an annoying reality of pushing melted plastic around, [Adam Kumpf] of Makefast Workshop sees inspiration.

Noticing that the nozzle of their printer left strings behind, [Adam] wondered if it would be possible to induce these mid-air printing artifacts on demand. Even better, would it be possible to tame them into producing a useful object? As it turns out it is, and now we’ve got the web-based tool to prove it.

As [Adam] explains, you can’t just load up a 3D model of a spring in your normal slicer and expect your printer to churn out a useful object. The software will, as it’s designed to do, recognize the object can’t be printed without extensive support material. Now you could in theory go ahead and print such a spring, but good luck getting the support material out.

The trick is to throw away the traditional slicer entirely, as the layer-by-layer approach simply won’t work here. By manually creating GCode using carefully tuned parameters, [Adam] found it was possible to get the printer to extrude plastic at the precise rate at which the part cooling fan would instantly solidify it. Then it was just a matter of taking that concept and applying it to a slow spiral motion. The end result are functional, albeit not very strong, helical compression springs.

But you don’t have to take their word for it. This research has lead to the creation of an online tool that allows you to plug in the variables for your desired spring (pitch, radius, revolutions, etc), as well as details about your printer such as nozzle diameter and temperature. The result is a custom GCode that (hopefully) will produce the desired spring when loaded up on your printer. We’d love to hear if any readers manage to replicate the effect on their own printers, but we should mention fiddling with your printer’s GCode directly isn’t without its risks: from skipping steps to stripped filament to head crashes.

The results remind us somewhat of the 3D lattice printer we featured a couple of years back, but even that machine didn’t use standard FDM technology. It will be interesting to see what other applications could be found for this particular technique.

Continue reading “3D Print Springs With Hacked GCode”

Mastering OpenSCAD Workflow

As you may have noticed in our coverage, we’re big fans of OpenSCAD around these parts. The fact that several of the Hackaday writers organically found and started using the parametric CAD package on their own is not only a testament to our carefully cultivated hive mind but also to the type of people it appeals to. Hackers love it because it allows you to model physical objects as if you were writing software: models are expressed in code, and its plain text source files can be managed with tools like git and make. If you’re a real Pinball Wizard you could design objects and export them to STL without ever using a graphical interface.

But as you might expect, with such power comes a considerable learning curve. OpenSCAD devotee [Uri Shaked] recently wrote in to share with us his workflow for designing complex interacting mechanisms, which serves as an excellent primer to the world of parametric design. From animating your models to recreating the “vitamins” of your build, his post contains plenty of tips that can help both new and veteran OpenSCAD users alike.

Perhaps the biggest takeaway from his post is that you should be thinking of your projects as a whole, rather than as individual models. [Uri] recalls his early attempts at designing mechanisms: designing each component individually, printing it out, and only then finding out if it fits together with the other pieces. This method of trial and error is probably familiar to anyone who’s designed their own 3D printed parts — but it’s slow and wastes materials. The alternative, as he explains it, is to design all of the pieces at the same time and “assemble” them virtually. This will allow you to check clearances and fitment without dedicating the time and materials to test it in the real world.

In fact, as [Uri] explains, you’re better off spending your time bringing real-world parts into OpenSCAD. By carefully measuring the hardware components you want to interact with (servos, gears, switches, etc), you can create facsimiles of them to use as a reference in your OpenSCAD project. As time goes on, you can build up your own library of drop-in reference models which will accelerate future designs.

He also spends a little time talking about something that doesn’t seem to be terribly well known even among the OpenSCAD converts: you don’t have to use the built-in editor if you don’t want to. Since OpenSCAD source code files are plain text, you can write them in whatever editor you like. The OpenSCAD model viewer even has an option specifically for this scenario, which will cause it to update the rendered preview as soon as it detects the source has been updated. For [Uri] this means he can create his designs in Visual Studio Code with a constantly updating preview in another window.

If you’re looking for examples of what the parametric capabilities of OpenSCAD can do for you, we’ve got no shortage of excellent examples. From creating customized computer cases to saving time by using mathematically derived components. Our very own [Elliot Williams] even has a write up about that most glorious of OpenSCAD commands: hull().

3D Printering: Blender Tips For Printable Objects

3D models drawn in Blender work great in a computer animated virtual world but don’t always when brought into a slicer for 3D printing. Slicers require something which makes sense in the real world. And the real world is far less forgiving, as I’ve found out with my own projects which use 3D printed parts.

Our [Brian Benchoff] already talked about making parts in Blender with his two-part series (here and here) so consider this the next step. These are the techniques I’ve come up with for preparing parts for 3D printing before handing them off to a slicer program. Note that the same may apply to other mesh-type modeling programs too, but as Blender is the only one I’ve used, please share your experiences with other programs in the comments below.

I’ll be using the latest version of Blender at this time, version 2.79b. My printer is the Crealty CR-10 and my slicer is Cura 3.1.0. Some of these steps may vary depending on your slicer or if you’re using a printing service. For example, Shapeways has instructions for people creating STLs from Blender for uploading to them.

Continue reading “3D Printering: Blender Tips For Printable Objects”

Hotend Becomes the Z Probe with a Kinematic Coupling

3D Printer tool changers are bedazzling to watch, but even failed attempts at tool changers can yield something marvelous. Such is the case for [Raymond] who transformed a tool changer attempt into a perfectly capable z-level probe that uses the hotend itself as a limit switch.

The secret sauce behind this mechanism: a kinematic coupling. This coupling takes two planar surfaces and perfectly constrains them relative to each other by mating them together at exactly 6 points of contact. The result is that repeatedly separating and joining the two surfaces will always land them in the same spot within a few microns. To transform these surfaces into a switch, we need only run a small current between the points of contact. That was easy since there were all-metal balls and pins making the connection. Both surfaces are held together with magnets with the upper surface holding the hotend. To trip the limit switch, the printer simply lowers the z-height until the hotend “probes” the bed, defeating the magnets and breaking the current. Presto! No switches or P.I.N.D.A. probes. Just good old fashioned electricity and steel pins.

With so much focus on pricey probes and repeatable switches, it’s great to see some good old-fashioned geometry guiding the precision behind this printer’s sensing. It’s also heartwarming hear that the whole project was actually inspired by another coupling-equipped 3D printer that landed here a few years ago! Finally, if you’re curious to see some other folks getting some more mileage out of kinematic couplings, have a look at this homebrew CNC touch probe.

3D-Printer Extrudes Paper Pulp Instead of Plastic

We’ve seen all sorts of 3D-printers on these pages before. From the small to the large, Cartesians and deltas, and printers that can squeeze out plastic, metal, and even concrete. But this appears to be the first time we’ve ever featured a paper-pulp extruding 3D-printer.

It’s fair to ask why the world would need such a thing, and its creator, [Beer Holthuis], has an obvious answer: the world has a lot of waste paper. Like 80 kg per person per year. Thankfully at least some of that is recycled, but that still leaves a lot of raw material that [Beer] wanted to put to work. Build details on the printer are sparse, but from the photos and the video below it seems clear how it all went together. A simple X-Y-Z gantry moves a nozzle over the build platform. The nozzle, an order of magnitude or two larger than the nozzles most of us are used to, is connected to an extruder by a plastic hose. The extruder appears to be tube with a stepper-driven screw that lowers a ram down onto the pulp, squeezing it into the hose. [Beer] notes that the pulp is mixed with a bit of “natural binder” to allow the extruded pulp to keep its shape. We found the extrusion process to be just a wee bit repulsive to watch, but fascinating nonetheless, and the items he’s creating are certainly striking in appearance.

This may be the first pulp printer to grace our pages, but it’s not the first pulp hack we’ve featured. Pulp turns out to be a great material to keep your neighbors happy and even makes a dandy fuel.

Continue reading “3D-Printer Extrudes Paper Pulp Instead of Plastic”

A 3D-Printed Egg-Shaped Speaker Cabinet

There are few limits to the extent audiophiles will go in their quest for the perfect sound. This applies in particular to the loudspeaker, and with that aim [Heine Nielsen] has created an eye-catching set of 3D-printed egg-shaped enclosures.

The theory of a loudspeaker enclosure is that it should simulate an infinite space behind an infinite plane in which the speaker driver is mounted, and the reasoning behind spherical or egg-shaped enclosures goes that they better achieve that aim through presenting a uniform inner surface without the corners of a more conventional rectangular enclosure. [Heine]’s enclosures 3D-printed ported enclosures achieve this more easily than traditional methods of building this shape.

A loudspeaker enclosure is more than just a box though, whatever material it is made from must adequately dampen any resonances and absorb as much energy as possible. Conventional speakers try to achieve this by using high-mass and particulate materials, but 3D-printing does not lend itself to this. Instead, he created a significant air gap between two layers which he hopes will create the same effect.

This is an interesting design and approach to speaker cabinet construction, but we think from an audio perspective its one that will be well served by more development. What would be the effect of filling that air gap with something of higher mass, for example, and should the parameters of the egg shape and the port be derived for a particular driver by calculation from its Thiele-Small parameters. We look forward to more on this theme.

These aren’t the first 3D-printed enclosures we’ve seen, but if you’re after something truly unusual how about an electrostatic?

An OpenSCAD Mini-ITX Computer Case

We’re no strangers to 3D printed enclosures here at Hackaday. From the plethora of printed Raspberry Pi cases out there to custom enclosures for electronic projects, small plastic boxes turn out to be an excellent application for desktop 3D printing. But as printers get bigger and filament gets cheaper, those little boxes don’t always need to be so little. We aren’t talking about running off boxes for your sneaker collection either, if you’ve got the time and the print volume, you could whip up an enclosure for your PC.

[Nirav Patel] writes in to share his impressive 3D printed Mini-ITX computer case project, which would be a neat enough trick in its own right, but he took the concept one step farther and made it a parametric design in OpenSCAD. This allows the user to input their particular hardware configuration and receive STL files for a bespoke case. The list of supported hardware isn’t that long yet, but with the OpenSCAD code up on GitHub and released under the BSD license, hopefully the community can improve on that as time goes on.

To keep things simple (and strong), [Nirav] implemented what he refers to as a “bucket” design. The majority of the case is a single print, which does take a long time (just shy of 40 hours on his Prusa i3 MK3), but nearly eliminates any post-printing assembly. Only the optional feet and the lid need to be printed separately. Threaded inserts are used throughout the design for mounting hardware, so you don’t run the risk of blowing out the printed holes during hardware changes or upgrades.

A particularly neat feature, and a testament to the power of OpenSCAD, is the fact that the case’s internal volume is calculated and embossed into the side of the design. Does this have any practical purpose? Not exactly, but [Nirav] thought it would be appealing to the Mini-ITX case modding community which apparently measures their accomplishments in liters of volume.

We’ve seen a 3D printed computer case before, but it used acrylic sheets and couldn’t be made without a large format printer. There’s something to be said for a project that can be completed on the hacker community’s favorite printer.