OctoPrint is arguably the ultimate tool for remote 3D printer control and monitoring. Whether you simply want a way to send G-Code to your printer without it being physically connected to your computer or you want to be able to monitor a print from your phone while at work, OctoPrint is what you’re looking for. The core software itself is fantastic, and the community that has sprung up around the development of OctoPrint plugins has done an incredible job expanding the basic functionality into some very impressive new territory.
But all that is on the software side; you still need to run OctoPrint on something. Technically speaking, OctoPrint could run on more or less anything you have lying around the workshop. It’s cross platform and doesn’t need anything more exotic than a free USB port to connect to the printer, and people have run it on everything from disused Windows desktops to cheap Android smartphones. But for many, the true “home” of OctoPrint is the Raspberry Pi.
But while the Raspberry Pi is more than capable of controlling a 3D printer in real-time, there has always been some debate about its suitability for slicing STL files. Even on a desktop computer, it can sometimes be a time consuming chore to take an STL file and process it down to the raw G-Code file that will command the printer’s movements.
In an effort to quantify the slicing performance on the Raspberry Pi, I thought it would be interesting to do a head-to-head slicing comparison between the Pi Zero, the ever popular Pi 3, and the newest Pi 3 B+.
The cool kids these days all seem to think we’re on the verge of an AI apocalypse, at least judging by all the virtual ink expended on various theories. But our putative AI overlords will have a hard time taking over the world without being able to build robotic legions to impose their will. That’s why this advance in 3D printing that can incorporate electronic circuits may be a little terrifying, at least to some.
The basic idea that [Florens Wasserfall] and colleagues at the University of Hamburg have come up with is a 3D-printer with a few special modifications. One is a separate extruder than squirts a conductive silver-polymer ink, the other is a simple vacuum tip on the printer extruder for pick and place operations. The bed of the printer also has a tray for storing SMD parts and cameras for the pick-and-place to locate parts and orient them before placing them into the uncured conductive ink traces.
The key to making the hardware work together though is a toolchain that allows circuits to be integrated into the print. It starts with a schematic in Eagle, which joins with the CAD model of the part to be printed in a modified version of Slic3r, the open-source slicing package. Locations for SMD components are defined, traces are routed, and the hybrid printer builds the whole assembly at once. The video below shows it in action, and we’ve got to say it’s pretty slick.
Sure, it’s all academic for now, with simple blinky light circuits and the like. But team this up with something like these PCB motors, and you’ve got the makings of a robotic nightmare. Or not.
The mechanical and electronic parts of a 3D printer are critical for success, but so is the slicing software. Slic3r and Cura are arguably the most popular, and how they command your printer has a lot to do with the results you can get. There are lots of other slicers out there both free and paid, but it is hard to really dig into each one of them to see if they are really better than whatever you are using today. If you are interested in the performance of IceSL — a free slicer for Windows and Linux — [DIY3DTECH] has a video review that can help you decide if you want to try it. You can see the video below.
IceSL has several modules and can actually do OpenSCAD-like modeling in Lua so you could — in theory — do everything in this one tool. The review, though, focuses only on the slicing aspect. In addition to the desktop client versions, you can use some features online (although on our Linux machine it didn’t work with the latest Chrome beta even with no add ons; Firefox worked great, though).
There are two main applications for managing 3D prints and G-Code generation. Cura is a fantastic application that is seeing a lot of development from the heavy hitters in the industry. Initially developed by Ultimaker, Lulzbot has their own edition of Cura, It’s the default software packaged with thousands of different printers. Slic3r, as well, has seen a lot of development over the years and some interesting hacks. Do you want to print non-planar surfaces? Slic3r can do that. Slic3r and Cura are two sides of the CAM part of the 3D printing coin, although Cura is decidedly the prettier side.
The ability to combine the extensibility of Slic3r with the user interface of Cura has been on our wish list for a while now. It’s finally time. [Josef Prusa] has released PrusaControl, a 3D printing CAM solution that combines the best of Slic3r into a fantastic, great looking package. What are the benefits? What’s it like? Check that out below.
We all know that hacker that won’t use a regular compiler. If he’s not using assembly language, he uses a compiler he wrote. If you don’t know him, maybe it is you! If you really don’t know one, then meet these two. [Nathan Fuller] and [Andy Baldwin] want to encourage you to write your own 3D slicer.
Their post is very detailed and uses Autodesk Dynamo as a graphical programming language. However, the details aren’t really specific to Dynamo. It is like a compiler. You sort of know what it must be doing, but until you’ve seen one taken apart, there are a lot of subtleties you probably wouldn’t think of right away if you were building one from scratch.
3D printers are an exercise in compromise. Generally, you don’t want a lot of mass on your tool head, as that can lead to ringing and other mechanical artifacts on your print. However, direct drive extruders are better for many filaments, and the decision on what printer to build ultimately comes down to a choice between speed, build area, and the ability to print in exotic filaments.
Even in slicing a 3D model, a 3D printing enthusiast must balance the quality of a print versus how long the print will take to squirt out of a nozzle. Now, just about any printer can produce fantastic models at a very high layer height, but no one wants to wait several days for the print to finish.
This balance between print time and print quality has, for the last few years, been completely ignored. One of the best solutions to this we’ve seen is variable layer height slicing. Basically, if you’re printing something without much detail, you don’t need small layers in your 3D print. Think of it as printing the neck of a bust at 0.3mm layer height, and the face at 0.1mm.
Yes, there were a few papers from a decade ago laying the conceptual foundations of variable layer height slicing. 3D printers weren’t exactly common back then, though. Recently, Autodesk’s Integrated Additive Manufacturing Team released Varislice for automatic generation of variable layer heights on a 3D printed object. So far, though, there’s no good automated solution for variable layer height slicing, and the tools for manual configuration of variable layer height slicing are terrible.
For the past few months, Prusa Research has been working on their own edition of Slic3r that includes an easy to use interface for variable layer height slicing. This version of Slic3r was just released, and now it’s time for the hands-on. Does variable layer height slicing work?
With proper tuning, any 3D printer can create exceptionally detailed physical replicas of digital files. The time it takes for a printer to print an object at very high detail is another matter entirely. The lower the layer height, the more layers must be printed, and the longer a print takes to print.
Thanks to [Steve Kranz] at Autodesk’s Integrated Additive Manufacturing Team, there’s now a solution to the problem of very long, very high-quality prints. It’s called VariSlice, and it slices 3D in a way that’s only high quality where it needs to be.
The basic idea behind VariSlice is to print vertical walls at a maximum layer height, while very shallow angles – the top of a sphere, for example – are printed at a very low layer height. That’s simple and obvious; you will never need to print a vertical wall at ten micron resolution, and fine details will always look terrible with a high layer height.
The trick, as in everything with 3D printing, is the implementation. In the Instructable for VariSlice, it appears that the algorithm considers the entire layer of an object at a time, taking the maximum slope over the entire perimeter and refining the layer height if it’s necessary. There’s no weird stair stepping, overlapping layers of different thicknesses, or interleaving here. It’s doing automatically what you’d normally have to do manually.
Nevertheless, the VariSlice algorithm is now one of Autodesk’s open source efforts, just like the Ember resin printer used in the example below. The application for this algorithm in filament-based printers is obvious, though. The speed increase for the same level of quality is variable, but the time it takes to print some very specific objects can be up to ten times faster. Whether or not this algorithm can be integrated into Cura or Slic3r is another matter entirely, but we can only hope so.