Thanks for this! I can't remember the number of times I've had this conversation with myself: "Ok, the screw is 3mm, and 3.5 for the hole -should- be ok" 🙂
Very little wrong with running. 3 mm drill though the hole you have. At least the screw will be 3mm. Often 3D printed holes are oval which causes issues. A drill cures this.
@Richard Harris that works in through holes, but not as easy with peg holes like the first cube model he had where you need to only "drill" a specific depth and want a flat bottom
One setting that's kind of hidden by default and makes an enormous difference on Cura is slicing tolerance: it can be set to "exclusive", "inclusive", or "middle", which basically means wether the slicer will place your filament path entirely inside the geometry, outside the perimeter, or average its placement. By default it's set to "middle" which means it will always make your holes slightly too small, and your pegs slightly too thick. Edit: after a quick google search as a refresher I see I learned about that feature on this very channel! What were the odds haha
It is a handy feature, but it really only applies to things that have varying widths. If you're printing a part that has common widths every layer (i.e. a flat square plate with pegs on it, all walls are extending straight upwards, orthogonal to the bed), then the slicing tolerance setting should not change anything at all. I'm gonna delve into nerd language from now on, but from a math perspective, think about Riemann sums: a lower Riemann sum approximates a function by taking the lowest point of a function every standard deviation, calculating the area, and adding them up to approximate an integral. This is the equivalent of inclusive slicing (exclusive slicing uses the highest point, middling uses--you guessed it--the value of the width in the middle). When you think of the layer height as the standard deviation of the Riemann sum--and let's say we're printing a pyramid using inclusive slicing--the width of each layer is derived from the width of the lowest height of the 3D model, and due to the filament expansion characteristics described in this video, the overall width of the pyramid will be slightly larger than intended. If there is no change in width, then the Riemann approximation equivalent is like taking the sum of a flat line, in which case all sums, upper, middle, and lower will fetch the same value.
Honestly i am an engineer and i think your channel does a magnificent job and explaining concepts and discussing important topics for people interested in 3D printing, it was a HUGE help on my 3D printing journey.
As a mechanical engineer who has also been 3d printing for 7 years you did a great job explaining everything that’s necessary to this topic! some times people go off on tangents that aren’t really relatable and it’s interesting but some people may find it confusing. It’s good you didn’t.
As a D&T teacher (retired) I used to do a short exercise with 11 year old students where they were asked to mark, cut and file a square of 3mm Acrylic to some given dimensions. When they presented their work as finished I tested it in a go / nogo gauge that had +/- 0.25mm sized holes in it. Generally first time none of the samples fitted but after a few tries they got the understanding of what tolerance was. When I fit 2 printed parts together I usually print the inside part 0.25mm smaller and then use fine wet and dry paper to get a perfect fit. Fettling, as my engineer friends would call it.
I took a 3D printing class in my MET degree as an elective, this info is spot on and in more detail about tolerances than that course. We had learned about the expansion coefficient of the layers, but were just given estimated tolerances for common materials, for typ layer heights for the machines we used in the lab. We had a demonstration print exactly like you made @5:19 , this allowed us to see how tight/loose certain tolerances were in real life. great video! earned a sub from this guy!
By FAR my favorite printing channel! I wish this guy had a channel called “lost in history” where he did documentaries lol i swear i could listen to him talk about paint drying lol
I would recommend using “Hole Horizontal Expansion” in Cura or the equivalent for Prusa. Scaling the object to fit causes all other features to scale. Hole Horizontal Expansion allows you to adjust holes with affecting the rest of the model.
Yeah a 3% difference on a 5 mm peg won’t make a huge difference but a 3% difference across a 200 mm print will. Scaling the whole print by a percentage is not a good solution since it affects the whole print, using the horizontal expansion settings where they usually have both external and hole settings is far better as it only affects where it is needed and always changes prints by the same size regardless of actual dimensions rather than by a percentage. Using percentage based tolerances ends up with bigger holes having bigger tolerances, so bigger pegs will have looser fits, it is better to figure out what tolerance your printer needs as a distance and then apply that, so every peg regardless of size should have the same tightness of fit.
Second this. LostinTec consider an update or make a follow up to the video to include xy compensation instead of scaling parts. If you scale a part with 2 features that have to mate, like a bolt hole pattern for a stepper motor, the holes will be at the wrong position even though the screw will fit now. Horizontal expansion or xy Compensation results in prints with less material. So outer features get a bit smaller, and holes get a bit larger. I have mine set to -.05 mm. So in the 15mm example, the hole will be 15.1 mm (0.05mm per side) and the peg will be 14.9. This will give me 0.2mm total clearance. Having xy compensation set helps ensure most of my parts fit without me having to worry. Also, if the mating features are smaller like 5mm, the hole will be 5.1 and peg will be 4.9 which is what you are looking for. Also, your comment about filleting corners is a legit one. Helps with a lot of things like stress concentrations, printing speed, and aesthetics. Also, chamfers as lead ins to your hole. Also adding chamfers to the side that gets printed helps fite elephants foot (as does elephants foot compensation).
I also use horizontal expansion to get hole sizes right. it also helps on outer dimensions. I calibrate my e-steps by measuring from hole center to hole center instead of the outer dimensions of a calibration cube as well.
I would suggest adding a feature to the pegs to indicate their X-Y print orientation. That would allow the user to diagnose X vs Y axis fit issues if they are present. Good job.
I print always "perimeters first" up to 45° overhang. Not only because of dimensional accuracy but it also gives you a nicer surface finish as imperfections (from the usually faster printed) inner perimeters don't transfer so easily to the outer wall.
No, you're spot-on. This whole fit issue has already been resolved for machine shop work, and while the tolerances used in milling and lathe work don't apply here, you could use that as a model, or framework. Btw, this is the first time I have heard anyone involved in 3D printing talk about fit and tolerances. Well done!
"Give up and use a circle." Yup, works for me. Nice informative and useful video, especially as I'm getting quite a few requests for much larger (3-4' tall) prints recently, thank you.
When I need precise tolerances on something I usually mess with the horizontal expansion setting. I have a workflow for this where I duplicate the parts meant to fit together in CAD, but I only duplicate the pegs/hole sections of the two parts while being mindful of their orientations. I then print them, adjust the horizontal expansion (or slicing tolerance) and try again. Sometimes I have to iterate this two or three times to get the perfect clutch strength for what I want. Interference fits are counterintuitively more easy to do this for, assuming you don't care about the parts being removable in the future. I just print one of the parts with very few perimeter lines (usually two) and a higher infill density to make up for the weaker shell. The perimeters will stretch into the infill when pressed together, permanently deforming things and making a rigid joint.
Clever Ideas thanks. Also a continual print and test for me too and very time consuming. I look forward to the day when the machine has a feedback loop where it knows the result of what it’s created and can adjust accordingly…we don’t need more dumb machines 😅
Wouldn't it be a great way to integrate PCBway as a sponsor by letting them print this gauge model in their different printing technologies and comparing them? Would love to see something like this.
What you mentioned applies to holes along the X/Y plane, facing into the Z (e.g. holes in top or bottom). However, holes in the sides suffer from yet other issues. First, a layer has a thickness and the wall at that layer will be basically straight - it won't follow a circular path. Therefore, the wall will be either too close or too wide as compared to the circle you are trying to make. By default, slicers will make the wall at the middle of whatever line/curve is crossing as you go up, which means it's both too close and too far. You can set it to print on the inside or outside instead, which will make it always too close or always too far, but neither is ideal. Really, you don't want round holes on anything but top/bottom if you need dimensional accuracy. In addition, the top of a hole has very shallow angles - approaching horizontal at the top. This amounts to a very sharp overhang. Slicers won't try to make this extremely shallow overhang. Instead, they will create a bridge across the top. Again, this means that either you have filament where you don't want it, or you are missing filament where you do want it. Another issue for top/bottom holes is the seam where the circle starts and ends. Again, you will run into issues at this seam. Either you will be missing a fit of filament or you will have some extra. The shape of the seam also depends on the direction that the extruder leaves when it joins up the seam - something you rarely have any direct control over. So you'll more than likely end up with bumps along the inside wall of your hole that make it too narrow. Getting a perfect fit for any shape is nearly impossible. The easiest way to get accurate and consistent round holes is to undersize them a bit in your design, then drill them out with a drill. We use the same technique in subtractive methods like milling because it suffers many of the same problems - you can't make perfectly square shapes and you can't make consistently round holes. When we need a perfect hole, we will drill (come directly down from above) rather than milling (circling around the perimeter). For any other shape, leave clearance, and provide relief in tight inside corners, such as using dog bones.
If I'm needing exact tolerances I usually do a couple of test prints on a cut-down version of the part/tolerance in question. I've found that even if you think you have allowed for the issue you will still be surprised. To be honest given the relative low cost of modern 3D printers its actually surprising how good the tolerance/consistency of prints are so I'm not complaining!
In Prusa slicer, a modifier can be added with the setting "External Perimeters First", so you could apply that setting only to the sections of the model that need higher accuracy.
This is a nice gauge and certainly useful. I think one thing that's missing though is how to account for these offsets and clearances. You briefly mentioned resizing the part, but that's not going to give you dimensional accuracy: it will not only make the holes larger but it will scale up the entire part, causing the outsides to be even larger too. Instead, you probably want a setting like horizontal expansion which will keep the overall scale of the part, but will subtract a bit from the size of each edge, like shaving a bit off of every face with sandpaper. You can use your gauge to determine how much too large your pegs and how too small your holes are, then put that amount in for horizontal expansion and it will correct for it, while maintaining the same overall size. You should never have to change your steps/mm or scale your part to make clearances!
The wall print order was a mystery to me until I saw your terrific graphic and explanation! Thanks so much. Now I'm off to print that pegs-and-holes-tester!
Loved your movie theatre analogy. Another thing to consider is the very common elephant's foot that occurs on the first layer and how it can affect clearances.
I found that if you have a "big" peg to go into a "big" hole (like making something out of two colors of plastic that you want to fit together) you can make the inside thing significantly smaller and then give it a wrap of teflon plumbing tape to hold it in place.
I always do the following: instead of a square or round solid peg, design it as a flexible two-pronged peg which can be compressed in one dimension. Think of it as two banana-shaped prongs, with their widest parts a bit wider than the hole. When inserted in the hole the two parts will bend slightly, and will provide good frictional fit with the other part. The larger you make the hole and banana-peg, the more friction you can produce.
Tolerance tests are always a good idea. I did that for an important part of mine not too long ago and figured it out for my settings at the time and learned a lot just from that.
One other thing you need to keep in mind when building things that have thin walls between features is that you have to think about your line width and multiples of that. If you design a wall to be 1mm thick but have a 0.4mm nozzle, you are either going to print a 0.8mm thick wall (2 lines) or a 1.2mm thick wall (3 lines) depending on how your slicer feels like rounding things that day. Theoretically you can under or over extrude to make up the difference, but to my knowledge at least most slicers don't really change extrusion widths within the same layer. Maybe some slicers will just leave a gap as well if they can't fill it solid, but I'm not that well versed in all the different ones out there. I was having this problem when I way building a shaft adapter for a motor. It prioritized the outside diameter and was only one wall thick, so the inside diameter was just going to be whatever it was, not what it was designed to. It's kind of like printing inside vs outside walls first, but ultimately if you have any solid walls between parts you should do it in multiples of your line width.
Does this relate to the section in Prusa Slicer under Layers and Perimeters where it says, Recommended object thin wall thickness for layer height 0.20 and 2 lines: 0.80mm, 4 lines: 1.59mm, 6 lines: 2.39mm, etc, depending on the number of perimeters?
2:23 It also causes some upward squish. I have noticed that on machines with a single leadscrew, the nozzle will move up a little bit when stacking lines next to eachother. The main advantage of dual leadscrew IMO is the ability to overpower that upward force and keep laying down flat, consistent layers, even at 100% infill.
I tried droidcam for the first time so I'm guessing it's probably also the last time then, haha. Oddly I don't see any problems at this end, maybe I'm used to it.
Tolerance is a specified deviation from a nominal value. Fit is a specified fitment based on it's intended purpose. Clearance is the space between two mating parts. From an Engineer, hope that helps everyone.
Tolerance = specified "allowable" deviation I don't want be "that guy", but it looks like you are going for precision. Adding "allowable" adds context, or at least reinforces that conveyed by "tolerance". Thinking about it, "precision" is probably a good word for your list too. I will show myself out. :p
nice gauge bro, will certainly give it a try. and my way of dealing with this is the lower flow at the outer wall. my usual setting is something like 2mm shell thickness with 0.7mm line width(from a 0.4mm nozzle) the 2 inner pass of wall is set at 112 flow(varies by materials, 112 is for pacf) while the outer most pass is like 92. the higher flow on the inside is to have higher extrusion pressure and presumably higher strength, and the outer most wall is just to give a smush so its mostly dimentionally correct. at the end of the day i find it very helpful to have a rubber mallet and a tiny file on hand, which can solve like 90% of fitting problem.
This just happened to me last night on a 5.5 hour print using PrusaSlicer's Cut feature. Had to go drill out the holes. So frustrating. Thanks for the video!
Great content. And thanks for the gauge. I was thinking about creating one of these, but you just made it so much easier. I’m pretty new to 3D printing. But, when I use my Shaper Origin (handheld CNC), I can always create my male part first, the when I’m cutting the female, I start with an offset, try the fit, and add a few though each subsequent pass until I get a good fit. That gets me the answer for the project. It takes so much longer if you need to print the whole item before you know the answer. Thanks!
Well done. It’s one of the frustrating points of FDM. Trying to produce dimensionally accurate objects and the numerous failures involved in finding the ideal 3D printer settings and calibration strategies. Nothing ever seems to print as well as the first test model supplied by the maker. I always end up drilling-finishing by hand or going the CNC route which is noisy and dirty and involves standing in the cold shed getting bitten by mosquitoes haha things we do! I’ll be using your tool for sure thanks.
The most important concerns when trying to fit parts together are squish and thermal expansion. Squish is related to nozzle diameter, and thermal expansion is related to the filament and extrusion temp. You must understand that a round peg will expand outward, and the receiving hole will expand inward - so you must compensate for overextrusion in both parts. I’ve found that 0.2 for a 4mm nozzle is a good starting point for overextrusion. Assuming a 4mm nozzle, a round peg of 10mm would need a hole of about 10.8mm. Remember you’re compensating for both parts in this hole and each part has two expanding directions of concern (4 faces * 0.2 = 0.8). There’s also the issue of fitting a round peg made of a non-printed material (steel, wood) into a round hole which is printed. In this case the hole only needs to compensate for its own expansion so it would be 10.4mm for a 10mm rod made of metal. Talking about percentages of increase or decrease is definitely not the way to approach this problem. A ten percent increase on a 10mm hole is 10.1mm. A ten percent increase on a 100mm hole is 110mm. Hopefully, you can see why this is not a good approach?
If you're going for a friction fit, and making the design your self. Just add a small slope (2 degrees or something like that) to one of the 2 parts. Once the head of the peg is inside the hole, the rest can be pushed in with a bit of force. Unless the negative clearance is more then the material can compress.
Better yet just don't match the peg to the hole. A square or hex peg in a circular hole works great. You just oversize the peg a tiny bit and since it is only making contact at small points it can easily be pushed in and as a bonus it will resist rotation.
If you have trouble with overhangs when printing outer perimeters first set the outer line width to 0.6mm wich increases the overlap between the outer lines and therefore makes them stick better together. You can do this even with a 0.4mm nozzle, you loose a tinny bit of details but if you can live with that it’s almost like a cheat code. Perfect layerlines and even on fairly steep overhangs doable depending on your layerheight
Something that helps when you need square parts to fit is putting a .2mm radius on the edges. I also make the hole .25mm to .35mm larger than the pin or mating part. Great video thanks.
I'm having an issue where I put a 2.4mm radius on both edges, and then one is perfect while the other prints like a sharp corner, even though it's not what the slicer shows. Maybe outer wall first will help.
@@louiel8711 It's putting it in assorted undesirable places depending on layer, that's one of them but not often. Should we all be building in seam dump points in our designs?
Round holes are tricky, especially smaller ones. The extruded line will want to drag to the center of the hole a bit, depending on the diameter and speed (even with outer walls first). But I managed to do a perfect interference fit of a small square peg on the first shot - with zero extra tolerance, but chamfered the peg corners ~0.5mm as they aways overflow a bit on both the peg and the hole, even with a well tuned LA. It being PETG which is flexible helped and some force was needed, but it did fit.
In general, when designing parts that need to fit to something (either another part or an existing object), I would always recommend you make test prints of every critical dimension. I also find that a 0.2 mm tolerance is a good place to start. Finally, fillet or chamfer every sharp corner. In the horizontal plane, a 0.2 mm radius rounded corner is as good as it gets anyway, and baking it in means the printer won't "color outside the lines", so to speak.
around 10-12 years ago I designed a file called "hole size test print" (on thingiverse and Printables) and it is by far the most used tool when I am designing for real world. It's a thin sheet with holes from 1mm to 25mm in 1mm increments and has the size next to each (use Prusaslicer chang color feature to make the numbers a different color) and when I need to print a part with a hole to fit something into I use it as a test. I have had 4 printers and on all 4 the outside diameter has always been very close to accurate (+/- 0.5mm) but it's inside holes that are not. I found my MK3S is about .2mm off inside diameters so that is what I use for a snug but not tight fit. Even though the test print uses round holes, you can still use it for squares and such if you have calipers, measure the square part you need to fit a hole with the caliper, then place the inside part of the caliper into the test holes and there you go you then have the square size hole to make.
Excellent info as always. One additional variable that will affect parts fit is "elephants foot", i.e., the slight bulging of a part where it contacts the build plate. I control this in Cura by setting the first layer horizontal expansion to around -0.12 mm. You'll have to adjust this number depending on the setting of your Z height setting. I get no elephants foot in my prints.
It's best to avoid that by getting your Z offset just right. There are lots of parts for helping to calibrate this. You should only get elephants foot if your first layer is squished because the head is too close to the bed.
I learned something. I subscribed. Thank you for explaining the outer walls first setting. Yep, I’m triggered, lol. Tolerance, clearance and fit are not concepts, they are important descriptive and accepted terminology used every day to communicate between engineering and manufacturing, verbal and in documentation. Each has a definition. I’m an engineer and machinist who uses the terms daily. Clearances can have tolerances, but tolerances can’t have clearances. Tolerances are dimensional parameters that must be met in order for parts to fit, and are denoted in +/- on each dimension. Clearances are space allowances intentionally engineered between parts to allow for movement, adhesive, lubricants, or for another part to move within without contact. Both mating parts must be within their tolerances to provide a sufficient clearance. Think wheel and fender. As long as the wheel diameter is within its tolerance of +1”/-2” from the absolute dimensional callout and the fender position within its tolerance of Z=+2”/-0” of its positional callout then a 1.1” clearance allowance between the fender and wheel is sufficient to keep them from rubbing no matter where both parts are within their tolerance. Fit is a term that generally refers to the effects of tolerance stack up. If you have 20 parts in a stacked assembly and each and every part was held on the high side of the thickness tolerance, the overall height of the assembly may not fit into the space allotted for it. If the same were all held on the lowest end of the tolerance, the result is usually called end play, or slop. It’s the engineers job to communicate with manufacturing with both understanding these terms in order for the engineer to set tolerances on dimensions based on the capability of a particular machine to hold those tolerances. In some cases like the afore mentioned assembly, parts may need to be segregated by high/ low end tolerance and arranged in a way called fitting.
Clearance is needing a gap between moving parts for lubricant. Tolerance is how accurate you need to make that gap before it's a problem. ...would that be a fair statement?
after buying a new roll of filament you gotta print all tests out there to dial it in, but then you run out of filament and repeat that for the next roll.
Don't forget the elephants foot. It's good practice to add a chamfer at the bottom to avoid it when testing clearances. The seam has a big impact as well. Scraping the seam with the backside of a hobby knife can improve the fit noticeably.
Regarding printing the outer wall first. I have that on by default on my profiles for about two years now. And on my test I even had better overhangs. Especialy curling up edges are a bit reduced that way. On various tests I never had a print with worse overhangs by enabling it, so i have it on by default and did that for the profiles of a friend as well who has no issues with it as well.
Great idea with calibration gauge. One thing to consider being fixed. The dots in the pegs affect geometry of the square facets as they sit to tight to them.
Interesting. I will have to look for that setting to see if it can improve my pegs. A tip I got from another video to reduce "ghosting" has helped with my key and hole prints, I uncheck "infill before walls." Besides helping the outside of the print I noticed the hole is cleaner and the pegs (ones I made, not from the slicer) almost always fit better because of what you described as the "armrest" example.
Another issue is that holes are not actually round but many straight lines. This is especially noticeable on small holes. There is a setting called vertical hole compensation that can help.
I think another thing is when printing a circle, its constantly dragging the molten puddle inward as it rounds the circle due to viscous effects. It's got to shrink the diameter enough to make a difference.
The concept of right size middle hole is valid since it really shows the right size of the hole as it was designed. Before your test an extrusion e-steps test and tuning should be needed in order to know that the sizes are real. Since then the test is useful. You should also need to compensate the elephant foot tuning the horizontal expainsion setting since the first layer will be 2-3 decimals smaller than the rest of the hole.
As an actual engineer I deeply, deeply appreciate this video an the effort you have put into it. Here in Germany the job description engineer (Ingenieur) is a protected title, but if it were for me you could call yourself an engineer. There are far more people out there with far less knowledge about engineering. Trust me. And even I dont know when to exactly use interferrances and co. Unless required differently, I just slam the word "Allgemeintoleranzen" (general tolerances) somewhere and hope for the best. On the other hand I can understand that the word engineer should be protected, because getting a degree in engineering was literally the hardest thing i have ever done. In my opinion having interest in a topic and showing the will to learn about it is far more valuable than the title. The title opens you the door but the competence you achieved getting the knowledge keeps it open. So dont go to hard on yourself calling yourself ,,not an engineer". As long as you have passion and understand the technicalities, u r an engineer in my opinion.
I do have a .6 mm nozzle and would love a .6mm nozzle version! I use .6 because Im not concerned about the lines or texture, but I am extremely focused on how smooth that line is, I can see all the septs in the motors and vibrations and such. I also like building real large models and general fixturing pieces
I doubt you can see the steps from the motors unless looking through a magnifying glass or microscope or you aren’t running any micro stepping. Also the way the filament is extruded will smooth out the motor steps to some extent as well.
You might be better "playing" around with xy compensation on Prusa Slicer or horizontal expansion on Cura. I found that setting it to -0.15mm helps thing fit much better. You will however lose detail on top layers i.e. writing. Great video. Keep up the good work.
Cura also has a dedicated setting for horizontal expansion on holes. That might give you better luck at fixing holes without affecting top layer details like text.
As an engineer, the way you said things is on point. Sure, clearance and tolerance are in fact different concepts but that's a tangent irrelevant to the topic, which I certainly must add, you explained perfectly. That clearance gauge you designed is totally genius, and I'd think that dialing the settings on the printer perfectly for it to have precise measures according to the clearance increments, would result in an even better way of finding out material dilatation or contraction percentage once the square and pegs are printed, and the gauge would need to be printed only once, as you mentioned, and it would kill two birds with a single stone; settings for a material would be known, and that would be the reference point for others.
One thing i learned early in 3D printing is it is far better to print extra thick walls on the "female" side of two parts that fit together and then try to print the "male" side as close to the proper size as possible, then you take a drill/mill to your female part and just make it the proper size to fit the male part. It is far too hard for the hobbyist 3D printer user to properly and reliably compensate for thermal expansion and contraction on plastic parts which is a value that can vary massively for the temperature you print at, material, filament manufacturer, infill and number of wall layers, etc. You can manually modify the part sizes with far higher reliability and precision with common hand tools which will save you a lot of time, assuming you are not mass producing parts or something
I'm a hobbyist printer who started 3d printing a year ago. My general rule of thumb is 0.5cm clearance between the parts that need to slot together. I've printed a lot of custom spool holders that pin together and I usually make the pins 5mm or 10mm squares and the holes they slot into are 5.5mm or 10.5mm to get them to fit. It sometimes results in a bit of a loose fit and I have sometimes reprinted a pin an extra millimeter in cross-sectional dimensions until it's effectively a pressfit.
I got super confused when you wrote you use 5mm clearance first. Then realized it was a typo. cm and mm, hard to keep track on. xD What nozzle do you use? if its a 0,4mm, how would you get 5,5 or 10,5? Try to keep it dividable by your nozzle size (the printer software will try to compensate but as you might understand, its one more thing that could "fail'). 5,5/0,4=13,75. If you make it 5,6 its even with 14. Simple change that might make wonder to your prints. OR maybe you are using 0,5mm nozzle, in witch case you can ignore all I wrote.
Most of the parts I print are cases I design myself for various sorts of circuit boards, and my preference is for an interference fit so I can just snap the lid on. With my printer (a heavily modified Ender 3) and preferred filament (Duramic PLA plus) I have found that a 0.2mm clearance works consistently. To avoid the issue with the corners, I always put either a 0.5 or 1mm chamfer on all external corners (ie the outside of a peg, not the inside of a hole) which both gives a better fit, and at least to me gives a part that looks more professional.
Cura actually changed it. It is now called Horizontal expansion under the "Shell" tab and a negative number will make the hole bigger and a positive number will make it smaller
Not seeing it but someone may have said this already, if so sorry. This is a GREAT method for making your parts fit, It however doesn't create dimensionally accurate parts. If you buy/print a measurably accurate test piece then use it as a test piece for your test prints, testing inside and outside dimensions on each printer, material, nozzle, ect. will help you create more dimensionally accurate parts. But, this method will work well for 99% of prints.
I posted a remix of your clearance gauge on printables along with the source code (python build123d) that I used to make the object. I created an 11mm version for 0.6mm nozzle printers too!
what is always ignored is the radius of a curve affects the how much excess material is trying to move into the available space , the smaller the radius the more material to the available space, try and print a 1mm hole and you probably won't get a hole at all.
Another trick I found that works well for threaded parts is to use polishing compound on the threads. The paste type used for polishing car paint works well. If the threads are too tight, lubricate them with the polishing compound and work the threads in and out until you have smooth clearance, then wash off the compound.
I agree with this idea. Here's how to make it even cheaper... Get your part wet with water. Put baking soda on the threads. Work the threads forward and backward allowing the baking soda to act like a grinding medium. Rinse off the baking soda when you are done. I'm not sure about the chemical reaction between the soda and plastic, but it makes PLA seem smoother more than just because you sanded it. I've also used toothpaste, but baking soda is cheaper and easier to clean.
that gauge is actually super useful. my brother asked me to print a small part for his bb pistol that broke, but i didn't even bother because not only is my printer wonky with filament stopping feeding (haven't been able to print anything for a couple years now because i can't be bothered), but also because i know i would never find the correct clearance even if i could actually model the damn thing he asked me to. this would help with that. it still won't work and is more work than it's worth, but meh, at least i can try.
Nice! This little gauge set is incredibly useful. Seems really obvious in hindsight; if I had a nickel for every time I groaned, cursed, and went back to my CAD program...
I printed and measured outer and inner diameter on a test print. I used that to adjust horizontal expansion so that I know that the outer geometry is near the correct dimension and then I compensate the inner diameter in the part. Then I have a printed part with almost correct geometry. I use an Ultimaker S5 at work and for 0,4 nozzle I have - 0,057 and for 0,8 nozzle I have -0,114. Inner diameter for holes I add 0,3-0,5mm. Works great for me.
Orca and some other slicers have a feature called "Precise wall" which addresses the wall expansion, and X-Y hole expansion & X-Y contour expansion, which expands/reduces the perimeters of walls and shapes
Heat and cold will warp your pieces tremendously. Plastic, wood, metal, concrete that's why things are manufactured in a constant temp setting. Wood for example warps so damn much from day to day, I'm impressed framers get something done and I remember my machining teacher constantly talking about the hot/warm tolerances "check it later " 😂. I'd like to get a 3d printer and I wonder how much the hot/cold affects the printer itself
This is literally where I spend most of my time, and you'd think I'd have learned and adapted more than "Design, print, reprint with bigger holes when it doesn't fit" but I haven't - until now. @lostintech to my rescue - again, but not for the last time I'm sure.
Great video I can't wait to print some of these and test them out! Also, for a really quick hack fix for getting square fitment without reprinting with more tolerance, giving it a quick pass with a hand de-burring Tool on the four corners can do the trick!
To avoid bulge in sharp outside corners, try fillets with radius = shell thickness. Or shell thickness x some constant close to 1 if you like to tweak. Draw the path of a sliding disk to see how that works. Generally, when modeling for precision I've been parameterizing shell thickness & layer thickness then using multiple shell overlap math in CAD, and sometimes turning off Arachne in the slicer to make features that will slice to exactly n strings of plastic.
Careful with that last part. By default, slicers have an "overlap" setting. So if you model a 1mm wall with a 0.5mm extrusion width, it might not work without Arachne. You may end up with a thinner wall than you were expecting.
@@ilikewaffles3689 Yes, that part only matters when you're trying to be careful. It helps to know how your slicer calculates shell/perimeter overlap and put that math in the parametric CAD model. The minimum wall thickness that will get your favorite slicer to "do the right thing" with a 0.5mm extrusion width is probably less than 1mm. (not talking about "thin wall" detection)
Fitting rectangular parts into rectangular recesses is a problem even in far more accurate metal CNC machining because the round tool can't leave sharp right-angle internal corners. To get around this cheaply (without the need for high precision tolerancing) we use undercuts. Essentially you machine out the corners of the rectangular recess, so that the external part corners have nothing that will interfere with them. You could introduce undercuts or internal corner relief into your designs too.
I always make the parts with 0.2mm clearance so they fit together especially if I have to print each part in different printers. If it still doesn't work, there's always the blow torch.
Normaly when designing something for 3D printing, i do a part offset of 0.2mm and then it will fit or snap right in. If it needs to slide easily then i make the offset around 0.35mm Works every time.
I found that using just a 0.5 mm filet helps not only get rid of the bulging corners, but also helps prevent elephants foot if done on the bottom edges.
For me there is usually the option of manual scraping down a part, but in general if it really needs to fit, making a small test case really does help. It could be as simple as cutting away all the part except for the hole you want to test. then I print it using my usual guestimate and adjust where needed.
I've had this issue, especially when your not printing everything on the same printer but also when you need to match an already made part. Trying to chase the size is crazy, since with that there's clearances left right and up and down but when you make those correct the holes on average are too small. You do have a setting that can enlarge just "hole size" but the program also enlarges curves or bends on occasion. I've found that best way to do this is to add wall layers, keep the overall size to be correct and use a drill set to correct hole sizes. Especially with holes designed to be tapped by a screw to plastic its better to match shaft size not thread size to get a good bond. I've had issues where if you zero and calibrate your printer, and pull a file from a designer they may have a printer that's not exactly calibrated and instead of them going in and changing the step motor settings to adjust for that they just augment and stretch file settings so it prints on their printer. This isn't bad if you print all parts that way but the issue comes in when it's something that needs to match a predetermined part. I know people would rather everything just clip together and work but I've found that just a quick swipe with a soldering iron or a file can fix it quickly on parts you can see and parts you don't just use any method to sand and shape it to fit.
I ran into this issue, I made a template for using my router and shape wood pieces. Then I took that model, and measurements from my blanks to make a placement template to position it consistently and accurately on the blank. Well as you guessed it, first time FAIL. Would not fit. My solution was in the model, to do what you said second, made in this case the hole bigger. But in my case it was not a circle but had 4 sides, and when I pushed each side out alone the end result was a mess and did not match the main piece. I pushed them all at the same time out at 0.02 and it fits nice, maybe a 0.018 would be better but the minor difference doesn't seem worth the work.
As a rule of thumb for parts that fit inside another part such as with an enclosure with a battery compartment for example, I design the battery cover 0.1mm smaller (all round). This friction fit almost always removes the need for fasteners/screws, for the everything else to fit with slight friction I use 0.2mm and 0.4mm for loose fitting...
This is an interesting topic & a great video. I sometimes print parts for use at work (automated packaging machine builder) & have access to secondary processes (mill & lathe) to bore out holes accurately for fits. So the tolerancing is taken care of by those processes. If it's just a clearance hole for a screw to pass through, the machining will be very quick & easy generally. I sometimes trap nuts with parts I print, & have found going oversize by 0.2mm is generally enough for my prusa mk3, petg filament. I've noticed that when the part is mid-print, it is closer to the actual size, & then shrinks after it cools. I have to add the nuts mid-print while it's still on the heated bed so iv not needed more clearance than 0.2mm
The tolerance test is exactly how I did it, but instead of circles I did squares. I also made it so the female square hole was 10mm wide, then made the male pieces .9mm, .8mm, .7mm, etc. Slightly different but I think your way is definitely better.
Great video, in my experience one of the biggest problems for tolerance is elephants foot. Mine was caused by a low mesh levelling z-fade height, but also overextrusion on the first layer which I fixed by using first layer horizontal expansion setting in cura. I have also had issues with small amounts of warping on the first few layers which ruins tolerances, so I always use brims now. For more complex models slicing tolerance is important and if supports are used the z distance between supports and the model is a problem for small tolerances. However, tolerances would be much simpler in 3d printing if people who designed models in fusion 3d released the .f3d files with user parameters for tolerance, so people can customize the tolerance for the model after doing a test like yours. When doing parameters for complex models compound tolerance becomes another big issue, but often 3d printed things are simple enough for this to work well.
Another physical solution is to get a deburring tool. You can get a cheap version from Menards/Home Depot/Lowes/Ace in plumbing or pro versions from McMaster. This is usually the first tool I try when things aren't fitting together; it cuts off the elephant's foot in a few seconds.
To deal with the problem of clearance without compromising overhangs. Print next to outer walls first then outer walls but reduce flow rate of outer wall. Basically slightly under-extrude the outer wall to compensate for the bulge.
Thanks for this! I can't remember the number of times I've had this conversation with myself: "Ok, the screw is 3mm, and 3.5 for the hole -should- be ok" 🙂
Oh man, thats a rabbit hole. Trial and error around in circles.
Very little wrong with running. 3 mm drill though the hole you have. At least the screw will be 3mm. Often 3D printed holes are oval which causes issues. A drill cures this.
@Richard Harris that works in through holes, but not as easy with peg holes like the first cube model he had where you need to only "drill" a specific depth and want a flat bottom
I always add a 0.2mm variance to the hole, because for the love of all that is holy nothing ever freaken fits right!
This is why I made a piece that has different sizes holes in it 5 5.05 5.1 5.15 5.2 5.25 and so on through 6 mm
One setting that's kind of hidden by default and makes an enormous difference on Cura is slicing tolerance: it can be set to "exclusive", "inclusive", or "middle", which basically means wether the slicer will place your filament path entirely inside the geometry, outside the perimeter, or average its placement.
By default it's set to "middle" which means it will always make your holes slightly too small, and your pegs slightly too thick.
Edit: after a quick google search as a refresher I see I learned about that feature on this very channel! What were the odds haha
Yes, I made a video about that 👍 the one with the screw on the thumbnail
@@LostInTech3D I wish Prusa had that feature ! Seems very handy
yeah it really is!
It is a handy feature, but it really only applies to things that have varying widths. If you're printing a part that has common widths every layer (i.e. a flat square plate with pegs on it, all walls are extending straight upwards, orthogonal to the bed), then the slicing tolerance setting should not change anything at all. I'm gonna delve into nerd language from now on, but from a math perspective, think about Riemann sums: a lower Riemann sum approximates a function by taking the lowest point of a function every standard deviation, calculating the area, and adding them up to approximate an integral. This is the equivalent of inclusive slicing (exclusive slicing uses the highest point, middling uses--you guessed it--the value of the width in the middle). When you think of the layer height as the standard deviation of the Riemann sum--and let's say we're printing a pyramid using inclusive slicing--the width of each layer is derived from the width of the lowest height of the 3D model, and due to the filament expansion characteristics described in this video, the overall width of the pyramid will be slightly larger than intended. If there is no change in width, then the Riemann approximation equivalent is like taking the sum of a flat line, in which case all sums, upper, middle, and lower will fetch the same value.
Is there something similar in prusa slicer?
Honestly i am an engineer and i think your channel does a magnificent job and explaining concepts and discussing important topics for people interested in 3D printing, it was a HUGE help on my 3D printing journey.
Same here, well done.
Did you say you are an engineer
As a mechanical engineer who has also been 3d printing for 7 years you did a great job explaining everything that’s necessary to this topic! some times people go off on tangents that aren’t really relatable and it’s interesting but some people may find it confusing. It’s good you didn’t.
As a D&T teacher (retired) I used to do a short exercise with 11 year old students where they were asked to mark, cut and file a square of 3mm Acrylic to some given dimensions. When they presented their work as finished I tested it in a go / nogo gauge that had +/- 0.25mm sized holes in it. Generally first time none of the samples fitted but after a few tries they got the understanding of what tolerance was.
When I fit 2 printed parts together I usually print the inside part 0.25mm smaller and then use fine wet and dry paper to get a perfect fit. Fettling, as my engineer friends would call it.
I took a 3D printing class in my MET degree as an elective, this info is spot on and in more detail about tolerances than that course. We had learned about the expansion coefficient of the layers, but were just given estimated tolerances for common materials, for typ layer heights for the machines we used in the lab. We had a demonstration print exactly like you made @5:19 , this allowed us to see how tight/loose certain tolerances were in real life. great video! earned a sub from this guy!
That's excellent to hear, much appreciated 👍
By FAR my favorite printing channel! I wish this guy had a channel called “lost in history” where he did documentaries lol i swear i could listen to him talk about paint drying lol
I'll note that idea down! Haha. I would enjoy doing history docs actually, but I know even less about history than I do about 3d printing...
I would recommend using “Hole Horizontal Expansion” in Cura or the equivalent for Prusa. Scaling the object to fit causes all other features to scale. Hole Horizontal Expansion allows you to adjust holes with affecting the rest of the model.
I agree. I have my Hole Horizontal Expansion set to where I have almost perfect fit.
Yeah a 3% difference on a 5 mm peg won’t make a huge difference but a 3% difference across a 200 mm print will. Scaling the whole print by a percentage is not a good solution since it affects the whole print, using the horizontal expansion settings where they usually have both external and hole settings is far better as it only affects where it is needed and always changes prints by the same size regardless of actual dimensions rather than by a percentage. Using percentage based tolerances ends up with bigger holes having bigger tolerances, so bigger pegs will have looser fits, it is better to figure out what tolerance your printer needs as a distance and then apply that, so every peg regardless of size should have the same tightness of fit.
Second this. LostinTec consider an update or make a follow up to the video to include xy compensation instead of scaling parts. If you scale a part with 2 features that have to mate, like a bolt hole pattern for a stepper motor, the holes will be at the wrong position even though the screw will fit now. Horizontal expansion or xy Compensation results in prints with less material. So outer features get a bit smaller, and holes get a bit larger.
I have mine set to -.05 mm. So in the 15mm example, the hole will be 15.1 mm (0.05mm per side) and the peg will be 14.9. This will give me 0.2mm total clearance. Having xy compensation set helps ensure most of my parts fit without me having to worry. Also, if the mating features are smaller like 5mm, the hole will be 5.1 and peg will be 4.9 which is what you are looking for.
Also, your comment about filleting corners is a legit one. Helps with a lot of things like stress concentrations, printing speed, and aesthetics. Also, chamfers as lead ins to your hole. Also adding chamfers to the side that gets printed helps fite elephants foot (as does elephants foot compensation).
I also use horizontal expansion to get hole sizes right. it also helps on outer dimensions. I calibrate my e-steps by measuring from hole center to hole center instead of the outer dimensions of a calibration cube as well.
Dang, is there an option for this in the Bambu Studio? It sounds super helpful!
I would suggest adding a feature to the pegs to indicate their X-Y print orientation. That would allow the user to diagnose X vs Y axis fit issues if they are present. Good job.
I print always "perimeters first" up to 45° overhang. Not only because of dimensional accuracy but it also gives you a nicer surface finish as imperfections (from the usually faster printed) inner perimeters don't transfer so easily to the outer wall.
Do any slicers have adaptive perimeter ordering?
No, you're spot-on. This whole fit issue has already been resolved for machine shop work, and while the tolerances used in milling and lathe work don't apply here, you could use that as a model, or framework. Btw, this is the first time I have heard anyone involved in 3D printing talk about fit and tolerances. Well done!
For anything other than cylindrical hole fitment, I always put a radius/fillet on the edges of the male part. Works every time
I design aluminum sand tooling professionally, and this is exactly what we do with pieces that fit together. Good work hahaha.
"Give up and use a circle." Yup, works for me.
Nice informative and useful video, especially as I'm getting quite a few requests for much larger (3-4' tall) prints recently, thank you.
When I need precise tolerances on something I usually mess with the horizontal expansion setting. I have a workflow for this where I duplicate the parts meant to fit together in CAD, but I only duplicate the pegs/hole sections of the two parts while being mindful of their orientations. I then print them, adjust the horizontal expansion (or slicing tolerance) and try again. Sometimes I have to iterate this two or three times to get the perfect clutch strength for what I want.
Interference fits are counterintuitively more easy to do this for, assuming you don't care about the parts being removable in the future. I just print one of the parts with very few perimeter lines (usually two) and a higher infill density to make up for the weaker shell. The perimeters will stretch into the infill when pressed together, permanently deforming things and making a rigid joint.
Clever Ideas thanks. Also a continual print and test for me too and very time consuming. I look forward to the day when the machine has a feedback loop where it knows the result of what it’s created and can adjust accordingly…we don’t need more dumb machines 😅
Wouldn't it be a great way to integrate PCBway as a sponsor by letting them print this gauge model in their different printing technologies and comparing them?
Would love to see something like this.
Hold that thought...I was thinking the same thing.
@@LostInTech3Ddoes it benefit you in any way to push PCBway?
Of course it does. They sponsor his videos. Meaning they pay him for advertising for them.
I regret that I have but one upvote to give to this video. This solved probably 90% of my dimensional accuracy problems immediately.
What you mentioned applies to holes along the X/Y plane, facing into the Z (e.g. holes in top or bottom). However, holes in the sides suffer from yet other issues. First, a layer has a thickness and the wall at that layer will be basically straight - it won't follow a circular path. Therefore, the wall will be either too close or too wide as compared to the circle you are trying to make. By default, slicers will make the wall at the middle of whatever line/curve is crossing as you go up, which means it's both too close and too far. You can set it to print on the inside or outside instead, which will make it always too close or always too far, but neither is ideal. Really, you don't want round holes on anything but top/bottom if you need dimensional accuracy.
In addition, the top of a hole has very shallow angles - approaching horizontal at the top. This amounts to a very sharp overhang. Slicers won't try to make this extremely shallow overhang. Instead, they will create a bridge across the top. Again, this means that either you have filament where you don't want it, or you are missing filament where you do want it.
Another issue for top/bottom holes is the seam where the circle starts and ends. Again, you will run into issues at this seam. Either you will be missing a fit of filament or you will have some extra. The shape of the seam also depends on the direction that the extruder leaves when it joins up the seam - something you rarely have any direct control over. So you'll more than likely end up with bumps along the inside wall of your hole that make it too narrow.
Getting a perfect fit for any shape is nearly impossible. The easiest way to get accurate and consistent round holes is to undersize them a bit in your design, then drill them out with a drill. We use the same technique in subtractive methods like milling because it suffers many of the same problems - you can't make perfectly square shapes and you can't make consistently round holes. When we need a perfect hole, we will drill (come directly down from above) rather than milling (circling around the perimeter). For any other shape, leave clearance, and provide relief in tight inside corners, such as using dog bones.
Its so worth the work to get that interference fit. It's so satisfying when 2 parts snap together perfectly and holds there.
If I'm needing exact tolerances I usually do a couple of test prints on a cut-down version of the part/tolerance in question. I've found that even if you think you have allowed for the issue you will still be surprised. To be honest given the relative low cost of modern 3D printers its actually surprising how good the tolerance/consistency of prints are so I'm not complaining!
In Prusa slicer, a modifier can be added with the setting "External Perimeters First", so you could apply that setting only to the sections of the model that need higher accuracy.
W suggestion
Thank you
Was just going to comment this. Works really well.
Engineer here: we don’t really get butt hurt over terms that are interchangeable for practical purposes. We aren’t physicists.
This is a nice gauge and certainly useful. I think one thing that's missing though is how to account for these offsets and clearances. You briefly mentioned resizing the part, but that's not going to give you dimensional accuracy: it will not only make the holes larger but it will scale up the entire part, causing the outsides to be even larger too. Instead, you probably want a setting like horizontal expansion which will keep the overall scale of the part, but will subtract a bit from the size of each edge, like shaving a bit off of every face with sandpaper. You can use your gauge to determine how much too large your pegs and how too small your holes are, then put that amount in for horizontal expansion and it will correct for it, while maintaining the same overall size. You should never have to change your steps/mm or scale your part to make clearances!
The wall print order was a mystery to me until I saw your terrific graphic and explanation! Thanks so much. Now I'm off to print that pegs-and-holes-tester!
Loved your movie theatre analogy. Another thing to consider is the very common elephant's foot that occurs on the first layer and how it can affect clearances.
I found that if you have a "big" peg to go into a "big" hole (like making something out of two colors of plastic that you want to fit together) you can make the inside thing significantly smaller and then give it a wrap of teflon plumbing tape to hold it in place.
Wow. Very professional. That's really the right solution
@@urgamecshk yeah it works great 👍🏿
Top tip
Good tip, thanks! I'll trade you one: 3D prints love truck bed liner spray paint.
Or you can just design it properly, so you don't have to rely on crutches? ;-)
Can't go wrong with GO/NO GO gauges especially when there are so many variables when 3D printing, excellent idea!
I always do the following: instead of a square or round solid peg, design it as a flexible two-pronged peg which can be compressed in one dimension. Think of it as two banana-shaped prongs, with their widest parts a bit wider than the hole. When inserted in the hole the two parts will bend slightly, and will provide good frictional fit with the other part. The larger you make the hole and banana-peg, the more friction you can produce.
As in banana plugs , used in electronics for male to female connectors.
For a person who mainly wanna makes props and helmets, but may advance to this type of stuff. I appreciate it a lot 😂
Tolerance tests are always a good idea.
I did that for an important part of mine not too long ago and figured it out for my settings at the time and learned a lot just from that.
One other thing you need to keep in mind when building things that have thin walls between features is that you have to think about your line width and multiples of that. If you design a wall to be 1mm thick but have a 0.4mm nozzle, you are either going to print a 0.8mm thick wall (2 lines) or a 1.2mm thick wall (3 lines) depending on how your slicer feels like rounding things that day. Theoretically you can under or over extrude to make up the difference, but to my knowledge at least most slicers don't really change extrusion widths within the same layer. Maybe some slicers will just leave a gap as well if they can't fill it solid, but I'm not that well versed in all the different ones out there.
I was having this problem when I way building a shaft adapter for a motor. It prioritized the outside diameter and was only one wall thick, so the inside diameter was just going to be whatever it was, not what it was designed to. It's kind of like printing inside vs outside walls first, but ultimately if you have any solid walls between parts you should do it in multiples of your line width.
Thanks!
Does this relate to the section in Prusa Slicer under Layers and Perimeters where it says, Recommended object thin wall thickness for layer height 0.20 and 2 lines: 0.80mm, 4 lines: 1.59mm, 6 lines: 2.39mm, etc, depending on the number of perimeters?
2:23 It also causes some upward squish. I have noticed that on machines with a single leadscrew, the nozzle will move up a little bit when stacking lines next to eachother.
The main advantage of dual leadscrew IMO is the ability to overpower that upward force and keep laying down flat, consistent layers, even at 100% infill.
also, are you doing that stop motion low framerate effect on purpose? 7:00
It actually looks pretty cool.
Maybe my computer is just being really slow.
I tried droidcam for the first time so I'm guessing it's probably also the last time then, haha. Oddly I don't see any problems at this end, maybe I'm used to it.
Tolerance is a specified deviation from a nominal value.
Fit is a specified fitment based on it's intended purpose.
Clearance is the space between two mating parts.
From an Engineer, hope that helps everyone.
Tolerance = specified "allowable" deviation
I don't want be "that guy", but it looks like you are going for precision. Adding "allowable" adds context, or at least reinforces that conveyed by "tolerance". Thinking about it, "precision" is probably a good word for your list too. I will show myself out. :p
nice gauge bro, will certainly give it a try.
and my way of dealing with this is the lower flow at the outer wall. my usual setting is something like 2mm shell thickness with 0.7mm line width(from a 0.4mm nozzle) the 2 inner pass of wall is set at 112 flow(varies by materials, 112 is for pacf) while the outer most pass is like 92. the higher flow on the inside is to have higher extrusion pressure and presumably higher strength, and the outer most wall is just to give a smush so its mostly dimentionally correct.
at the end of the day i find it very helpful to have a rubber mallet and a tiny file on hand, which can solve like 90% of fitting problem.
This just happened to me last night on a 5.5 hour print using PrusaSlicer's Cut feature. Had to go drill out the holes. So frustrating. Thanks for the video!
Great content. And thanks for the gauge. I was thinking about creating one of these, but you just made it so much easier. I’m pretty new to 3D printing. But, when I use my Shaper Origin (handheld CNC), I can always create my male part first, the when I’m cutting the female, I start with an offset, try the fit, and add a few though each subsequent pass until I get a good fit. That gets me the answer for the project. It takes so much longer if you need to print the whole item before you know the answer. Thanks!
Well done. It’s one of the frustrating points of FDM. Trying to produce dimensionally accurate objects and the numerous failures involved in finding the ideal 3D printer settings and calibration strategies. Nothing ever seems to print as well as the first test model supplied by the maker. I always end up drilling-finishing by hand or going the CNC route which is noisy and dirty and involves standing in the cold shed getting bitten by mosquitoes haha things we do! I’ll be using your tool for sure thanks.
The most important concerns when trying to fit parts together are squish and thermal expansion. Squish is related to nozzle diameter, and thermal expansion is related to the filament and extrusion temp. You must understand that a round peg will expand outward, and the receiving hole will expand inward - so you must compensate for overextrusion in both parts. I’ve found that 0.2 for a 4mm nozzle is a good starting point for overextrusion. Assuming a 4mm nozzle, a round peg of 10mm would need a hole of about 10.8mm. Remember you’re compensating for both parts in this hole and each part has two expanding directions of concern (4 faces * 0.2 = 0.8).
There’s also the issue of fitting a round peg made of a non-printed material (steel, wood) into a round hole which is printed. In this case the hole only needs to compensate for its own expansion so it would be 10.4mm for a 10mm rod made of metal.
Talking about percentages of increase or decrease is definitely not the way to approach this problem. A ten percent increase on a 10mm hole is 10.1mm. A ten percent increase on a 100mm hole is 110mm. Hopefully, you can see why this is not a good approach?
If you're going for a friction fit, and making the design your self. Just add a small slope (2 degrees or something like that) to one of the 2 parts. Once the head of the peg is inside the hole, the rest can be pushed in with a bit of force. Unless the negative clearance is more then the material can compress.
Better yet just don't match the peg to the hole. A square or hex peg in a circular hole works great. You just oversize the peg a tiny bit and since it is only making contact at small points it can easily be pushed in and as a bonus it will resist rotation.
If you have trouble with overhangs when printing outer perimeters first set the outer line width to 0.6mm wich increases the overlap between the outer lines and therefore makes them stick better together. You can do this even with a 0.4mm nozzle, you loose a tinny bit of details but if you can live with that it’s almost like a cheat code. Perfect layerlines and even on fairly steep overhangs doable depending on your layerheight
You'd like his Extreme Vase Mode series then ;)
I’ve waited a long time for someone like you to make this video
Something that helps when you need square parts to fit is putting a .2mm radius on the edges. I also make the hole .25mm to .35mm larger than the pin or mating part. Great video thanks.
It also helps to just take a file or bit of sandpaper to the edges.
I'm having an issue where I put a 2.4mm radius on both edges, and then one is perfect while the other prints like a sharp corner, even though it's not what the slicer shows. Maybe outer wall first will help.
@@EternityForest is the slicer putting the z seam on the that corner? That can mess up a small radius like that
@@louiel8711 It's putting it in assorted undesirable places depending on layer, that's one of them but not often. Should we all be building in seam dump points in our designs?
@@EternityForest try Prusa slicer with the paint on z seam, I like Cura but it lacks that feature.
My favourite place for 3D printing knowledge. Thank you. Cheers J
Round holes are tricky, especially smaller ones. The extruded line will want to drag to the center of the hole a bit, depending on the diameter and speed (even with outer walls first).
But I managed to do a perfect interference fit of a small square peg on the first shot - with zero extra tolerance, but chamfered the peg corners ~0.5mm as they aways overflow a bit on both the peg and the hole, even with a well tuned LA. It being PETG which is flexible helped and some force was needed, but it did fit.
In general, when designing parts that need to fit to something (either another part or an existing object), I would always recommend you make test prints of every critical dimension. I also find that a 0.2 mm tolerance is a good place to start. Finally, fillet or chamfer every sharp corner. In the horizontal plane, a 0.2 mm radius rounded corner is as good as it gets anyway, and baking it in means the printer won't "color outside the lines", so to speak.
Excellent tips, thank you!
around 10-12 years ago I designed a file called "hole size test print" (on thingiverse and Printables) and it is by far the most used tool when I am designing for real world. It's a thin sheet with holes from 1mm to 25mm in 1mm increments and has the size next to each (use Prusaslicer chang color feature to make the numbers a different color) and when I need to print a part with a hole to fit something into I use it as a test. I have had 4 printers and on all 4 the outside diameter has always been very close to accurate (+/- 0.5mm) but it's inside holes that are not. I found my MK3S is about .2mm off inside diameters so that is what I use for a snug but not tight fit. Even though the test print uses round holes, you can still use it for squares and such if you have calipers, measure the square part you need to fit a hole with the caliper, then place the inside part of the caliper into the test holes and there you go you then have the square size hole to make.
0.5mm isn't accurate in any field except construction
@@urgamecshk I see you have never encountered woodworking.
Excellent info as always. One additional variable that will affect parts fit is "elephants foot", i.e., the slight bulging of a part where it contacts the build plate. I control this in Cura by setting the first layer horizontal expansion to around -0.12 mm. You'll have to adjust this number depending on the setting of your Z height setting. I get no elephants foot in my prints.
It's best to avoid that by getting your Z offset just right. There are lots of parts for helping to calibrate this. You should only get elephants foot if your first layer is squished because the head is too close to the bed.
I learned something. I subscribed. Thank you for explaining the outer walls first setting. Yep, I’m triggered, lol. Tolerance, clearance and fit are not concepts, they are important descriptive and accepted terminology used every day to communicate between engineering and manufacturing, verbal and in documentation. Each has a definition. I’m an engineer and machinist who uses the terms daily. Clearances can have tolerances, but tolerances can’t have clearances. Tolerances are dimensional parameters that must be met in order for parts to fit, and are denoted in +/- on each dimension. Clearances are space allowances intentionally engineered between parts to allow for movement, adhesive, lubricants, or for another part to move within without contact. Both mating parts must be within their tolerances to provide a sufficient clearance. Think wheel and fender. As long as the wheel diameter is within its tolerance of +1”/-2” from the absolute dimensional callout and the fender position within its tolerance of Z=+2”/-0” of its positional callout then a 1.1” clearance allowance between the fender and wheel is sufficient to keep them from rubbing no matter where both parts are within their tolerance. Fit is a term that generally refers to the effects of tolerance stack up. If you have 20 parts in a stacked assembly and each and every part was held on the high side of the thickness tolerance, the overall height of the assembly may not fit into the space allotted for it. If the same were all held on the lowest end of the tolerance, the result is usually called end play, or slop. It’s the engineers job to communicate with manufacturing with both understanding these terms in order for the engineer to set tolerances on dimensions based on the capability of a particular machine to hold those tolerances. In some cases like the afore mentioned assembly, parts may need to be segregated by high/ low end tolerance and arranged in a way called fitting.
Thank you for the lecture! It was interesting to read :)
Clearance is needing a gap between moving parts for lubricant. Tolerance is how accurate you need to make that gap before it's a problem.
...would that be a fair statement?
after buying a new roll of filament you gotta print all tests out there to dial it in, but then you run out of filament and repeat that for the next roll.
LOL 🤣 this is why I tried to make this thing as small as possible
Don't forget the elephants foot. It's good practice to add a chamfer at the bottom to avoid it when testing clearances.
The seam has a big impact as well. Scraping the seam with the backside of a hobby knife can improve the fit noticeably.
Yeah - thats something I want to explore in the future, was talking to someone else about that earlier.
Regarding printing the outer wall first. I have that on by default on my profiles for about two years now. And on my test I even had better overhangs. Especialy curling up edges are a bit reduced that way. On various tests I never had a print with worse overhangs by enabling it, so i have it on by default and did that for the profiles of a friend as well who has no issues with it as well.
Great idea with calibration gauge. One thing to consider being fixed. The dots in the pegs affect geometry of the square facets as they sit to tight to them.
hmm they shouldn't, perhaps theres too much first layer squish.
I don't have linear advance, I just design smooth or beveled corners so that the corners don't stick out.
Subscribed.
I love your channel man it's highly underrated and should be a must for people that are getting into 3d printing
Interesting. I will have to look for that setting to see if it can improve my pegs. A tip I got from another video to reduce "ghosting" has helped with my key and hole prints, I uncheck "infill before walls." Besides helping the outside of the print I noticed the hole is cleaner and the pegs (ones I made, not from the slicer) almost always fit better because of what you described as the "armrest" example.
yes, essentially the same thing I guess, but more of it!
Another issue is that holes are not actually round but many straight lines. This is especially noticeable on small holes. There is a setting called vertical hole compensation that can help.
I think another thing is when printing a circle, its constantly dragging the molten puddle inward as it rounds the circle due to viscous effects. It's got to shrink the diameter enough to make a difference.
I just make all holes 0.01" larger in CAD then they have to be. Works perfect.
Drill bits are also cheap and make the cleanest and roundest wall
The concept of right size middle hole is valid since it really shows the right size of the hole as it was designed. Before your test an extrusion e-steps test and tuning should be needed in order to know that the sizes are real. Since then the test is useful. You should also need to compensate the elephant foot tuning the horizontal expainsion setting since the first layer will be 2-3 decimals smaller than the rest of the hole.
As an actual engineer I deeply, deeply appreciate this video an the effort you have put into it. Here in Germany the job description engineer (Ingenieur) is a protected title, but if it were for me you could call yourself an engineer. There are far more people out there with far less knowledge about engineering. Trust me. And even I dont know when to exactly use interferrances and co. Unless required differently, I just slam the word "Allgemeintoleranzen" (general tolerances) somewhere and hope for the best.
On the other hand I can understand that the word engineer should be protected, because getting a degree in engineering was literally the hardest thing i have ever done. In my opinion having interest in a topic and showing the will to learn about it is far more valuable than the title. The title opens you the door but the competence you achieved getting the knowledge keeps it open. So dont go to hard on yourself calling yourself ,,not an engineer". As long as you have passion and understand the technicalities, u r an engineer in my opinion.
appreciate the comments, I do still have a lot to learn :)
I do have a .6 mm nozzle and would love a .6mm nozzle version! I use .6 because Im not concerned about the lines or texture, but I am extremely focused on how smooth that line is, I can see all the septs in the motors and vibrations and such. I also like building real large models and general fixturing pieces
Nozzle size doesn't change visible , layer height does...
@@urgamecshk I also print at .4-.3mm layer hights
I doubt you can see the steps from the motors unless looking through a magnifying glass or microscope or you aren’t running any micro stepping. Also the way the filament is extruded will smooth out the motor steps to some extent as well.
You might be better "playing" around with xy compensation on Prusa Slicer or horizontal expansion on Cura. I found that setting it to -0.15mm helps thing fit much better. You will however lose detail on top layers i.e. writing.
Great video. Keep up the good work.
yeah, thats how i do it too, and it works great
I wonder if the last few layers could be changed back for detail
@@paulmyfinger Not as far as I can tell on Prusa Slicer. Maybe Cura can, but I have no experience with it.
@@mrnlce7939 You should be able to change settings at various heights by using the multiple processes.
Cura also has a dedicated setting for horizontal expansion on holes. That might give you better luck at fixing holes without affecting top layer details like text.
As an engineer, the way you said things is on point. Sure, clearance and tolerance are in fact different concepts but that's a tangent irrelevant to the topic, which I certainly must add, you explained perfectly.
That clearance gauge you designed is totally genius, and I'd think that dialing the settings on the printer perfectly for it to have precise measures according to the clearance increments, would result in an even better way of finding out material dilatation or contraction percentage once the square and pegs are printed, and the gauge would need to be printed only once, as you mentioned, and it would kill two birds with a single stone; settings for a material would be known, and that would be the reference point for others.
appreciate the comments! I did spend a good while working with an engineer to make sure I got at least most of it right
One thing i learned early in 3D printing is it is far better to print extra thick walls on the "female" side of two parts that fit together and then try to print the "male" side as close to the proper size as possible, then you take a drill/mill to your female part and just make it the proper size to fit the male part. It is far too hard for the hobbyist 3D printer user to properly and reliably compensate for thermal expansion and contraction on plastic parts which is a value that can vary massively for the temperature you print at, material, filament manufacturer, infill and number of wall layers, etc. You can manually modify the part sizes with far higher reliability and precision with common hand tools which will save you a lot of time, assuming you are not mass producing parts or something
I'm a hobbyist printer who started 3d printing a year ago. My general rule of thumb is 0.5cm clearance between the parts that need to slot together. I've printed a lot of custom spool holders that pin together and I usually make the pins 5mm or 10mm squares and the holes they slot into are 5.5mm or 10.5mm to get them to fit. It sometimes results in a bit of a loose fit and I have sometimes reprinted a pin an extra millimeter in cross-sectional dimensions until it's effectively a pressfit.
I got super confused when you wrote you use 5mm clearance first. Then realized it was a typo. cm and mm, hard to keep track on. xD
What nozzle do you use? if its a 0,4mm, how would you get 5,5 or 10,5? Try to keep it dividable by your nozzle size (the printer software will try to compensate but as you might understand, its one more thing that could "fail'). 5,5/0,4=13,75. If you make it 5,6 its even with 14. Simple change that might make wonder to your prints. OR maybe you are using 0,5mm nozzle, in witch case you can ignore all I wrote.
Most of the parts I print are cases I design myself for various sorts of circuit boards, and my preference is for an interference fit so I can just snap the lid on. With my printer (a heavily modified Ender 3) and preferred filament (Duramic PLA plus) I have found that a 0.2mm clearance works consistently. To avoid the issue with the corners, I always put either a 0.5 or 1mm chamfer on all external corners (ie the outside of a peg, not the inside of a hole) which both gives a better fit, and at least to me gives a part that looks more professional.
Cura actually changed it. It is now called Horizontal expansion under the "Shell" tab and a negative number will make the hole bigger and a positive number will make it smaller
Not seeing it but someone may have said this already, if so sorry. This is a GREAT method for making your parts fit, It however doesn't create dimensionally accurate parts. If you buy/print a measurably accurate test piece then use it as a test piece for your test prints, testing inside and outside dimensions on each printer, material, nozzle, ect. will help you create more dimensionally accurate parts. But, this method will work well for 99% of prints.
absolutely, it's meant as a relative tool to check printer A vs Printer B for example. You need calipers for dimensional tests.
I posted a remix of your clearance gauge on printables along with the source code (python build123d) that I used to make the object. I created an 11mm version for 0.6mm nozzle printers too!
This explained so much, and as an engineer you're words and smarts are very smarty, thank you sm
appreciated!
what is always ignored is the radius of a curve affects the how much excess material is trying to move into the available space , the smaller the radius the more material to the available space, try and print a 1mm hole and you probably won't get a hole at all.
Another trick I found that works well for threaded parts is to use polishing compound on the threads. The paste type used for polishing car paint works well. If the threads are too tight, lubricate them with the polishing compound and work the threads in and out until you have smooth clearance, then wash off the compound.
I agree with this idea. Here's how to make it even cheaper... Get your part wet with water. Put baking soda on the threads. Work the threads forward and backward allowing the baking soda to act like a grinding medium. Rinse off the baking soda when you are done. I'm not sure about the chemical reaction between the soda and plastic, but it makes PLA seem smoother more than just because you sanded it. I've also used toothpaste, but baking soda is cheaper and easier to clean.
I have outer wall first as default and it makes print quality so much better, just use support interface for good overhangs
that gauge is actually super useful. my brother asked me to print a small part for his bb pistol that broke, but i didn't even bother because not only is my printer wonky with filament stopping feeding (haven't been able to print anything for a couple years now because i can't be bothered), but also because i know i would never find the correct clearance even if i could actually model the damn thing he asked me to. this would help with that. it still won't work and is more work than it's worth, but meh, at least i can try.
Nice! This little gauge set is incredibly useful. Seems really obvious in hindsight; if I had a nickel for every time I groaned, cursed, and went back to my CAD program...
What I've found helpful, in cura, is the horizontal hole offset found in wall setting.
I printed and measured outer and inner diameter on a test print. I used that to adjust horizontal expansion so that I know that the outer geometry is near the correct dimension and then I compensate the inner diameter in the part. Then I have a printed part with almost correct geometry.
I use an Ultimaker S5 at work and for 0,4 nozzle I have - 0,057 and for 0,8 nozzle I have -0,114. Inner diameter for holes I add 0,3-0,5mm.
Works great for me.
Orca and some other slicers have a feature called "Precise wall" which addresses the wall expansion, and X-Y hole expansion & X-Y contour expansion, which expands/reduces the perimeters of walls and shapes
Heat and cold will warp your pieces tremendously. Plastic, wood, metal, concrete that's why things are manufactured in a constant temp setting. Wood for example warps so damn much from day to day, I'm impressed framers get something done and I remember my machining teacher constantly talking about the hot/warm tolerances "check it later " 😂. I'd like to get a 3d printer and I wonder how much the hot/cold affects the printer itself
This is literally where I spend most of my time, and you'd think I'd have learned and adapted more than "Design, print, reprint with bigger holes when it doesn't fit" but I haven't - until now. @lostintech to my rescue - again, but not for the last time I'm sure.
Great video I can't wait to print some of these and test them out! Also, for a really quick hack fix for getting square fitment without reprinting with more tolerance, giving it a quick pass with a hand de-burring Tool on the four corners can do the trick!
To avoid bulge in sharp outside corners, try fillets with radius = shell thickness. Or shell thickness x some constant close to 1
if you like to tweak. Draw the path of a sliding disk to see how that works.
Generally, when modeling for precision I've been parameterizing shell thickness & layer thickness then using multiple shell overlap math in CAD, and sometimes turning off Arachne in the slicer to make features that will slice to exactly n strings of plastic.
Careful with that last part. By default, slicers have an "overlap" setting. So if you model a 1mm wall with a 0.5mm extrusion width, it might not work without Arachne. You may end up with a thinner wall than you were expecting.
@@ilikewaffles3689 Yes, that part only matters when you're trying to be careful. It helps to know how your slicer calculates shell/perimeter overlap and put that math in the parametric CAD model. The minimum wall thickness that will get your favorite slicer to "do the right thing" with a 0.5mm extrusion width is probably less than 1mm. (not talking about "thin wall" detection)
Fitting rectangular parts into rectangular recesses is a problem even in far more accurate metal CNC machining because the round tool can't leave sharp right-angle internal corners. To get around this cheaply (without the need for high precision tolerancing) we use undercuts. Essentially you machine out the corners of the rectangular recess, so that the external part corners have nothing that will interfere with them. You could introduce undercuts or internal corner relief into your designs too.
I always make the parts with 0.2mm clearance so they fit together especially if I have to print each part in different printers. If it still doesn't work, there's always the blow torch.
Normaly when designing something for 3D printing, i do a part offset of 0.2mm and then it will fit or snap right in.
If it needs to slide easily then i make the offset around 0.35mm
Works every time.
I found that using just a 0.5 mm filet helps not only get rid of the bulging corners, but also helps prevent elephants foot if done on the bottom edges.
For me there is usually the option of manual scraping down a part, but in general if it really needs to fit, making a small test case really does help.
It could be as simple as cutting away all the part except for the hole you want to test. then I print it using my usual guestimate and adjust where needed.
I've had this issue, especially when your not printing everything on the same printer but also when you need to match an already made part. Trying to chase the size is crazy, since with that there's clearances left right and up and down but when you make those correct the holes on average are too small. You do have a setting that can enlarge just "hole size" but the program also enlarges curves or bends on occasion.
I've found that best way to do this is to add wall layers, keep the overall size to be correct and use a drill set to correct hole sizes. Especially with holes designed to be tapped by a screw to plastic its better to match shaft size not thread size to get a good bond.
I've had issues where if you zero and calibrate your printer, and pull a file from a designer they may have a printer that's not exactly calibrated and instead of them going in and changing the step motor settings to adjust for that they just augment and stretch file settings so it prints on their printer.
This isn't bad if you print all parts that way but the issue comes in when it's something that needs to match a predetermined part.
I know people would rather everything just clip together and work but I've found that just a quick swipe with a soldering iron or a file can fix it quickly on parts you can see and parts you don't just use any method to sand and shape it to fit.
Horizontal Expansion has served me very very well in the past
I ran into this issue, I made a template for using my router and shape wood pieces. Then I took that model, and measurements from my blanks to make a placement template to position it consistently and accurately on the blank. Well as you guessed it, first time FAIL. Would not fit. My solution was in the model, to do what you said second, made in this case the hole bigger. But in my case it was not a circle but had 4 sides, and when I pushed each side out alone the end result was a mess and did not match the main piece. I pushed them all at the same time out at 0.02 and it fits nice, maybe a 0.018 would be better but the minor difference doesn't seem worth the work.
Extrusion multiplier calibration is very important towards this end.
In my arsenal of settings used for printing with tolerance in Cura (each depending on situation) is:
Flow (with tweaked flow for top and bottom)
As a rule of thumb for parts that fit inside another part such as with an enclosure with a battery compartment for example, I design the battery cover 0.1mm smaller (all round). This friction fit almost always removes the need for fasteners/screws, for the everything else to fit with slight friction I use 0.2mm and 0.4mm for loose fitting...
This is an interesting topic & a great video. I sometimes print parts for use at work (automated packaging machine builder) & have access to secondary processes (mill & lathe) to bore out holes accurately for fits. So the tolerancing is taken care of by those processes. If it's just a clearance hole for a screw to pass through, the machining will be very quick & easy generally. I sometimes trap nuts with parts I print, & have found going oversize by 0.2mm is generally enough for my prusa mk3, petg filament. I've noticed that when the part is mid-print, it is closer to the actual size, & then shrinks after it cools. I have to add the nuts mid-print while it's still on the heated bed so iv not needed more clearance than 0.2mm
Bahaha, I loved the trigger disclaimer at the beginning. Epic.
The tolerance test is exactly how I did it, but instead of circles I did squares. I also made it so the female square hole was 10mm wide, then made the male pieces .9mm, .8mm, .7mm, etc. Slightly different but I think your way is definitely better.
Great video, in my experience one of the biggest problems for tolerance is elephants foot. Mine was caused by a low mesh levelling z-fade height, but also overextrusion on the first layer which I fixed by using first layer horizontal expansion setting in cura. I have also had issues with small amounts of warping on the first few layers which ruins tolerances, so I always use brims now. For more complex models slicing tolerance is important and if supports are used the z distance between supports and the model is a problem for small tolerances. However, tolerances would be much simpler in 3d printing if people who designed models in fusion 3d released the .f3d files with user parameters for tolerance, so people can customize the tolerance for the model after doing a test like yours. When doing parameters for complex models compound tolerance becomes another big issue, but often 3d printed things are simple enough for this to work well.
Another physical solution is to get a deburring tool. You can get a cheap version from Menards/Home Depot/Lowes/Ace in plumbing or pro versions from McMaster. This is usually the first tool I try when things aren't fitting together; it cuts off the elephant's foot in a few seconds.
Thanks for the tool. Often use SV06 and Prusa Mini together on the same project.
Looking forward to trying this out. It's annoying when you print a part and it has to be sanded down to fit. Or reprinted entirely.
ahhhhhh this is what I needed!!! thank you!! so many of my prints wouldnt fit with cura... hahah the struggle bus is real.
"It does a much better job printing round things" which is why sometimes modeling rounded corners on your square pegs can make things fit much easier.
Yes absolutely
Great video. Only thing I would ad is pressure advance, not everyone use marlin.
To deal with the problem of clearance without compromising overhangs. Print next to outer walls first then outer walls but reduce flow rate of outer wall. Basically slightly under-extrude the outer wall to compensate for the bulge.
How reduce the flow rate of outer walls only?