Good 3D printers now have multiple hot ends. You ought to be able to print in different colors or print support material. However, a lot of us don’t have multiple hot ends. Turns out, you don’t have to have multiple hot ends to print in multiple colors. To accomplish that you need a lot of patience and the willingness to tell bald-faced lies. Don’t worry, though, you’ll only be lying to some computer hardware and software, so that doesn’t count.
You may have seen people talk about putting a pause between layers to switch from one color to another. That works, but it limits your options. For example, if you want to put some colored text on a different colored background, you have to either have the text poke out, or it has to be “under” the background. It can’t be flush if you only have a single extruder and hot end. My method is a lot more trouble, but it can generate good results.
Keep in mind, with hobby-grade printers, multiple color printing has a lot of problems even if you do have multiple extruders. This isn’t a panacea. But you can get results on par with a similar printer that has multiple heads.
Bottom Line Up Front
Here are a few pictures of test prints that use this technique. A Monoprice Mini printer with the stock extruder and hot end created them using different PLA filament. On the left is a test cube, with a color spot in the middle of the layers (as well as some spots on the top surface you can’t see). To the right is a plate with my call sign in a contrasting color. It is hard to tell in the picture, of course, but there is one surface. The text is at the same height as the yellow surface.
I didn’t spend a lot of time making these prints since I was more focused on perfecting the methodology. The layer heights aren’t very fine, the infill is sparse, and the print speed was fast. However, you could invest time into making better-looking prints. You can also use the usual techniques that you use with a “real” multi-extrusion printer (such as priming towers, ooze shields, etc.).
It’s the Hack ‘O Lantern edition! First up, Slic3r is about to get awesome. Second, Halloween is just around the corner, and that means a few Hackaday-branded pumpkins are already carved. Here’s a few of them, from [Mike] and [yeltrow]:
The latest edition of PoC||GTFO has been released. Holds Stones From The Ivory Tower, But Only As Ballast (PDF and steganography warning). This edition has a reverse engineering of Atari’s Star Raiders, [Micah Elisabeth Scott]’s recent efforts on USB glitching and Wacom tablets, info on the LoRa PHY, and other good stuff. Thanks go to Pastor Manul Laphroaig.
Pobody’s Nerfect in Australia so here’s a 3D printed didgeridoo. What’s a didgeridoo? It’s an ancient instrument only slightly less annoying than bagpipes. It’s just a tube, really, and easily manufactured on any 3D printer. The real trick is the technique that requires circular breathing. That’s a little harder to master than throwing some Gcode at a printer.
[Chris Downing] is the master of mashed up, condensed, and handheld game consoles. His latest is another N64 portable, and it’s a masterpiece. It incorporates full multiplayer capability, uses an HDMI connector for charging and to connect the external breakout box/battery, and has RCA output for full-size TV gameplay. Of note is the breakout board for the custom N64 chip that puts pads for the memory card and a controller on a tiny board.
Non-planar layer Fused Deposition Modeling (FDM) is any form of fused deposition modeling where the 3D printed layers aren’t flat or of uniform thickness. For example, if you’re using mesh bed leveling on your 3D printer, you are already using non-planar layer FDM. But why stop at compensating for curved build plates? Non-planar layer FDM has more applications and there are quite a few projects out there exploring the possibilities. In this article, we are going to have a look at what the trick yields for us.
Most of our beloved tools, such as Slic3r, Cura or KISSlicer, offer scripting interfaces that help a great deal if your existing 3D printing toolchain has yet to learn how to produce decent results with a five headed thermoplastic spitting hydra. Using scripts, it’s possible to tweak the little bits it takes to get great results, inserting wipe or prime towers and purge moves on the fly, and if your setup requires it, also control additional servos and solenoids for the flamethrowers.
This article gives you a short introduction in how to post-process G-code using Perl and Slic3r. Perl Ninja skills are not required. Slic3r plays well with pretty much any scripting language that produces executables, so if you’re reluctant to use Perl, you’ll probably be able to replicate most of the steps in your favorite language.
Most 3D printing projects start with a 3D model of some kind. Slicing programs transform the model into gcode. The gcode file contains the commands that actually drive your printer. There are different ways to slice a model and sometimes you want to use more than one on a single model. I’ve been working on a way to make that easier.
When you slice a 3D printing model, you can select different attributes for the resulting gcode file. For example, you might set the slicer to produce different infill density, temperatures, or print speeds. These settings can have a big impact on your printing results. For example, a piece that needs high strength might require a denser infill than some trinket or key chain. You might want an artistic piece to have a finer layer height than some internal part for some gadget no one will ever see.
One Size Fits All?
The problem is that for most open source slicers, these settings will apply to the entire model. Cura has some plugins that can change settings at different Z heights, and Slic3r can vary layer height, but in the general case, what you set for the slicer will apply to the entire model. Of course, a gcode file is nothing more than a text file, so if you are industrious, you can manually merge two or more files into one.
A manual merge is a pain, which is why I wrote gblend. It can stitch together gcode files to get various effects. The program takes multiple gcode files in as inputs and can combine them in different ways. The most useful feature allows you to get a certain number of layers from each source file and combine them into a single print. Measurements are in millimeters, so you don’t have to worry about layer numbers. The entire process is much easier than anything else I’ve come across.
About a year ago, [David] looked at the state of the art in 3D printer control and Replicator G. While Replicator G, along with Pronterface and Repetier-Host both convert 3D models into G-code files as well as control the printer while its squeezing plastic out onto a bed. [David] thought the current state of these RepRap host programs were janky at best, and certainly not the best user experience for any home fabricator. This lead him to create Cura, a very slick and vastly improved piece of host software for the Ultimaker.
Cura isn’t just a fancy front end on an already existing slicer engine; [David] created his own slicing algorithm to turn .STL files into G-code that’s immensely faster than skeinforge. Where skeinforge could take an hour to slice a complex model, Cura does the same job in minutes.
There are also a bunch of cool features available in Cura: you can rotate any part before sending it to the printer, as well as pulling voxels directly from your Minecraft world and sending them to your printer. Very, very cool stuff, and if you’re running a Ultimaker or any other RepRap, you might want to check it out.
When in Rome, most people visit great works of art, see masterpieces of architecture, or simply try to convince random tourists that a modern recreation of naval battles in the Colosseum would be really cool and somebody should really get on that. [Andrew] had a different idea, though. He thought meeting up with Slic3r developer [Alessandro Ranellucci] would be just as educational and entertaining as visiting a basilica and thoughtfully decided to film his interview for all to see.
Whenever a file of a 3D object is sent to a 3D printer, the object must first be converted into GCode – the language of lines, circles, and computer aided design that all 3D printers speak. To convert 3D objects to GCode, every piece of 3D printer software from Pronterface, ReplicatorG, and Repetier must first ‘slice’ the file up so the object can be printed one layer at a time.
As the lead dev for Slic3r, [Alessandro], a.k.a. [Sound] goes over the current happenings of his STL to GCode converter – he’s even getting a little support from the very cool people at LulzBot – and the future of Slic3r. There’s still a lot of work to be done optimizing the current software, improving the user interface, and getting rid of all those nasty edge-case bugs.
For as much as we at Hackaday focus on the hardware half of 3D printers, it must be said the current state of the art in desktop manufacturing wouldn’t be where it is without [Alessandro] and other software devs. There’s still a lot of room for improvement – try printing a single wall thickness cylinder without a seam, for example – but without software projects like Slic3r, 3D printing wouldn’t be where it is today.