In this chapter of the Zero to Maker Workshop, we're taking a look at 3D printing, an essential modern-day maker tool that allows you to easily manufacture parts for your project. If you're new to this workshop, Liam and myself will be taking you on a fast-paced and practical journey to learn a wide variety of maker skills so that you have the tools and knowledge to make anything. So follow along as we develop our own projects and share insights into the process.
So far, we've designed and 3D modeled our robot in CAD, and this week we're going to start getting it into the real world by 3D printing it. So we'll be covering the workflow and the processes of printing something, as well as how to CAD model and design for the 3D printing process. But first, why 3D printing? 3D printing is fantastic because it's so easy. Before 3D printing, if you wanted to build my robot, it would probably need to have been made out of wood or metal, and that requires skill and experience to manufacture or fabricate that. But with 3D printing, I don't need to know how to do that. As long as my parts can be made out of plastic, I can just model it in CAD, then press print, come back a few hours later, and you have something that might have taken hours or even days to make out of wood. And that's why it's such an essential 21st-century maker skill. You can make a lot of parts relatively quickly, really easily, and with very little effort. And 3D printing can make some pretty darn cool things.
This is a fully 3D-printed marble runner, and even though this is all 3D printed in one piece, we can have moving parts that allow us to do things like that. And we can print some pretty cool and complex things. Like, can you imagine having to carve this out of wood? How about a comically large wrench? I probably wouldn't use that. But this is an actual practical printed tool. It's just a 3D-printed soft vise. And if your 3D printer is dialed in well, you can get some pretty darn detailed prints on that. Now, besides cool statues and decorative pieces, we're probably, as makers, going to be making things like this. It is a 3D-printed enclosure for a little weather station project we've got. We've got this black 3D printed piece here, bolts connecting it to the white piece, and we've got this clear laser-cut acrylic on top. We'll be learning how to do that in a later video. This is a really nifty one. It's a 3D-printed housing for a keyboard macro pad. 3D printing is cool. We can make pretty much anything if we put enough time and effort to figure out how to actually print it.
Let's take a look at how to 3D print. So I've gone ahead and modeled this part in Onshape, and we'll just be going through the process and the workflow of going from Onshape to a final printed part. And this is actually our assignment for this week of Fab Lab. We had to design and get something printed. And I've been printing for a few years, so I thought I'd use this as a challenge to print something new. If we go into our view controls here, and we select section view, we can select a plane or a surface and just see inside of this. And inside, we have all of these little beads here supported by this very thin rod here. And this is a print-in-place maraca. The design is it prints all in one go, and hopefully we should be able to take it off the bed, hit it really hard, and these little rods here will snap off and we'll have the beads flying around on the inside, and we can have a little maraca shaker.
So first things first, we need to export this from Onshape into something called an STL file. There are a whole bunch of file formats that we can export to, but STL is a really nice and universal file that basically is accepted by any of the slices, which is what we're using in the next step. So we're just going to export our entire part studio here by hitting right click and then just exporting. And it just takes a little bit. We're just going to call this Shaker V1, ensure that we're exporting it as an STL here, binary. I use millimeters, so I'm going to export it in millimeters. And then we're going to be exporting it in the finest possible resolution. And then we just want to download it here. Sweet. And let that download. Now I've just gone ahead and opened it in a program called 3D Builder. You don't have to install this, it's not vital, but 3D Builder is a really great lightweight and free tool that you can use to just look at STLs. I wouldn't do modeling in here, but it's just really great to have a look before you print. And as you can see, our STL is no longer this nice mathematically defined object like it is in CAD, but instead it's made up of these thousands and thousands of little tiny triangles that make the mesh or the surface of the shape. And it's a really important thing to always export in the finest or the highest quality setting you have, because let's say we export in the lowest setting. And if we open it, you can see that there's less triangles compared to the higher-resolution model composing it. And this can give us some really more rough and bumpy edges around. But if we go to the high-resolution model, it's a lot more nice and smooth. And because if we exported this in a low resolution, you will see these triangles on the 3D print.
The next step is we're going to take the STL and import it into a slicer. And what this is, it's going to take that 3D model and turn it into instructions for the 3D printer to follow so it can actually print it out. And there are quite a few different slicer softwares you can use. We're just using Cura here. It's one of the biggest and most popular, but it doesn't really matter which one you use because the workflow and all the settings are pretty much the same across all of them. So first things first, we need to set up our slicer for our specific printer. Now, this might be a bit different depending on how you're accessing your printer. If you've got your personal printer, you're going to need to go through and do this for your own printer. If you've got a FabLab or Makerspace, they might have a pre-set up Cura profile or whatever slicer profile they're using. They might even have a dedicated computer with it set up. But for us here, we're just going to add a printer and I'm going to, it is an Ultimaker printer. It's a local one. And then I'm going to be adding the S7 here. So what we're looking at here is kind of a virtual build platform for our 3D printer. This is the bed that it's actually going to build our print upon. First things first, we're going to import our file. And usually the easiest way is to just drop and drag it in like so. Now we can click on it and we can change its position where we want to print it on the bed, as long as it's within the bounds of the printer. And usually on the right here, you'll have access to more control of these tools. So we can specify exactly where we want it to be on the bed, or we can, for example, scale it to a different size, or we could rotate it like so. There's a whole bunch of movement tools you can use to orientate your print on the bed. Just going to whack that right smack bang in the middle there. And the basic process is to import your model, get it positioned on the bed, hit slice. And what that's going to do is it's going to take this 3D model of our part and figure out how to tell the printer to be able to 3D print this.
So if we head to the preview tab, we're going to be able to see exactly that. And as you can see here, this is actually what our 3D print is hopefully going to look like. And if we adjust this slider on the side, we can see what layers the printer is going to put down to build our object like so. And on the bottom here, we can see how the printer is going to actually put down that layer with a single line of plastic. This isn't an integral part of the slicing process. It's just a really cool preview if you want to see how a printer actually makes something. And from here, we would export this file and get it on the printer printing. But first of all, we might want to learn some settings that we can change in slicer. We'll head back to the prepared tab. Now, the settings for these are probably going to be in a different location for every slicer. But the important thing is knowing what they do. So first things first is choosing the material that we want to print with.
Now, obviously, you have to have this material and it's going to be loaded into your printer. You'll need to check what materials you have access to. But the most common ones are going to be PLA, ABS and PETG. PLA is the most common because it is so easy to print with. It's not the strongest, but it's still pretty darn strong. If you want to go for strength, ABS, it's got really high-temperature resistance, but it's really, really hard to print. So I would avoid it as a beginner. And PETG has surged in popularity because it kind of combines the easiness of printing with PLA with the strength and the mechanical properties of ABS. It's a really fantastic material to use. But for this one, we'll be just using default PLA. I'm just going to select it under there. We're using black. And again, depending on how you access your printer, you're going to have to see what filaments you have access to and which one you should select in slicer. The next most important thing is the layer height or the resolution. So long story short, the 3D printer is going to build your part up in layers. And this is selecting how big those layers are going to be. So here I've gone ahead and sliced it on the smallest layer height, the most fine detailed setting there is. And you can see, first of all, the slicer doesn't like this. It's lagging quite a bit. But these curves at the top here are really nice and smooth. And this is great, but it's going to take one day, 10 hours and 49 minutes to print this. And here I've printed it on a much thicker layer height and it doesn't look the best, but it's only going to take four hours to print this. So it's a trade-off between detail and how long your print is going to take. But for most prints, kind of the default of 0.2 and 0.25 gives a really good balance of these.
The next important thing is infill and shell thickness. So if we bring this down here, you can see that these prints are not solid. They're actually a thin shell with this structure on the inside to give it support. The shell is called the shell and the inside part is called the infill. Now, I wouldn't really often touch shell thickness for 90% of the prints. You won't have to do anything to it. Maybe bump it up if you need a little bit more strength, but that is going to increase print times and we'll use more filament. The thing you more likely will touch is the infill. And there's two things we can control here, the infill density and the pattern. So I'm just going to bump it up from 15 to maybe 50% and slice it. And as you can see, we have a lot more of this infill pattern here, filling in that void. You can also play around with the infill pattern, but like most things, the default pattern and infill percentage are going to be a good balance of everything.
Now, this thing was designed to not need supports, but what I'm going to do is I'm just going to quickly import this object that does. So I've gone ahead and sliced this part. And if we take a look at how the printer is going to build each layer, we can see that it's fine until we get to this layer here. The printer is going to try and print this in mid air with nothing to build that upon. And that's obviously not going to work because it needs something to layer it on first. So the way we can fix this is by turning on supports. And what this is going to do is if we reslice it, it's going to tell the printer to build like a little kind of bridge or support or put a little bit of material to help build that layer on top of. And as you can see, the printer has created these support structures in here. We didn't model this. The 3D printer automatically did this for us. And this is going to give a platform for the printer to build upon. But it doesn't really cleverly here because it doesn't attach these really firmly just enough so that it can build upon. And when you finish printing, you can just snap these off nice and easily. Supports will use extra material and will take longer, though. So it's often a good idea to avoid using them if you can.
Back to our shaker example, though, I'm just going to export this where we don't need supports on the default settings. I'm going to slice it and then I'm going to export it out. Now, it's no longer in this STL format. It's going to probably be in something called G-code, but we're using Ultimakers here, so they got their own version of it. Regardless of what format it is, you've just created a huge list of text commands in a file for the printer to follow. For example, one command might tell the printer to move to this specific location, then heat up and then put a little bit of plastic down here, then move to the next. And it uses these to build up your part. So every printer is going to be different, but usually you put it on a USB or an SD card, plug that into your printer and then on your printer's interface, you'll select the file and then click print. And the printer is going to heat up and automatically go through its whole process to get that printed off.
Once that print's finished, take it off the bed. And depending on how you're accessing that printer, there might be specific rules or guidelines you're going to do. But a good rule of thumb is to wait for it to fully cool down. Never put anything sharp that could damage the bed because you want that to be nice and smooth all the time. And a lot of the time you'll find these removable beds that you can just peel up, bend and your part will snap off of. And that is pretty much the whole printing process in a nutshell. Now, depending on how you access your printer, if you access it through an organization such as a FabLab or a Makerspace, they might have a different procedure and you might use more or less of this process. You might just hand them your STL and then they do the rest for you. Or maybe they give you your slicer and the settings you must use and you just hand them your G-code. Whatever it is, you should always check with who owns the printer.
And that is the whole printing process.Here is our final finished, nice and printed part. And hopefully if we hit it, those beads should dislodge. And I think that worked. Now that we know the whole 3D printing process, let's take a look at how to CAD design for 3D printing to make highly printable parts. I think the best way to cover this is to jump into Onshape and take a look at some things that we've modeled. So starting off with what we just printed, the very first thing I did for this is I extruded this large flat plate here because I knew that this is what I was going to stick to the bed. And that is a really important thing. Always when you start modeling, find which side is going to sit flat on the bed. Give it as much surface area as you can to give it a good chance of sticking to the bed. And every single extrude or sketch or everything that you add to this, you should be thinking, how is this going to print? So when I designed the beads, I put the stem connected here because I knew the printer was going to layer it up like so. Now that's pretty straightforward, but the main thing you have to watch is to ensure you don't make a feature that is impossible to print. And the main way that that's going to happen is when you make something that kind of hangs in mid-air, remember that you can't print off of nothing. You need something to build upon. And these are called overhangs. Now printers can actually print overhangs as long as they're not at too much of an angle. It kind of prints it up like a staircase. Here I have a test piece ranging from a straight zero-degree overhang all the way increasing to a 90-degree overhang on this side here. And as you can see at these very small overhang angles where it's not folding over too much, it's printing nice and smooth. But as we get to these larger angles, the printer really starts to not like that. We get a bit of spaghetti underneath and this is where our prints are going to fail.
So this is apart from another project. And this bottom face here is what I chose to sit on the printer. And an issue that I was running into was that this here is actually a 90-degree overhang and the printer isn't going to be able to print that. So how do I fix that? Chamfers. Chamfers are going to be your best friend at fixing overhangs. And if I apply one to here and here, you can see that there is no longer this steep 90-degree unprintable overhang, but a nice and smooth 45-degree overhang. And that is the magic number. Most printers, in fact, nearly all printers can print a 45-degree overhang like we have here without any issues. Now, looking at this part, this is our bottom here, but this part here is a 90 degree overhang and it just hangs in mid air. But the printer is actually going to be able to print this because it's something called a bridge. Long story short, because you've got this wall on this side and another one on this side, when you import this model into slicer, it's automatically going to figure out that it can build a bridge across these with plastic. I've got an example of this here. And as you can see, we range from a very short and small bridge all the way up to a 20 millimeter bridge. And as you can see, our printer had no issues whatsoever because it built this part along here by bridging from here to here. Now, different printers can bridge different lengths. This one is only 10 millimeters, which is more than fine. 10 to 20 millimeters is a very safe range for most printers. I might be able to do more, but that's just something you need to figure out for your specific printer.
Now, sometimes you might be stuck with an overhang. This is actually the original version of the shaker, the initial design I had, and I wanted to make it look more like a traditional shaker. But it has this massive overhang for a handle, and I can't chamfer that enough to be able to eliminate it. Now, there's a few things we could do here, and we could just print this with supports, which is perfectly fine for a situation like this. But I'm really stubborn and I don't like using supports, so something we might be able to do is to print the handle as a separate piece and then glue or join it back on later. Another idea might be to move it down to the bottom like so, because this can be printed nice and flat on the bed without any supports. But I didn't like the way that this looks, and I think it would have been weird to use. But I went back to the drawing board and redesigned the whole thing. If a handle is going to be difficult to print, why don't I figure out a way to design it without a handle? In hindsight, that is quite a lot of work, and I probably just would have gone with supports, which is perfectly fine, but it's always a good idea to avoid them when you can. So taking a look at the project that we CAD modeled up last week, what needs to be done before we print it? Well, not really much, because every single part I designed here had those principles in mind. I started by figuring out which orientation it's going to be built in, and then I just built everything up from there, avoiding any overhangs greater than 45mm and any bridges greater than 20mm. And also designing to avoid supports where possible. I was lucky on this one and I was able to do it, but sometimes you don't have a choice.
There is one thing we need to do though, and that is tolerances, because this 6mm bolt is going to go through these two pieces to join them together. And although this hole is 6mm, if I tried to put that through, it's not going to fit. Long story short, we need to make that hole slightly bigger. And so a good rule of thumb is to make this about 0.3mm bigger. So I'm just going to make this 6.3mm, and now that bolt is going to fit. Another issue is that this purple part is 80mm wide, and the distance between this piece and this piece is 80mm as well. And as you guessed, they're not going to fit together if we print them. So what we're going to need to do is either make these blue pieces 0.3mm wider, or we can just go to this part here and we can do a little... this is a little bit rough, but it'll work. We're going to make it 0.3mm smaller, like so. Just by extruding that surface back a little bit. And the same thing is going to need to be done for this part to make sure it fits onto the blue part, and also for these holes, which will also have a 6mm bolt going through them. And with that, our model is ready to print.
And here are some of those printed pieces. Now I have a lot of very big 3D printed parts, so this is taking some time. This is only about one third of all the pieces I need, and I've been printing for about two and a half days straight. But that's one of the advantages of printing, you just press print and you come back later. Much of this was printed overnight. Now as you can see, some of these pieces are a little bit warped. It should look something more like that. But these pieces can be salvaged. Print defects like this are fairly common, and you should always see if you can melt or sand or cut to fix the print. But for example, I can just re-drill these holes. And this looks like it's come together nicely. There were a few misprints here and there, but nothing that I couldn't fix with a drill and just maybe some cutting of material. But never be afraid to go back into CAD, maybe add a hole you forgot, change it, change the size, the dimension, the tolerance, whatever you need, and then reprint it. Well, I'm really happy about how this turned out. It's come together really nicely, and I think I just have a few more days of printing ahead of me. But I can't stress that enough. Printing is just a passive process. You model it, you get the files, and you press print and come back when it's done. And there's something really beautiful in that. Equipped with nothing but a computer and a 3D printer in your bedroom, you are able to print basically anything, even an advanced robotic platform like this. Till next time.
Makers love reviews as much as you do, please follow this link to review the products you have purchased.