text:
But ... skateboard bearings have OIL in them, and oil is ... bad?
I see plans for various spool holders, either for PLA in the open, or for whatever filament in a dry box, that use 608 bearings. Elsewhere, I see warnings not to oil your filament to make it go through the extruder better, because problems going through mean something else is wrong, and it's better to fix the other thing. So, if I use the 608's, will oil leak on the filament, and is this bad?

Sounds like an instance of bad advice without any real basis in reality.

Oil is not bad, and generally only bearings specifically being sold for use with skateboards will be oiled.  I don't mean all 608 bearings, but rather 608 bearings intended for/marketed to skaters to use with their boards as opposed to general purpose 608 bearings.  You can tell if a bearing is oiled vs. packed with grease by spinning it.  A greased bearing will stop almost immediately due to the viscosity of the grease.  An oiled bearing will spin under its own momentum for a while after you spin it.  But, regardless, grease or oil, the chance that it will contaminate filament in any appreciable way is very small.  The skin oil on your fingers that gets deposited every time you load the filament is way more significant than accidental bearing leakage, and either way, it doesn't matter.
The advice about not oiling your filament is, well, bad advice.  Or perhaps it was simply misunderstood.  There is nothing wrong with oiling filament if done properly, and every little thing you can do to make the filament extrude with that much less resistance is a good thing.  And it is certainly not 'bad' to oil filament, as no matter what, it is going to improve the situation.
What that advice is trying to say is that if the extruder is having problems extruding, then oiling the filament is not really a solution.  It is never actually necessary to oil filament, and it is not something you should rely on to fix a problem, but rather something that can increase performance.  So yes, don't try to make a non-working extruder working by oiling filament.  That doesn't mean oiling it is bad, or you shouldn't do it, just remember that at best, it can only hide a problem, but it won't fix it.
Despite what the other answer to this question says, you cannot 'oil' filament with PTFE lubricant, or any other lubricant that is not actually oil, and the purpose is most definitely not to lubricate the filament.  You also do not need to do it constantly, just once in the while.  And it is only useful in all-metal hotends.  Hotends where a PTFE tube all the way past the heat break will not be hurt by oiling, but it won't get much benefit either.
So what is the point of oiling if it isn't to lubricate the filament?  Well, when certain types of oil (vegetable oil, shortening, canola oil, etc) is heated for a long time at a temperature of 190°C or higher, the fatty acids oxidize and reorganize, or more accurately, polymerize into a new plastic-like layer of molecules.  This polymer layer acts as an extremely slick coating that is almost as slippery as a teflon coating.  Regardless, it is much lower fiction than bare aluminum or stainless steel - having this coating inside your hotend will lower the drag on the filament that much more, which is always a good thing.
If something about this sounds familiar, you probably already know about it under a different name - seasoning.  You know, that thing people often do to cast iron cookware.  Only, it isn't actually specific to cast iron - it works just as well with aluminum or stainless steel.
Repeated exposure to hot oil continues to build on this coating, making it more slippery and durable. The polymer coating actually bonds to the metal.  And you aren't lubricating anything, that is not the point, you do not need to constantly oil filament.  You can lower the extrusion resistance in all metal hot ends by oiling during the first few prints, then oiling a print every once in a while to build up the coating again (which will slowly wear away over time), but it isn't something you really need or should do all the time.  And using too much oil during a print can weaken the print's final strength because any excess oil will mix in with the PLA (or whatever it is you're printing with).
One final thing - if you do wish to season your hotend, canola oil anecdotally seems to work the best.  Using PTFE lubricant will do nothing, and again, the point of oiling filament is to season the hotend, not to actually act as a lubricant.

The important take away here though, is you don't need to worry about any of this.  Just use bearings, don't worry too much about keeping filament clean, just have something to clear off dust and other detritus that might be large enough to clog the nozzle.  If you needed to be so vigilant as to worry about oil or grease from bearings, we'd all be using rubber gloves to even touch our filament.

Typically, oiling a filament would mean to use a vegetable based or non-petroleum type of lubricant, possibly even PTFE (teflon) or silicone. Those materials will not damage PLA filament.
Oiling filament is not the haphazard application of lubricant, however. One drop on the filament sponge guide will last a rather long time and should be given sufficient time to distribute itself in the sponge, helping it along by alternately squeezing and releasing the sponge.
Ball bearings of the type you've described will not have oil, unless otherwise modified by the user/owner. The bearings are packed with grease which will not leak out under normal circumstances. Running the bearings at high speed will cause the grease to thin a bit and perhaps drip or if hot enough will "sludge up." If your bearing grease turns to sludge, the bearing has already gotten hot enough to melt out of your plastic fitting.
For spool holder applications, you can clean the grease from the bearing with a suitable solvent (denatured alcohol, acetone, soap and hot water in a pinch) and expect little impact on the drag. The spools rotate at such slow speeds and under such small load that the bearings alone will work nearly forever. This recommendation is void in dusty environments.
With respect to oiling the filament, it's not a bad idea to have a sponge dust catcher that has no oil just as the filament enters the last open location. My bowden extruder system is nearly enclosed and the sponge sits at the very edge of the spool, while a direct extrusion system would have the sponge at the entry to the extruder gears.

sponge for cleaning. I will add the cleaning process for dust, some times I left the printer without usage for weeks.


text:
How to make moving parts not stick together?
I am new to the 3D printing world and I would appreciate if someone can give me advice on how to 3D print moving parts without them sticking together. I recently 3D printed the predator pliers from Thingiverse and it came out very nice except for the fact that the parts where stuck together and I could not move any of the pieces. I had to use an Exacto knife to loosen the parts and in doing so my predator pliers broke and I was very sad.
The printer and the settings that I use are:

PowerSpec WanHao Duplicator I3 PLUS 3D Printer
Ultimaker Cura 3.4.1
Black PLA Plastic 1.75 mm
0.4 mm nozzle
60 °C Bed Temp
200 °C Extruder Temp
20 fill  (usually-sometimes more)
Layer height 0.15
UPDATE:
I printed a PIP from thingiverse and it worked out    perfectly. All the parts move.

Hi Alias311, welcome to 3D Printing.SE! What you are referring to, is known as Print-In-Place (PIP).

Hello! Ahhh I did not know this. You know I've tried to print things that move but almost always don't come out that good. For a while, I thought it was because I am using PLA. @0scar

you might also want to link which model you refer to.

@Trish hey sorry, this is the link to the model i was making. https://www.thingiverse.com/thing:2917515

Glad it works! It could well be that the PIP model you printed has larger tolerances. Please vote to accept an answer (using the green tick button next to the question) so this question is not bumped up once in a while and can be removed from the unanswered question list. You may even add your own solution and accept that after 48 hours! Thanks!

If parts stick together after printing, the positioning or extrusion is not working optimally.
This can be related to various issues:

Positioning of the head is not correct; this could be related to incorrect belt tension, incorrect steps per mm, streched belts.
The extrusion process is not working optimal; this could be related to over-extruding (incorrect steps per mm for the extruder, incorrect multiplier in the slicer, filament too hot) or the first layer height is incorrect (too low, so the lines spread out and tough each other). Extruder calibration is explained in more detail in this answer.

A very good start to verify what exactly your tolerance problem is is to print this tolerance test. Basically, these are diabolic shaped objects in a slightly larger outer shape object. Please slice this STL file with your favorite slicer to obtain the G-code for your printer. When the print is ready, you use a screwdriver to turn the diabolic shaped objects from large to small tolerance, the last one that does not turn is the maximum tolerance of your printer. So when printing in place hinges, you should use tolerance values higher than the one that did not turn.

How can this be resolved? Will I need to change the extruder? Because I have tried to level the bed as well as I can. I have ordered new nozzles as well as I feared that this one maybe clogged.

@Alias311 A clogged nozzle will lead to under-extrusion, so that is probably not yout problem. Please add a picture of the print to the question.

source: Stack Exchange

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/

sort: votes


text:
Will a glass bed warp as it is heated?
I purchased a glass bed to use with my still-in-transit Ender 3. Since the bed came in before the printer, I pulled it out and used a flat edge ruler to see how flat the glass surface is.
It appears the glass is slightly "dished" in the center from one side and "raised" in the center on the other side. I am wondering if this is a sign of a defective glass, or if it is likely that the glass may change shape slightly as it is heated?
If it does change shape, should it be put with the dish side up or down?
Logic would say that if it does change shape, the bottom would probably get hotter since it is against the heater while the top is slightly cooler, so in theory the bottom may expand more "pulling" the center down?
I guess the bottom line is, should I send the glass back as defective or wait until the printer arrives and see what happens when I heat it up?

I wonder about supporting the glass near the center.

Glass will not change its shape you can watch this interesting video: YouTube - Fix Your Bowed Glass Build Surface - CR-10 3D Printer .
Or simply change your glass.

Whilst this may theoretically answer the question, it would be preferable to include the essential parts of the answer here, and provide the link for reference.

If you could add the main points from the video to your answer then that would be great. If the video is deleted, then your answer will not be so useful.

TL;DR
Yes, glass warps when hot. Use a physical touch sensor and calibrate it out, or swap glass if it's "bad".

The further you go into mechanical studies like 3d printing, mills, and lathes, you will find out that nothing is perfectly flat. Everything has a tolerance to it, whether the manufacturer provided it or not. Better manufacturers provide the tolerance data.
As you have or will find out, yes, glass does warp when heated. That is because you are not warming the glass evenly. When hot and cold spots form in glass, the glass tends to warp up or down, depending how the heat travels.
It's common for 0.01 mm warp when a glass bed is brought to printing temps (60-100 °C). If one has a larger format bed, like my Vulcanus at 500x500, 0.03 mm changes are possible.
One can remediate this warping, as it usually appears in the same place during the heat cycle. So if you calibrate after the bed is heated, you should reduce said errors. Another more comprehensive way to fix this, is with a physical touch sensor and create a grid map of the bed geometry.

Thanks. I ended up sending the glass back. It was more like .1 to .2 mm, perhaps even more (my means of measuring isn't that accurate). We'll see how the next one looks.

Yes, glass will warp. Think about it this way: the edges cannot be as hot as the centre if you use uniform heating, because they lose heat more quickly.
If the edges are colder, they are also shorter than the hotter centre, which expands more.
If the centre is longer than the edges, it will bend to accommodate the extra length.
You can solve it by placing extra heating along the edges. Once you heat the edges more than the centre, the edges will pull apart the centre, which will result in a flat centre. However, the edges will deform as well, you need just a bit of stretch of the centre, but not so much that it pulls the edges back.

all_licenses: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/


text:
Can I use a 0 mm top layer thickness in Ultimaker Cura to create an open box?
Let's say I'm modeling a simple open-top rectangular box to slice via Cura for printing. Normally I would set up a solid box of the size I want in the modeler, and then subtract a slightly smaller box to create the final result.

Is it possible to get the same results with Cura by instead only modeling the simpler solid box if set my wall lines and thickness for the base and sides, set the infill to 0 %, and then set the Top Layers to 0 and/or Top Thickness to 0 mm?
How might that change the resulting print?
How will that impact the total height of the print?

Why not just try it yourself?

Because even simple prints can take an hour of machine time. This was answered much faster, took no machine time, and I didn't have to wait 6 hours for my current print to finish to even start.

You don't need to print it to see the resulting path.

Yes that will work in Ultimaker Cura exactly as you say.
So if you have a solid model of a cube, you select wall thickness, bottom thickness, 0 % infill, and no top layers or top layer size of 0 mm. You will then end up with a box without a top layer, but with walls reaching up to the height of your model.

Can you do this to remove the bottom of a particular object as well?

@CarlWitthoft Yes

Yes, you can even print no solid top, bottom, or side, and only print your infill shape/density if you like. I used to use this to make scaffolds.


text:
What kinds of gaps/tolerances should I use when designing pieces that fit together?
Let's say I'm modeling a simple box with a lid. Just as an example, we'll say the outer edge along the top of the box is 50 mm x 50 mm. With 3D modeling software, it's easy to build a lid for this box to surround the top with an inner edge size of also exactly 50 mm x 50 mm ...but this seems like a bad idea. Surely I'll want some kind of of gap, to ensure an easy on/off. An exact fit seems like it's asking for trouble.

How much gap do we leave for this kind of thing?
Is it related to nozzle size?
I suppose it also matters how tightly you want to fit, though I expect in cases where a tight fit matters some kind of snap or clip would be used.
Are draft prints with larger layer sizes useful for figuring this, or do the rough layers make things seem tighter than they'll be in a final print?

There's always the "print and then file to fit" approach, but I wouldn't recommend it

0.4 mm is enough to fit the parts, 0.6 to get disassembled easily.

It depends also on the slicer: Prusaslicer has XY shrinkage to compensate for it https://youtu.be/q8U2vaUdz-U?t=314

I use my clearance values according to my rule of thumb: 0.1 mm - to fit with some force, 0.2 mm - just fit edge to edge without force.
Examples:

3 mm metal cylinder to be pressed into plastic part needs $3\ mm+0.1\ mm*2=3.2\ mm$ diameter printed hole (clearance from two sides)

3 mm screw to fit into plastic part needs a hole bigger than $3\ mm+0.2\ mm*2=3.4\ mm$ that is 3.5 mm will be already good.

This is fully experimental but always worked for me on three different printers and both on PLA and ABS.

While I agree with the numerical values, you need to keep in mind that printer's tollerance. Thicker Extrusion needs more tollerance.

Before we get into nozzle sizes and snap fits, let's start with the bigger picture.  We need to use a common language for defining the parts.

Allowance is a planned difference between a nominal or reference value and an exact value.
Clearance is an allowance defining the intentional space between two parts.
Interference is an allowance defining the intentional overlap between two parts.
Tolerance is the amount of random deviation or variation permitted for a given dimension.  How much error can the part tolerate and still function?

Let's use an example.  We want a 5 mm pin to go into a 5 mm hole, and we want a loose fit between them.
We've said 5 mm, but which 5 mm is more important -- the 5 mm hole or the 5 mm pin?  Let's say other people have 5 mm pins they want to use with our hole.  In this case the pin dimension is out of our control, and therefore is more important for interoperability.
The loose fit is calling for clearance.  Let's specify 0.2 mm so they're free to turn.
We could add the 0.2 mm allowance to the hole, giving a 5.2 mm hole with a 5.0 mm pin; we could subtract the 0.2 mm allowance from the pin, giving a 5.0 mm hole with a 4.8 mm pin; or split the difference in any way we want, such as a 5.1 mm hole and a 4.9 mm pin.  Because we specified the pin is more important, we'll add the allowance to the hole.
Now that we have defined our part, let's define other terms important to helping us understand the manufacturing process:

Accuracy is the maximum dimensional variation between parts. (Another word might be repeatability.)  Note that a machine cannot produce parts with a tighter tolerance than its accuracy.
Precision is the size of the steps a machine is capable of. Precision is often confused with accuracy, but they are not the same thing.

Now we need to understand our machine's accuracy. The printer could print the pin larger than 5 mm or smaller than 5 mm. Or it could print the hole larger than 5 mm or smaller than 5 mm. To determine the printer's accuracy, we'll need to print some 5 mm pins and 5 mm holes and measure the differences between what we defined and what we printed. The difference between the largest and smallest measurements is our machine's accuracy. Be sure to measure the accuracy in the X, Y, and Z dimensions; a printer might have a difference between the X and Y axes that would affect the roundness of the parts.  (If it's off, this can usually be adjusted in the machine's firmware through a calibration process.)  Furthermore, we should test round parts, round holes, square parts, and square holes, as each printer can be different in how repeatable those parts are.
Let's say that the printer's measured accuracy for both round holes and round pins is +/- 0.2 mm.
Then, we move to clearance. What is the minimum gap between parts that still does the job, and what is the maximum acceptable gap?  As the designer, it's up to you to decide.  In this example we said we want a loose fit, so let's define a clearance of at least 0.2 mm between the pin and hole, but no more than 1.0 mm or the parts will fall out.
Since the machine's accuracy is +/-0.2 mm, the pin will be anywhere between 5.2 mm and 4.8 mm.  The hole must therefore be the maximum pin size, 5.2 mm, plus clearance plus the accuracy of the hole.  That gives the hole dimension as 5.6 mm +/-0.2 mm. The minimum tolerance condition would be a minimum-sized hole (5.4 mm) and a maximum-sized pin (5.2 mm), giving a 0.2 mm clearance; the maximum tolerance would be a maximum-sized hole (5.8 mm) and a minimum-sized pin (4.8 mm) giving a 1.0 mm clearance.
Note that a clearance of 1.0 mm is really sloppy.  It might be way too loose for our application. We might think to tighten the tolerances to 0.05 mm in order to reduce the clearance. But we've noted that a machine can't produce a tolerance tighter than its accuracy.  If the printer can't produce a part that meets our specified tolerances, we would need to find a different way to manufacture or finish the parts.
In the metalworking world, a common way to do this is to specify the parts to be initially manufactured with intentionally maximal material.  This lets us start with a smaller hole and use a bore or a drill bit to open it up to a more precise and round hole.  We can do the same thing with a pin, by starting with a thicker rod and turning or grinding it down to make it more smooth and round.
In the FDM 3D printing world, we can do the same kind of thing at the workbench.  First, print the parts with an extra wall layer (or two). The extra thickness gives more material to remove while drilling it out, or grinding it down, without weakening the part too badly.  After printing, run a drill bit through the hole to clean it up.  Or spin the pin in a drill motor's chuck and grind it down with a loop of sandpaper.
Of course, any time you add a finishing operation, it's more labor-intensive and therefore more expensive.  So this isn't something we want to do on every part, but we can consider it.
Notice that when you define parts this way you aren't starting with the nozzle diameter or layer height.  Instead, you're allowing the nozzle diameter, layer height, belt stretch, and the sum of all the causes of variations to show up in the measured accuracy of the machine.  Smaller nozzles, thinner layers, heated beds, slower speeds, or cooling fans may each contribute to improved accuracy, allowing you to print parts with tighter tolerances. But to make successful prints you need to factor in the cumulative impact of all the machine's options.
Once you've got the terminology, it will be much more clear how to factor in an allowance for half the width of the extruded material, which is a function of nozzle width, extrusion rate, and layer height.

Short version: basically, this depends on your printer, make, model, type, state of maintenance, extruder, slicer settings, belt tension, play, friction, etc.

Long version: Basically your printer determines how accurate it prints; you can influence the accuracy a little by calibrating and fine tuning the printer. What regularly is done is to print calibration cubes of fixed size. Before you do that, you should read "How do I calibrate the extruder of my printer?"; this explains to calibrate the extruder. With a fine tuned extruder you could print those XYZ calibration cubes, or in your case create a box of e.g. 50 x 50 x 15 mm. When you measure the length and the width with a caliper, you will know how much the tolerances are for this print size. Eventually, you could change this by re-adjusting the steps per mm in the firmware of the printer, but this is not always a recommendation (as your steps per mm should be related to the mechanical layout of the used mechanism, e.g. the belt size and pitch in combination with the pulley and the stepper resolution).
Please also look into the answer of "How to make moving parts not stick together?"; this answer hints to printing a tolerance calibration model that uses diabolic shapes set apart from the outer object by several values for the offset between the pieces. When you print this you can find out what sort of tolerance works for you. Please do note that the tolerances on smaller parts may be different than the tolerances on larger parts.
The answer on your question thus depends on your 3D printing machine, but usually the tolerance values range in the few tenths of a millimeter. To enable a lid on top of a box like in your example, you need to keep the tolerance in mind when designing the lid. Usually an extra few tenths of a millimeter will do the trick, but if you make some test prints first you will know exactly.
To answer the question what the influence is of layer height on tolerance, I quote:

Load a 25 mm cube into your slicer and set the infill to 0%,
perimeters to 1, and top solid layers to 0. You’ll also want to print
it at a fine resolution – I chose 0.15 mm and it actualy did make a
small (0.02 mm) difference in the wall thickness as opposed to 0.3 mm.

So yes the layer height has an effect, it is very little though.
An interesting read is "A Guide to Understanding the Tolerances of Your 3D Printer" from "matterhackers".
Furthermore, when you have calibrated the printer but still run into small deviations, is that most slicers will allow you to compensate for X and Y dimensions.

worth mentioning XY compensation https://youtu.be/q8U2vaUdz-U?t=314

Yes, some clearance is necessary. Even if you were machining perfect metal parts, you would want a clearance gap (and make an allowance for mis-alignment along the Z axis too, long joints can bind quite easily).
In addition to this, you need to make a small allowance for the walls bulging slightly under the extrusion pressure (layer height being less than the nozzle diameter).
Other factors to take into account are layer-change ooze (which often makes a small seam appear), and ripple effects resulting from acceleration. This means that even once you have tested the gap that a specific model requires on your printer, you can't rely on the same gap working perfectly when you design another model. If you require rotational symmetry in your fit, it will be harder to get a good tight joint to be reliable.
Sometimes a print-in-place design can give you a similar effect to a clip together design, but permitting a more positive retention

After printing 4 months, I've learned an answer for at least two situations, based on the geometry of the filament and nozzle. For this discussion, I'm using .1mm layers with a .4mm nozzle.
First is the basic box and lid, from my question. It's important to remember the shape of the nozzle opening is a circle, and therefore when extruding to open air you get a cylinder. But we don't extrude to open air. We subtly press the extruded filament into the build surface or previous layer. In that case, using my best ascii art, a cross section of an extruded line of filament has rounded edges that only approximate that .4mm nozzle size, like this:
(    )

And as you lay down several layers, the exterior edge of a printed part should look more like this:
(
(
(
(

where the outer edge of the curve actually protrudes slightly from the planned dimensions of the part. The question is, "how much"? My experience so far has been as much as 0.05 mm. And remember, you need to account for that for both the box part and the lid part. Additionally, when designing the lid, you need to account for this gap on both ends of each dimensional axis. That means a gap of as much as 0.2 mm could still be a nice, snug fit.
For the second scenario, let's say you have a pair of prints that will fit together. The base print includes an upward-pointing rod or cylinder, like a Lego piece, that will slot into a paired opening.
Now you need to create the matching cylinder opening in the upper part, and you need to know how big. The concern is the top of the opening, which has nothing but air below it to hold up the filament. For small gaps you might bridge the distance. For larger gaps you might use support material or hemisphere top.
Let's say you find those options difficult for this scenario, or perhaps other factors have you printing this part laying sideways. so instead of an opening for a cylinder sitting like a can of soup, you print the part as is the cylinder were laying on it's side.
Now we can consider the geometry of how the filament is laid down. With my example nozzle and layer dimensions, we realize your opening is not the precise circle indicated by the model. Instead, you have a grid pattern, like old 8-bit computer art. Worse, the width of each "pixel" is up to 4 times greater than the height.
With that in mind, the minimum extra space you need will be 1/2 of that 0.1 mm height, and the wrong situation could extend this to as much as 1/2 of the 0.4 mm filament width. And since this goes all the way around the part (on both sides) you need these distances twice. This is in addition to the ridging effect discussed for the box earlier. The result means your rounded part should look for between a gap between 0.3 mm and 0.5 mm, with additional gap space if you're designing a part you may want to scale at some point. Remember, though, that plastic is pliable and if push comes to (literal) shove, sandable. In practice I've done well near the lower end of that range.

My approach has always been that I'm going to lose material when I sand down the item to remove layer lines, so I generally print to exact fit, and then manually correct with sandpaper or a craft knife.

I usually print a test cube with different wall thicknesses and calculate the average deviation. This I use as tolerance. However, I do not believe that many belt driven cartesian printers can perform much better than +/- 0.1 to 0.25 mm along the XY-axis. Consequently, I would suggest to use something between 0.1 to 0.25 mm. If it is more than 0.5 mm you have an issue with the mechanics.

I have achieved a 0.05 with a 0.2mm nozzle on a straight line. With a 0.1mm nozzle, this would be a trivial task.

Try it in a rect-wave pattern. This tests the mechanics.

Since you said nozzle, I expect you mean FDM 3d printing. Typically you would use one (1) outline of gap between the parts. An outline is usually equal to the size of the nozzle. The corners of a 3d printed square object are rounded. The radius of that rounding would be half your nozzle diameter (i.e. the nozzle's radius). Also if there was any over extrusion occurring on the outline it the two parts would not fit within each other. This is of course assuming that they are being designed to easily come apart. Otherwise you can make them an exact fit if you intend to friction fit them together.

1 is playing it Safe. 0.5 nozzles is doable on a not too well calibrated printer. 0.25 nozzles is achieveable, 0.125 nozzles a wet dream with a 0.4mm nozzle. The 0.05mm gap ist a pain to get with a 0.2 mm nozzle, but just a PITA

Start with your nozzle width for a prototype. I made some 50-80 mm jars with screw-on lids using a 0.4 mm nozzle. I could get the threads to start using 0.15 \$slop parameter (BOSL2 scad library trapezoidal thread at pitch 5 or 6) but couldn't get past 1/4 turn. With 0.4 $slop it turned loosely with just a little bit of play and tightened up nicely.
There are obviously a bunch of parameters that will affect the actual clearance, but nozzle width seems like an excellent rule of thumb for a draft.


text:
What printer is this?
I've been watching this video 3D printing guides: Calibration and why you might be doing it wrong and at the start (at 0:30) three of the first Reprap printers are mentioned (and shown):

Darwin;
Prusa Mendel, and;
what sounds to be "Cells".

Here is a screenshot:

which, to me, looks like a Mendel.
However, after having looked at:

RepRapWiki - RepRap project, and;
All3DP - The Official History of the RepRap Project

... I can not see the "Cells" printer listed or mentioned.
Am I hearing it correctly?
Or is it "Sells", in reference to Edward Sells, one of the four authors of RepRap – the replicating rapid prototyper? However, this paper only mentions/shows the Darwin and Mendel printers.

Yes, it is a "Sells Mendel" in reference to Edward Sells. As noted on the RepRap wiki:

Ed Sells, a student of Dr. Adrian Bowyer, designed and built the first Mendel printer, sometimes called a "Sells Mendel" to distinguish the original design from later tweaks.


text:
What is a masterspool?
Recently, I have heard people talking about masterspool, when talking about 3D printing filament.

What exactly is master spool?
Where did the idea come from and when?
Is it being widely adopted? Or to be specific, how many distributors/manufacturers have adopted this already, and is it gaining traction?
Is this something that I should get excited by?
If so, why is it such a good idea?

This question would be better answered by a google search. See here for a relevant meta discussion. Your question is also quite broad, asking about a range of subjects (some being quite opinion-based).

Good point(s). After a google I found this Thingiverse - MasterSpool, which then led to this blog, MasterSpool - A proposed standard for 3D Printing filament supply without a spool which seems to answer everything. Vote to close?

I think the question is basically OK, but the last 3 bullets particularly are very much opinion based.

@SeanHoulihane - I certainly agree that the last two points are shaky. The third is sort of relevant, because if the industry doesn't take it up then it will die a death, so maybe I should re-word it. NB I only asked this question as I saw you talking about it in chat and I had no idea what you were talking about...

My local filament manufacturer offers tailings in a masterspool format for free, while the spooled versions are a bit more expensive.

A masterspool is the practice of printing your own spool out of filament, which will then be used to support your filament you purchase without a spool attached. The main idea is to create a reusable spool and create less waste.
(NOTE: I'm in no way affiliated with MatterHackers.com, nor am I an endorser of their products. There is also a version which Village Plastics has created.)
On MatterHackers.com website, they state:

Filament without a spool? Why are we making this? The short answer: because the community wants it. We had enough questions, comments and plenty of tweets asking if we had plans to pick up the Master Spool concept. Seeing the response and interest within the community made it clear to us: we needed to bring this idea to the States. With a joint effort between MatterHackers and Village Plastics, you can now purchase Master Spool refills from within the US.

They are tying to apply the Reduce, Reuse, Recycle mantra to create a cleaner environment for the rest of the world. While they are not the first to create or use a printable spool, they are pretty happy to be pressing forward with the idea of having a reusable spool and selling filament without a spool attached.
MatterHackers go on to state:

What are the benefits of the Master Spool? Not only is there the  benefit of reducing plastic waste, using a Master Spool will also reduces shipping costs for new spools, and limits the clutter from amassing of a huge collection of used or empty spools. Rather than throwing away, trying to recycle dozens of spools, or trying to come up with a way to reuse them in some (like the Spool Tool), using the Master Spool means you can use all those filament scraps you have laying around on something useful and have one spool for all of your filament.

As far as where it started, it appears to have originated with this print on Thiniverse created by Dingoboy71. A well known 3D printer named RichRap created the reusable spool which MatterHacker promotes, though they say there are several which will work with their product (Village Plastic says pretty much the same).
If you get excited about saving the planet, then you should be excited about this. If you are a robust printer, going through tons (hopefully not literally) of filament per year, this method will save a lot of waste in the long run.
Realize there are (as of this writ) only limited suppliers of spool-less filament, though I think the trend for this type of product will increase in the future as the idea catches on. I guess time will tell.

Are any manufacturers shipping filament inside masterspools? Thinking something like eSUN's bolted together spools only with compliant dimensions.

One key difference between a 'masterspool' and any old spare empty reel you have left over is that the masterspool is a 2-part design which can be fitted over an existing roll of filament without needing to un-spool and re-spool the whole roll.
The idea being that filament can be packaged and secured for shipment (with cable ties or the like) without needing to include a whole spool every time. The end user can buy/print only as many spools as they need.
This concept also allows for 'extra' features to be included in the spool (such as retention for loose ends) without these features being wasted on every discarded spool.


text:
How to determine shell thickness for parts?
Let's say you're printing a container or some other object with no infill. What's a good rule of thumb for how thick to make the outside? I'm looking for something along the lines of millimeters thick per square inch of area.
I'm thinking about PLA right now, but answers for ABS and other materials are welcome, too.

Hi Joel, I took the liberty to change the title. IMHO "Estimation" does not capture your question adequately. In fact you inquire what wall/shell thickness you need for designing storage containers; correct? "Parts" in the title could also be changed to container or box also. Feel free to make changes!

go by noodles wide instead of mm. you want at least 3 spaghettis lined up for anything non-decorative and 5 plenty for most non-load-bearing applications. It depends on material and object as well, so 3-5 layers is just a low-side guideline.

This totally depends on what you think is acceptable for your print, and what the usage of the print is: is it a structural/functional part or just for aesthetic purposes. There is no general rule of thumb for that. Basically this is a design issue.
If it has to be stiff and may not flex much you would require to use more walls to give it more rigidity. Less if it is not that important.
When using infill and depending of the part, 0.8 to 1.2 mm walls are frequently used for nozzle sizes of 0.4 mm, without infill you could use the same values, but need to take less rigidity for granted. Add more walls when you need it to be more rigid. Note that the larger the wall surface area becomes (height over width), the easier a wall can buckle under load; increase the wall count to counteract.
In your case (design of a container) I would consider what the purpose of the container is; e.g. how big is it, how much weight is it going to contain (e.g. heavy nuts and bolts, or left over filament pieces), is it stackable, etc. etc. etc.. As a final thought, note that you can play with the design as well, a straight box/container is less stiff than a box with some curved edges or stiffeners. An example of a stackable container is e.g. this:

The indents on the walls of this container give it more rigidity, these walls are in the range of 2 to 3 perimeters.

As alluded to in 0scar's answer, it is important to stick to multiples of your nozzle width for thin shells. If you try to print a 1mm wall with a 0.4mm nozzle, you give the slicer a bit of a challenge in filling the joint between the two outer faces. Maybe it can print a half-width line, by under extruding, maybe not - but a 0.8mm wall is likely to be stronger.
So long as the slicer has more than 3 nozzle widths to play with, it is able to add diagonal fill to build up a solid form (as hinted in this comment on github for cura)
The answer to the question depends completely on the rigidity required. A single (vase) wall can work, particularly for a curved object - but you might find that a stronger lip is required. Although 2 or 3 perimeters will flex, they may be strong enough for your application.
Above this, you may be better off with a 2-sided wall. 2 perimeters each side with a 1mm gap (and a bit of infill) is comparable to a 6 perimeter solid wall due to the increased overall thickness and the compression/extension multiplication. I rarely go above 3 perimeters - if I need extra strength, I resort to punching holes like the slots in this part.

Yeah... my first print I modeled myself has 1.5mm walls. It worked out good, but understanding that my .4mm nozzle didn't fit exactly got me thinking. Did Cura just decided to use 1.6mm walls or did it play other tricks like we do with anti-aliasing, where it wasn't extruding everything? Either way, I decided to try to starting thinking in terms of .4mm units.

This comment seems relevant https://github.com/Ultimaker/Cura/issues/1303#issuecomment-270880709, and a couple of related questions https://3dprinting.stackexchange.com/questions/3568 https://3dprinting.stackexchange.com/questions/3121

also, the gcode.ws website can be useful to visualise your sliced gcode.

i think cura would print 1.2mm instead of 1.6mm; it doesn't like going over in my observations...

I make small objects (25mm^2) with 1 to 1.5 mm walls and larger objects (think coffee cups)  with about 2.5 - 3 mm walls.  I set the line width and number of perimeters to completely fill the thickness.
I use this for ABS and PLA.
The PLA objects have been electronics enclosures,  with internal structures to support the parts.   They aren't subjected to strong forces.   I've made small containers for stain gauges with the amplifiers,  and larger ones for greater sequences and Arduino boxes.
I've used ABS also for coffee mugs and beverage glasses,  to withstand the mass and temperature of drinks.
It can take some fussing to worry the Slic3r slicing parameters into place.  Especially with mugs the design is for function and appearance,  not for effect.

This answer would be a lot more useful if you described the end use of your objects and what sort of stress they may be subjected to.


text:
How thick is 0.1 mm?
I have a printer with a 0.1 mm typical layer thickness. Of course I can choose some different sizes in Cura or other slicing software, but most prints on this machine will be 0.1 mm. In my (admittedly limited) experience thus far, the 0.1 mm seems typical for other printers, too.
I want to get a sense of just how thick this is. I know about the paper trick for leveling the print bed, but my understanding is the first layer pushes into the bed a little, meaning it's less than 0.1 mm and so paper isn't a good example for the typical layer.
Is there a similar item with close to 0.1 mm thickness I can use to visualize this?

0.1mm is approximately equal to the distance traveled by light in a vacuum during 1/326th of the period of a transition between the two hyperfine levels of the cesium-133 atom.

What do you mean with "first layer pushes into the bed"? When printing on glass or aluminium that is definitely not happening. Sheet of A4 or letter paper works fine!

0.1mm is 10x the size of a typical yeast cell diameter. It is 50 to 100 times the size of E. coli. It is a 1/100 of a cm. I think this is a particular bad question which is also unrelated to 3D printing. Moreover, I think 0.1 mm is really not that hard to visualize.

"Regular" printer/xero paper is 0.05mm thick. So, this folded in two. Also the most common layer height is 0.2mm (and 0.4mm nozzle), 0.1mm is used for "fine" prints like small figurines or micro-mechanical parts.

I'm not sure exactly what you mean by your comment to Davo's answer, but with respect to your use of a sheet of paper reference, it seems like you can still use 80 gsm paper as a reference for 0.1 mm layers.
From Paper Sizes Explained (emphasis is mine):

There is no universal calculation for the thickness of paper based on the gsm as varitaions in paper composition can affect the weight, so two different brands of 120gsm paper could have slightly different thicknesses. However, an average sheet of 80gsm paper, the most commonly used weight, measures approximately 0.1mm in thickness, which means that 10 sheets would measure 1mm. By comparison, 10 sheets of 120gsm paper would be 1.5mm thick, assuming the paper composition was the same.

So, given that:

80 gsm => 0.1 mm
120 gsm => 0.15 mm

Then

40 gsm => 0.05 mm
60 gsm => 0.075 mm

From A Guide to Paper Types and Sizes
Paper Weight Descriptions

Weight        Feels Similar to:

35-55 gsm     Most newspapers
90 gsm        Mid-market magazine inner pages
130-250 gsm   A good quality promotional poster
180-250 gsm   Mid-market magazine cover
350 gsm       Most reasonable quality business cards

So, it would appear that you could use a newspaper sheet (or two) to test for layers of less than 0.1 mm.  Obviously this would depend upon where in the world you are, and the (physical) quality of your newspapers. Here in the UK, or rather Europe, the exported version of the Guardian used to be printed on some extremely lightweight paper (almost transparent tissue thin), in order to keep the costs of transport down to a minimum. So a folded sheet of that would certainly be in the range of 0.75 - 0.99 mm (which seems to be the range that you are looking for). However, given that the printed media (as opposed to the online version) is currently in decline, I am not entirely sure if it is still available.
Or, how about grease proof paper? From the Wikipedia entry:

Basis weights are usually 30–50 g/m²

Although, this paper has been processed (supercalandered) and treated with starch, which will increase the density, so the thickness will not correlate to the table above (i.e. it will be thinner).
Giftwrap paper (not the really thick stuff) could be another option.
After having doing some long winded googling, I guess that the best bet would be to get hold of a micrometer and measure whatever paper yourself, as the specifications of paper are generally given in gsm and not mm (which is a bit annoying), and so it is somewhat difficult to provide you with a definitive answer (without physically measuring it).

Paper (once folded) or glossy thick paper (~130-150 g/m²) are common uses for calibrating the printer,

@Trish - Yeah, but I think that the OP wants something thinner than that... I am not quite sure, the question is a little unclear, but seems to want a household object less than 0.1 mm and not for calibration exactly but more like a squashed first layer. TBH, I don't really understand :-)

Maybe cling film, or a plastic bag, would be more suitable?

Maybe a better way to visualise 0.1mm is to explain that it only becomes really visible on a shallow slope. A 10 degree slope will place one layer boundary every 8mm, and these steps will probably be visible on a print.
For a sphere, such as the 3D-hubs marvin, this means that the top portion will have a clear layering, but the majority of the shape should have minimal visible layers. For example, this was printed at 0.1mm layer as a test:

You could also say that the layer is about the same as the embossing on a typical coin (using the same photo as a reference), but realise that the resolution of embossing is greater.
Looking inside the eyes of this model demonstrates how a gentle slope exposes the presence of layers.

IMO, better way for the thickness visualization is the feeler gauge. Also it can be successfully used for the calibration of gap between the nozzle and the hotbed (instead paper)

Sure. Get a 0.1mm thick feeler gauge.
http://duckduckgo.com/?q=feeler+gauge+.1mm

That kind of misses the point. I have a set of spark plug gappers I could use, too, but this is more about understanding at a deeper level and communicating with others, especially those unfamiliar with 3d printing.

I didn't glean that from your original post. You stated that you wanted to get an approximation of how thick 0.1mm is. What information are you actually looking for? A sheet of printer paper is the best approximation from normal household items.


text:
Does Cura have an algorithm for any infill percentage or does it just have specific patterns?
Looking in the Cura interface, I can set any whole number 0-100 for the infill percentage. Does Cura have an algorithm to calculate a pattern for any of those possible values, or does it have a few patterns where it selects the closest one?

it has several algos, names like grid, triangles, etc. It then scales the amount of "wallage" to the infill percentage; shrinking or expanding the pattern as needed to achieve a specified infill ratio.

Infill serves two main purposes. These don't seem to map particularly well to the available controls.
Adding strength to the part The more plastic your part has inside, the stronger it will be. At least, that is the simplistic assumption. In fact, it seems that infill is not a particularly effective way of strengthening a part (compared for example with thicker walls and structural design features). What is apparent is that some infill patterns are stronger in certain directions, some are more isotropic, and some are just weak.
Supporting upper layers Without infill, any top faces on a model will involve bridging, so there is a trade-off between infill density, the number of top layers, and the quality of the top surface of your print. To reflect this function, slicers allow you to incrementally increase the infill density as you approach a top surface. This is particularly useful in a model that has a large inner void which does not otherwise need to be filled.
In addition to affecting the infill strength, adjusting the infill pattern can influence the points at which infill connects to the walls. For complex shapes this might affect how successful the print is. There are also other parameters which you can adjust (overlap, orientation).
The 'best' infill settings are influenced by the requirements of infill, and the 'success' metric does not appear to have a sharp response that would be useful in performing an optimisation.

I fear I'm going to deny your question.  The infil percentage and the infil pattern are two orthogonal properties, both of which contribute to the strength, density, mass, and print time of an object.   Since there's no way for an algo to "know" what your desired outcome is, this can't be done.
Note - I used 'orthogonal' in the Hilbert sense, meaning neither property is a function of the other.

For some stupid reason (in my very newbie 3d printing brain), I was wondering if this wasn't the case.

From what I can see, the only way to change the pattern is the manual way.
There is still an open gate to create a plugin that could select the pattern - but that is rather a complex solution - unless you will have a fully automated pipeline

There is a option for the infill pattern. It is one of the MAAAAANY by default hidden options in Cura. On the Header of the cathegories there will appear a gear symbol while hovering over the header. By klicking it a window will show up and provides this many options to be shown in the settings, if they were checked.

True, and useful, but this doesn't qualify as "an algorithm to calculate a pattern"

I'm honest that I'm not sure what exactly he wants, because an algorithm to choose the best infill will take really much cpu time and gets you nothing really useful without the information of the purpose of the 3d printed part. So I doesn't see this as the core of the question in first place.
But if the question really want a algo to get the 'best' pattern: Nope, not without all information of the part, like force vectors and stuff like this. Because not 3D patterns (like grid) will have flaws against forces from the side.


text:
Recommend simple software to create calibration print for table leveling
I've just bought Anycubic i3 Mega printer and trying to level it.
So far I've printed test object and 2 others but looks like there are problems with leveling.
I want to make image of 5 small one layer squares(one in each corner and one in center). Looking for recommendations of simple software/tutorials/approaches to do it. I tried zbrush but found that it kind of complicated.

there is a lot of calibration items on thingverse: https://www.thingiverse.com/search?q=calibration

related/duplicate https://3dprinting.stackexchange.com/questions/2665

This is really 2 questions.  The answer to "get a good text object" has been posted; the answer to "simple CAD tool to get started" is rather opinion-dependent.

You are probably looking for something like this:

Note this is for large beds (300 x 300 mm), so you would have to X, Y scale this in your slicer.
This is a simple part that is very easily generated with OpenSCAD 3D design software (very good modeller if you are familiar with software coding), but could easily been designed in any other tool.
Another leveling and centering print that is created with OpenSCAD is this, and could be a start for you to create your own design:

Note that the file with the design is located in the "files" section.
Edit:
Some code for OpenSCAD made within 5 minutes (I don't type fast so it could have been faster if I did not use the constants, but if you go OpenSCAD, making parametric designs is almost a must ;) ):
// Set constants as you like
width = 30;
depth = 30;
layer_height = 0.2;
first_layer_height = 0.2;
nr_of_layers = 2;
box_size = 180;

// Calculated parameters
height = first_layer_height + (nr_of_layers - 1) * layer_height;

// Draw the test object
translate([-width/2, -depth/2,0]){
  // Draw the center square
  cube(size = [width, depth, height], center = false);
  // Draw the corner squares
  for (x=[-1:2:1]){
    for (y=[-1:2:1]){
      translate([x * (box_size-width)/2, y * (box_size-depth)/2, 0])
        cube(size = [width, depth, height], center = false);
    }
  }
}

Rendered figure:

I don't see OpenSCAD fitting in the 'easy to use' category. Not for someone who asks which tool is best and has already struggled with their first attempt.

@0scar thanks a lot! This is exactly what I was looking for

@seanhoulihane I totally disagree; what is difficult in writing down you want a cube at a certain position, and then you get a cube? Every tool has a learning curve, one tool just fits better for some people than other tools do. I did say that if you are a programmer, or familiar with coding, OpenSCAD is an option, especially for this simple request of the OP, I even pointed to a design with an available OpenSCAD file.

I do agree with @CarlWitthoft that every answer is opinionated. A link with an overview to more tools is added. It is up to the OP to find a tool he/she is comfortable with.

One of the most accessible modelling tools has to be tinkercad. Everything is done in the browser, and it even works (to an extent) on a tablet.
I wouldn't recommend getting too attached to it, since it is fairly limited. As an introduction to modeling in 3D, and some of the spatial concepts that you will need to get used to, it works very well.

i'm sure even tinklecad can handle a few thick squares...


text:
DIY tensile strength testing
I want to tackle an experiment with the following goal:

Determine the correlations between printing parameters (temperatures,
  speeds, humidity, perimeters, infill, etc.) and tensile strength using
  a specific 3D printer, test specimen, and filament brand/model.

This goal calls for two parts then: a standardized test procedure and test specimen. For the test procedure, I've been asking myself:

What portable, measurable and roughly consistent tensile strength test
  does not require building a complicated machine, can be performed with
  ready-made tools or machines available at a large hardware store, and
  can be set up within 5 minutes?

I am thinking here about a procedure that lies somewhere between this hanging scale test and ISO 527. Definitely not using bare hands or pliers. Once the procedure is defined, this begs the question:

Is the ISO 3167 multipurpose test specimen an appropriate specimen for
  the test procedure outlined above or are there other specimens that
  are more suitable?

I was thinking that, since the usual filaments have an ultimate strength of around 40-60 MPa, perhaps the "recoil" would be too much and one needs to use a smaller, weaker specimen.

If I can make a suggestion ... the yellow areas which are made by putting a > in front of the paragraph are commonly used to announce something you've copied over from somewhere else (or "quoting"). When you mark your questions with it, it becomes very strange to read. It is my suggestion, you bold the text of your questions instead ... I almost missed them while reading the body of your question.

@Pᴀᴜʟsᴛᴇʀ2 Yeah, I was actually unsure about this and tried out different elements. Bold looked too much, though, which is why I settled for the blockquote, since it's also used for definitions and I actually have those questions pinned on my wall as definitions for the project.

I'm not sure this is really a 3D printing question.  It appears better suited to Engineering.SE, since it's only asking about how to set up a reliable tensile strength meter (and I should warn you that good machines are very expensive)

you can fill a water bucket and measure the water instead of trying to freeze a scale's heaviest reading. it's cheap and repeatable to.

For these kind of tests you could rely on the ASTM standards. They define test procedures and test specimen sizes for different types of tests. Or you can derive a specimen yourself based on these standards (e.g. for my bachelor's degree I used an alternative notch impact specimen as I was bound to the amount of available material of the turbine rotor blade the specimens were taken from). Considering the material, you could device up a contraption made from extrusion profiles or something.
Please do note that to get reasonable results, you would have to do a lot of tests as the spread in results is probably even more than in metals.
The company I work for does this, these material qualification programmes run for long times (years, as we also do fatigue and creep testing), and a lot of samples are tested to qualify for use in Aerospace applications.

I suggest looking at CNC Kitchen, who did similar things. for example https://www.youtube.com/watch?v=Dbt4IMCZYPQ https://www.youtube.com/watch?v=mwS_2R2mIvo https://www.youtube.com/watch?v=mIv507btE08 and many more.

Good idea about the extrusion profiles. Somehow I was only thinking about wood and steel. Also, I definitely don't want to do this professionally. I just want to have a device with which I can roughly check the tensile strength. And I will be focusing on one printer and one filament.

A reliable and repeatable test can be performed by printing cylinders, tapping them to M4 thread and then testing the resulting bolts.
My Tech Fun

 does something like that, but he prints the thread directly, which may be less repeatable.
Then you can perform pull and bend tests on the samples using simple attachments available at the hardware store.


text:
Would adding fiberglass packaging tape to a bowden tube be beneficial?
I came across this suggestion on the klipper github, https://www.facebook.com/groups/Hypercube.Evo/permalink/192106034761003/. In order to reduce the stretching in the bowden tube you can add fiberglass packaging tape lengthwise along the tube. This would decrease the elasticity while still allowing the plastic filament to run through it. Allowing you to reduce the retraction length and have better control over the amount of plastic being extruded.
Is there any reasons that this would not work or actually decrease the performance of the bowden tube?

seems to be that was reduced the vibration in the extruder but not related with the fiber on the tube. the wavy corners is due some object is pulling the extruder while printing, so the nozzle can't be accurate on printing. This happens when the reel is too tight or even the wiring

the tube doesn't really stretch under normal operation, so it's a solution in search of a problem

I quite agree with Dan's comment, if, when the printer is designed/built, the Bowden tube is of a length such that it reaches the extreme (i.e. maximum/minimum x, y, z) positions of the extruder, and then some, then the Bowden tube shouldn't be stretched at all, in normal operation, and assuming that it doesn't catch upon any protuberance at any point along its length.

The question seems to be built on a false premise, namely that the major extrude/retract errors in a Bowden design come from tube stretch. The PTFE tube is not significantly elastic, actually it is reasonably stiff so there is minimal scope for improvement here.
A longer tube will contribute to degraded precision, but slack in the filament/tube gap is roughly as significant as stretch (and filament compression). Constraining the tube path may help marginally (but there is no need to 'bond' the tube). There is not much you can to to reduce the gap between filament and tube, but this will dominate the error for a long tube.
The most obvious weak point is the clip used to secure the tube at each end. I saw a review of a recent Prusa design where high quality clips were called out as making a big improvement to securing each end of the tube.

The most common setup is 1.75 mm filament inside PTFE tube with 2 mm internal diameter and 4 mm outside diameter. The 4 mm outside diameter goes inside pneumatic push in 4 mm tube connector with  1/8 BSP thread that goes somewhere like E3D extruder.
It is very arguable if PTFE tube not significantly elastic. Apart from elasticity the filament some kind of compressing inside forming the sinus like line along the tube. And it has several places where it pushes at the tube wall and this deforms it slightly from circular to ellipse shape. All these effects accumulates with the length of the tube.
But in theory all these have minor effect if the feed rate is around the same value (the first order forces equalize and effect could be eliminated with proper retraction value). The bigger effect will be if feed rate changes and as result internal compression in the tube will vary and as result the melted filament will go out slightly off time. And this will affect quality but slightly and in some places of the print. Basically the motion variance will do some kind of coloring of the print.
I am personally recommend to use reinforced tube.
The best tube I found is 5 mm bike gear outer cable. It is steel reinforced with internal PTFE lining that perfectly suits 1.75 mm filament. Also it has outer layer of some kind of plastic that fit really well inside 5 mm push fit connector. The only problem is that 5 mm push fit connectors not common but you could find them on ebay as I did.
Another advantage of this cable is that you could cut out couple of centimetres of outer plastic at one end and the result steel shell will be 4 mm in diameter and goes deep inside E3D extruder.
The steel layer of this cable is actually spring and it makes this cable really perfect for 3D printer.

The Young modulus of PTFE is about 500 MPa and the surface of a PTFE tube for 1.75 mm filament is about 9.4 mm2.
The Young modulus of PLA is variable, between 350 and 2800 MPa, let's say 2000 MPa. The filament surface is 2.4 mm2.
The ratio is about 1 because the surface ratio is 4x and the Young's modulus ratio 1/4x. As result, the stretching of PTFE is about similar to the compression of PLA inside it (of course they sum, since they go in opposite directions). PLA is very stiff: other materials will compress much more and make the stretching of PTFE less relevant.
However the filament is thinner than the tube, so it will curl a bit, which increases its contraction much more! It is likely that even for PLA the stretching of the PTFE is much less relevant than the compression of the filament.
Anyway, fiberglass has a Young's modulus of about 80 GPa (150 times PTFE), but its thickness is what? 0.1 mm? That bring a surface of 2 mm2 at most (and I'm very optimistic, more likely much less than 1 mm2). Fiberglass helps to strengthen PTFE by a factor of surely less than 30, more likely 10 or less (will the glue hold or slide?).
As result, PTFE, from a contribution to the overall stretching/compression of 50 % (in fact, much less due to curling), will be reduced to about 5 %. It is good, but this is an optimistic value.


text:
Thermister stops reading temp after a few seconds. (Marlin 1.1.8, Tronxy X5s stock Melzi board)
I think it's best that I explain what my issue is before I explain how I arrived here. I have a Tronxy x5s with a stock board that I am repairing for the sake of repairing, even though I know I should probably just spring for a new board. It's the principle of the thing.

The extruder thermistor accurately reads for a few seconds, and then gives a negative reading as if it's been unplugged.
I know that this is the same reading of an unplugged thermistor because when you unplug either the extruder or bed thermistor from a known-good port, it gives this same negative reading.
It is not attached to the original pin. It is attached to a new pin that I moved it to. I cut the old pin off from the thermistor port and soldered the new pin to the traces of the port. Then I changed the pin in the configuration file, and it works, for a while.
The electronics are messy but sound; I have used my voltmeter to verify connectivity and voltage.
The thermistor works; it reads a little over 100kΩ in my hot garage and the temperature changes after I put it in my hand for a few minutes. But this temperature change only registers, as explained in the rest, for a few seconds.
I am sure there's a configuration somewhere in the firmware that I am missing that causes that pin to either go "off" or become disused after a few seconds.

Greater context:
The printer was working great for months, but one day the extruder thermistor shorted so badly that the Analog to Digital pin on the Arduino powering the Melzi board was permanently damaged. The temperature reading consistently stayed at 260 °C, even when unplugged.
I wanted to come up with a repair solution rather than replacing the board (even though I have plans to do that anyway), so I downloaded the datasheet for the Arduino Mega 1248P and looked for other ADC pins I could use. I found that ADC Pin0 was unused on the board, so I thought I'd isolate old pin (ADC Pin 7), solder the trace to the new pin, and change the firmware to reflect the new pin.

Then I changed the pin used for that extruder thermistor reading in the Pins_SANGUINOLOLU_11.h config file (the old Melzi board for the Tronxy X5s is a Sanguino):
// Temperature Sensors
//
#define TEMP_0_PIN          7    // Analog Input (pin 33 extruder)
#define TEMP_BED_PIN        6   // Analog Input (pin 34 bed)

Changed to
// Temperature Sensors
//
#define TEMP_0_PIN          0    // Analog Input (pin xx extruder)
#define TEMP_BED_PIN        6   // Analog Input (pin 34 bed)

I didn't know what "pin 33" was or used to be so I just put xx in the comment.
Anyway, my hardware was good, and my software was supposedly good, so I flashed the new firmware, plugged it in, and turned it on:

Yay! But after a few seconds...

Boo. It stops working.
I am sure my connections are solid: I've tested for connectivity and voltage. Both the new port and the heat bed thermistor port get 4.97 volts, so it's not a voltage drop. It's something in the Arduino.
Any ideas?

Is the old pin still connected to the trace? And what is the output of that pin?

do you have a chance to test another thermistor? Or simply connect a 100k resistor to ensure that the thermistor is working properly.

The old pin has been thoroughly isolated from the trace. When I change it back to pin 7, I get a reading of 260 °C, even with absolutely everything disconnected. The pin is definitely shorted.

Oh yes, and I get the same problem when I change to a different thermistor. It's not the thermistor as far as I can tell.

so it looks like the ARM chip is asking for a replacement.

I am hoping I don't need to. I may as well replace the whole board in that case. Where can I get the ARM chip alone?

Thermal expansion is opening a connection somewhere. It might not be one of your solderings, but if you shorted the board bad enough to fry pins, it could have cooked something somewhere else, and putting current through it is heating up the spot enough to break the connection. Either somewhere else in/on the board, or inside of the IC chip itself.

I am having the same issue so in the firmware instead of changing to an empty pin, I swapped pins 6 and 7 so the nozzle temp would read from the bed temp plug on the board. Now the nozzle temp is reading properly i went into configurations.h line 291 and changed the 1 to 999 and on line 295 i changed the value to 60 now the bed temp will always be 60 so as long as my print settings match it will never engage the heat bed and allow the machine to print. Now I will use an ESP8266 nodeMCU to read the temp and control the MOSFET for the heat bed.


text:
Ender 3 nozzle homes off the bed in the Y axis
I just received my new Creality Ender 3. I was going through and checking/adjusting everything for alignment, and I noticed that when you "auto home" the print head, the nozzle stops off the front of the print bed by 5-10 mm.
Is that normal?
Is it perhaps by design to allow purging the nozzle without dumping on the bed?
It doesn't appear that there is any way to adjust the Y stop switch without making modifications to it. It also didn't look like there was any easy way to move the bed either.

Related: https://3dprinting.stackexchange.com/questions/6399/recalibrating-home-position

Different than the Ender 3's behavior, the Ender 3V2 homes on the bed.  A bit of cold filament sticking out of the nozzle could potentially interfere with the homing accuracy/repeatability.  I wish my Ender 3V2 homed off of the bed, but I think I'd need to replace and move the YMAX endstop.

Yes, this is the "intended" behavior, as the home in relation to the physical limit position is not placed correctly about 7.5 mm into the bed in both X and Y.
to correct this, please look at the Recalibrating Home-position for the Ender3

Sorry I'm confused: it is "intended" that the nozzle homes off the bed? If so then why should it be "corrected"? From what I've read, every Ender 3 (including mine) homes off the bed, and some people say how to "fix" it while others say it is supposed to be that way (so presumably we should leave it that way...), so just trying to settle this for myself and others: is it intended and therefore we should leave it, or is it an error that we must all correct?

@voxoid  the Firmware says "This is the correct behavior". But if you use the full bed space for a print, you'll see everything will be shifted to the front-left, sometimes OFF the bed. the bad firmware setup can be corrected, but it is not mandatory for you'd lose for example the power-out protection. Also, thermal runaway protection is not on by default.

Many printer's X/Y endstops are not at the origin of the build plate/heated bed. In the firmware, an offset is defined from the build plate origin to the endstop locations. This is normal, nothing to worry about.
When you hook up your printer to your computer over USB, and install a program that can interface with the printer (e.g. PronterFace, OctoPrint, Repetier-Host, etc.) through a so called terminal, you can send the print head to the origin with command G1 X0 Y0 (or you can put that line in a G-code file and print the file, be sure to have homed the printer first with G28). You will then see the head move to the origin, which should normally be the left front corner as the firmware compensated for the endstop offsets. If the print head is not at the origin after these commands, you could recalibrate the endstop offsets.

It is intentional for the head to start slightly off the build plate.
If it did start on the build plate you could crash the nozzle when the bed is not levelled. Note the level varies with temperature and build plate type. If you switch from PLA to ABS etc you should relevel the bed.
Having just had the innaccurate z-end stop switch cause a deep gouge across my stock build plate, I strongly recommend getting an ABL (auto bed leveller).


text:
Problems with Z step
Recently I bought a Prusa i3 pro W (from Geeetech) and I've been struggling with something that is ruining all my printings. I attach a photo with what was supposed to be little "boxes":

As you can see the Z distance is doing weird things, I think may can be fixed through this configurations, as it seems the Z axis is moving too much:

On the other hand, the form the printer is doing the skirt is also bothering me, I've tried a lot of configurations and I think it's a problem of over extrusion, but I'm a newbie and I don't really know what more could I do...

I'll really thank you for every answer because I've been a lot of days with this and I begin to feel really disappointed with all.. Thank you!

Thank you! ^^' It's everything really desesperating.. Haha

as per base of the pink printout it looks like the bed is far below the nozzle (level the bed)
to check the Z steps/mm setting, the best way will be to home it, then from menu move Z by 50mm and check with a ruler or meter traveled distance.
then using a formula (requestedMove/measuredMove) * currentSteps set new value in to Z steps/mm setting. After that repeat the exercise until you will get no difference.

It's solved while I'm reading this but that was exactly the solution so thank you!
I've seen that some printers have this config and working well but in my case, I had to put it to 400 to gettings working properly.

@Juli15 you are very welcome! Happy printing


text:
What is the "Detailed format classification" of the ISO 6983 (G-Code spec)
For developing a CNC system, I am reading the "ISO 6983-1:2009".
In it, there are several references to what they call "Detailed format classification" which I struggle to understand:

A classification of the data in a block shall be used to specify the programming detail for a system and machine configuration. This is called the detailed format classification and is described in Annex C.

...

Zero omission shall be specified in the detailed format classification (see Annex C).

...

The number of digits shall be designated by the detailed format classification ( see Annex C).

...
It seem this "Detailed format classification" is sort of a definition of the machine on which the program will run. But in this case, I do not understand why this is something part of the program and not some values of the control system.
My question is: What exactly is this "Detailed format classification"?

Is it part of the program?
What is it purpose?

Detailed information is on each line sequence, for example N01 is the number of line command, then N02 is the other line sequence, then N03; the user or the interfase to create his own code determines if the line number commands are one by one or 10 by 10 to insert manually inside other line commands like S parameters, M03 and M04 functions to enable or disable other mechanism that the G-code generator can't do. This command lines N01 to N9999999. When an ISO is called is to standarize the way document some procedure or instruction; this way everybody who knows the code can read it easily.

@FernandoBaltazar Please refrain from answering via comments. Make it a full answer.

@Trish: His comment IMO does not answer the question, that is why it is a comment and not an answer. Or do I understand it wrong?

it is more than just a comment, but an answer attempt.

@Trish This is a hint to read the detailed ISO-6983 classification, not an attempt to answer the full question. A tip normally gives a direction where the people  want to go. But if the people who ask has no notion about ISO Standars and  Programming at least Gcode they will not understand the hint; probably they will comment that the answer has no their answer and I could get a vote down. Also my comment suggest that is a part of the program and the purpose according his questions.

For clarification: the question is specifically about the annex C: "Detailed format classification". In other words, I can read/write g-code and have a decent knowledge about standards entities like ISO. The comment of @FernandoBaltazar, seem to me to address the general G-code and ISO topic, more than the "Annex C".
For example, usually G02 is for circular motion, but in this case, the x+053 does not indicate relative/absolute position, but the number of digits left/right of the decimal sign?

@AdrianMaire :D a previous line should have the position of the new hole, if is indicated the position then is absolute, if not the position is relative; the movements +053 are relative to the position. Thanks God you can read and write gcode.

@FernandoBaltazar Don't fear the down votes. You have the choice to delete any answer which gains too many downvotes or turns out to be wrong. Answers in comments that turn into discussions are bad, can't be edited (and I think in this case are actually wrong)

This is simply the formalised definition of the syntax, so that a parser can be written to interpret any legal G-code. Without this, there is ambiguity - not in the general operation, but in the bounds of what is 'legal' and what should be rejected.
Taking the example X+053, this is not a position of 53 units, it is:

Address X
Sign is required (in this implementation)
Leading zeros can be ommitted
Up to 5 orders of magnitude before the decimal
Up to 3 digits of precision after the decimal

This means that X can range from +99999.999 to -99999.999 - an interpretation which matches the verbiage at the bottom of the page.
As hinted at in the text, it is possible to use various fixed precision number systems (think using integer milimetres rather than decimal metres), and also to anchor at the most significant bit, so 001 could represent 00100.000. It may help to remember that these specifications were designed in the days of dedicated hardware rather than general purpose computers, when the standard portable storage medium held ~600 kB, and relate to actual machines that had been developed long before that.

The second digit indicates the number of decimal decades ahead of the decimal sign This does not seem the usual meaning of the address: e.g. X+053 usually indicates position/increment to X53, not that there are 5 digits ahead of the decimal sign. Am I understanding it totally wrong?

Additionally, the format is formalised in the chapter 5 already.

Updated my answer to explain now I realise what is going on...

Thanks for your answer. But why is required this syntax, why to invent an X+053 when it could say "The system has to specify/document if leading zeros can be omitted"

It's not specifying if leading zeros can be omitted, it's specifying an international notation for capturing the number system in use - written ~50 years after these codes started to evolve. Imagine you want a modern machine to consume old G-code, you need a clear way to define how to parse it.

Sorry to be a bit slow to get it. Where would you write this %:/DS N03 G02 X+053..? In you g-code program? Is it a setting in the user interface of the machine? Maybe a #define in the parser implementation?

I'm not sure this code would ever have been intended to be directly consumed in a machine readable form. The closest (I think) would be the #define for the parser. Think of it as kind of similar to the LOCALE settings.

Let us continue this discussion in chat.


text:
Short to ground error using TMC2130 stepper drivers
I have recently got an MKS GEN L V1.0 board and 5 TMC2130s. (X, Y, two Z, E). I have wired it all up and uploaded Marlin 1.1.9 and after some quick troubleshooting I got the motors moving. Next day I tried it again and it gave me this error:

E0 driver error detected:
  overtemperature
  short to ground (coil A)
  short to ground (coil B)

with the following driver debug report: (notice that the extruder driver doesn't show up)

  X   Y   Z
Enabled     false   false   false
Set current 800 800 800
RMS current 795 795 795
MAX current 1121    1121    1121
Run current 25/31   25/31   25/31
Hold current    12/31   12/31   12/31
CS actual       12/31   12/31   12/31
PWM scale       10  10  10
vsense      1=.18   1=.18   1=.18
stealthChop true    true    true
msteps      16  16  16
tstep       1048575 1048575 1048575
pwm
threshold       0   0   0
[mm/s]      -   -   -
OT prewarn  false   false   false
OT prewarn has been triggered   false   false   false
off time        5   5   5
blank time  24  24  24
hysteresis
-end        2   2   2
-start      3   3   3
Stallguard thrs 8   8   0
DRVSTATUS   X   Y   Z
stallguard
sg_result       0   0   0
fsactive
stst        X   X   X
olb
ola
s2gb
s2ga
otpw
ot
Driver registers:   X = 0x80:0C:00:00
Y = 0x80:0C:00:00
Z = 0x80:0C:00:00

I did some research and found that you should change the CS pin for that stepper and so I did. I tried almost every available pin on my board but no luck. The only change I got was when I wired it to pin 11 and got this:

E0 driver error detected:
  overtemperature
  short to ground (coil A)

I have the Watterott TMC2130 SilentStep Sticks and have examined the board which seemed correct. Is all wired correctly. Tomorrow I will try to switch the driver to one from another axis and try to switch the stepper to see if anything changes, but it seems to me that it shouldn't since it worked for some time.

I will try marlin 1.1.8 tomorrow and the bugfix branch if that fixes my issue.

I have fixed it. I tried uploading the bugfix version of Marlin and no luck. Then I noticed a loose jumper wire that connected the driver to the board and when re-installing it I noticed it didn't grip the pin that strongly and could be easily pulled off so I switched the wire and everything works now. Turns out that even jumper wires can have a bad connection. Hope this helps someone.


text:
Identify temperature sensor
Am wondering if anybody knows what type of sensor this is (from a build plate).

Perhaps a thermocoupler? The colouring of the wires seems to suggest it is not directional?
Would like to know details so that I can make use of it in my own projects.

It is quite likely not a thermocouple, but a thermistor:

A thermocouple would look like a small blob of metal. The tip of your temperature sensor appears to be a glass bead, which is a commonly used way to encase thermistors.
Thermocouples are polarized. The fact that the wiring is not "directional" suggests it is a thermistor.
Thermocouples are used in high-temperature applications (such as a high-temperature hotend for printing specialty materials), where a thermistor would break down. The bed is not such a high-temperature application.

You can easily verify this with a multimeter. If it was a thermocouple, its resistance would be near zero. With a thermistor, you should see a decent amount of resistance (most 3D printing thermistors are 100k at room temperature).

Yes, the multimeter says 96k ohm.


text:
Am I allowed to publish a 3d scan of a statue/thing I bought?
I bought a buddha statue and I would like to scan it using photogrammetry and publish the result.
Am I allowed to do that?
Is this the same like scanning a book and publishing it? Sketchfab on the other hand is full of 3d models of commercial products.

I would imagine that something like a generic buddha statue would not give you many problems on a copyright front, assuming it wasn't a specialist design by a still living artist. However, depending on where you are in the world, morally you could find yourself in trouble. If you live in a Buddhist society (such as Thailand or other SE Asian country) then there are laws against this sort of thing, and cultural appropriation by Westerners is seriously frowned upon and can result in some rather unpleasant jail time. However, if you are based in the west you should be ok.

I think this question would receive more informed answers in Law Stack Exchange.

Slight side note: there is a project that reconstructs lost historic sites from photographs. it was reported about in https://www.smithsonianmag.com/history/heroic-effort-digitally-reconstruct-lost-monuments-180958098/ - under some conditions a scan like this could be done as part of such an effort to preserve a place for the future or create a medium to teach history with (in shape of printing a historic place and bringing it to the pupil)

If the design was made from an artist and is not public domain, than you should not upload that scan without the (written) permission of the creator of the design. Espacially a scan of a decorative object will likely be protected, so costumers buy the original instead of printing itself or buy a printed version. If you would design a deco object and sell copies of it, you also don't want that others just scan it and print it.

First thing to do is get a lawyer skilled in copyright law as applicable where you live.  It's going to depend in no small part on whether your scanned model is considered a copy or a transformative work of art.
Personally, I see scanning an object as similar to photographing it  (or sketching it).  Lots of art objects, or for that matter personal items such as a photo of a living person, are protected by copyright; others aren't.  If I made the laws, which I sadly don't :-) , I would consider a scanned, printed object to be in the same boat as a sketch -- has to be demonstrably transformative and all that.

A mechanised scan is more likely to be seen as a copy than a derivative work (although I'm no specialist).

A scan is a different medium than a real life object and thus at least a different medium and thus likely a derivate. But you can use this derivative to make a direct copy via CNC or 3D-Printer... IMHO only the scan itself is a derivate, and it can be used to create other derivates akin to a sketch while prints could constitute copying into the same medium. But I am not a lawyer.

This depends on the region were you living. E.G. publishing a photo of the Eifeltower illuminated by night will you get in trouble. And it is a 2D copy of a 3D object. So the medium is not relevant.

@Horitsu As I wrote,  check the law where you live

CarlWitthoft my comment was more designated for @trish and the distinction just because of types of mediums


text:
How to avoid stringing?
How can I avoid the irregularities and stringing in the print.
Printer Used: Fortus 450mc
Model: PC
Model tip: T10
Support tip: T12SR
Support: SR-100
Slice Height: 0.0050 in
I have printed two objects using Grabcad print (with Insight)
1) Voronoi bear:
The voronoi bear has missing layers/unattached layer at its bottom everything else seems OK. I do notice  a bit of stringing though.

2) Cylinder with hollow channels:
The cylinder has a lot of visible stringing and one of the channels is slightly deformed.

Please refer to the attached images.
Please let me know if any additional details are needed.

Nice post, description and photos. However, what is the question? Could you edit your post and explicitly state a question?

Can you add print settings, and also list what calibration steps you have performed.

You'll need to fine tune your retraction settings to eliminate (or at least minimize) stringing. What slicer are you using?

Did I miss something, or was the filament material never mentioned?  This is a whole different issue with some materials, such as PETG.

I've been able to reduce stringing by reducing the nozzle temp in 2°C increments until it goes away.
You'll also want to increase your retraction settings a bit.
The problem is caused by the plastic being too hot and oozing out of the nozzle - it's a bit too runny.
Search Thingiverse for Heat Towers.  You'll need to edit the G-code so that your printer adjusts the nozzle temp at each layer.  That will give you a really good indication of the best temperature for the given material.
Keep in mind you'll want to print it for each new brand (and sometimes color) of filament.

Good note about different colors from the same manufacturer sometimes having different ideal temperatures. I find that rainbow colors are pretty uniform, but black, white, and silver can vary greatly.


text:
Z-axis endstop not functioning after Marlin Firmware installation
I've had my Monoprice Maker Ultimate for a few months and have started doing upgrades to it. My most recent change is in upgrading the firmware to  a newer version of Marlin so that I can better control the thermal settings and implement a probe in the future. For now, I intend to level the bed manually.
Well the issue I'm having now is that after flashing the firmware (Marlin Firmware 1.1.9) and attempting to home, the z axis limit switch is unresponsive. X and Y work as they should. I send M119 codes to the printer in Pronterface when holding the Z switch with my finger and get that the z axis is open. I even flipped over the machine and shorted out the two pins on the board leading to the switch and I get that its still open.(It is open when not pressing the switch, the switch is not inverted. If I flash the firmware back to the original, it functions fine.
I've been digging through the Marlin files learning how it works and am wondering if there are any extra steps I have to take to designate the switches in the config file. Or if a conflicting bed leveling/probe setting may be overriding with the switch's functionality. I've been searching around but haven't seen much about this issue. Wondering if someone could point me in the right direction.
Here's a repository of my configuration.h and *_adv.h files: https://github.com/jeffc-git/3dimensify

After gaining more of an understanding of how Marlin works, I decided to look through the  the pins file for the motherboard I am using "pins_ULTIMAIN_2.h".  Sure enough, It had a the wrong pin number for the z stop specified. After changing that number, I gained full functionality.
This is what they should be:
#define X_STOP_PIN         22
#define Y_STOP_PIN         26
#define Z_STOP_PIN         29


text:
Show the time index in Cura Layer View playback
Cura has a layer view feature that lets you watch a simulation of the extruder head as it lays down material at each layer. Is it possible to get Cura to show a time stamp as it does this? That would let me set reminders to check a print just at certain critical times.

Since I tuned the acceleration for my printer, I get pretty good total printing time estimates in Cura.
It would be easy (but tedious) to cut my model layer per layer and note the "total time" for each instance.
I expect that the result would probably be as good as for the total model.
Therefore, why whould "any attempt to estimate elapsed time per layer be doomed"?
Actually, I just saw a recent similar request on https://github.com/Ultimaker/Cura/issues/11742

These estimates tend to be very approximate, even if Cura has the accurate acceleration values for your firmware. An error of 100% is not unusual.
What you probably want is an alarm at a specific layer (a few before the critical ones). You might be able to add this to Octoprint fairly easily - it does support plugins which can provide (for example) pushbullet notifications.
I'm not sure that 'critical' points are much more likely to fail than other less predictable things (like bed adheesion failure, extruder jams, filament breaks) - unless you're testing features (and then hopefully you can print only a slice of the part).

If I may interpret your question a bit, and add alternatives to Sean H's suggestions. I agree that any attempt to estimate elapsed time per layer is doomed.
Perhaps you should just look at the LayerView to determine the critical layers of interest.  Then edit the gcode file in a text editor.  Locate the start of the layer in question, and insert a PAUSE command (as well as whatever other actions your firmware supports, in case you can actually send an audible alarm or something).
If you really just want to print a subsection of the item, you're better off removing the unwanted parts in MeshMixer/MeshLab/whateverCAD , and slicing just the part you want to produce.


text:
How to install a .hex firmware?
Creality does offer its firmware on creality3d.cn as .hex files. These are pretty good as backups as one can't alter and destroy them by accident.
But... How do you install them?!

This is about installing firmware directly and without another microcontroller. To use another mictrocontroller is How to install new firmware via a Microcontroller?

Creality also does provide an installation PDF. The process they propose is twofold and might need different settings on other machines1. Spots where I assume you might need to adjust are noted withA. Note that this solution depends on CURA.
1. Install the printer as a periphery machine.
This part is specific for Windows. If you use Linux or a MAC, you will need to use a different setup, but you might get the same results.

Turn on the power on the printer and connect it from the MircoUSB to a USB of the computer. This should automatically install the driver. If not, the Driver is on the SD card provided with the Printer2.

To manually install windows Key + "MANAGER" and choose Device manager. Find the serial port that shows yellow, Right-click, choose Update driver software > Browse my computer for driver software. Now Browse, find the location of USB driver on the SD card and click Next.
Generally,the serial port(COM) you need update has the biggest number, but can change.
A good idea is to confirm the correct port with a software like Repetier Host, with which you can control the printer directly -  if it works, you got the drivers and the port correct. Also, you know the correct Baudrate.

After the driver installation, launch CURA to do some settings. In File > Preferences:

Print Window is "Pronterface UI"A

Switch to Machine > Machine Settings:

Serial Port: choose the one that just was updated
Baudrate: 115200A

2. Upload the .hex file via cura

Machine > Install custom Firmware
Make sure the printer is connected, then OK
find the .hex file on your PC, then confirm.
Wait for the process to finish.

1 - most likely, you will have to change the baudrate
2 - This might not be true for all manufacturers, but is for creality. Other manufacturers might have different sources for these.
A - Adjust as needed!

A major part of the Arduino IDE is sort of semi-hidden, and that is some guy called  avrdude. Actually, AVRDUDE – AVR Downloader/UploaDEr is a standalone binary.
As an aside, there is also gcc which does the compiling, but that is another matter. The avrdude uploads the compiled binary provided by gcc on to the Arduino, via the USB port (COM port).
You can invoke this from the command line (assuming that you have the Arduino IDE installed).
You will need to specify (see command line option descriptions):

The baud rate of the COM port (-b)
The COM port (-P)
The processor used in the board (for the Arduino Mega2560 board: ATmega2560) (-p)
The path to the .hex file (-U)
The path to the .conf file of avrdude itself (-C)
Verbose mode, so see what is happening (-v)
Specify the programmer to be used (-c). See the -c option on command line option descriptions for more information.
Disable auto erase for flash (-D)

The command will be of the form:
<path to arduino>/hardware/tools/avr/bin/avrdude
-C<path to arduino>/hardware/tools/avr/etc/avrdude.conf
-v -patmega2560 -carduino -b 115200 -cstk500v2
-P<name of serial port>
-D -Uflash:w:<path to hex file>:i

This example above:

Specifies the full path to the avrdude binary
Specifies the full path to the avrdude .conf configuration file
Verbose mode
The ATmega2560 processor used in the Arduino Mega2560 board
The Arduino programmer
The baud rate of the USB port
The Atmel STK500 Version 2.x firmware programmer (may not be required)
The port to which the Arduino board is connected
Disables auto-flash as it is not required – Auto erase is not used for ATxmega devices as these devices can use page erase before writing each page so no explicit chip erase is required. Note however that any page not affected by the current operation will retain its previous contents.
The memory to be uploaded to and the path to the .hex file (see the -U option on command line option descriptions for more information):

flash specifies the flash ROM of the device.
w: read the specified file and write it to the specified device memory
:i specifies Intel Hex

Examples
For Windows
C:\dev\Arduino\hardware\tools\avr\bin\avrdude
-CC:\dev\Arduino\hardware\tools\avr\etc\avrdude.conf
-v -patmega2560 -carduino -b115200 -cstk500v2
-P\\.\COM1
-D -Uflash:w:C:\Users\<username>\Documents\firmware.hex:i

For OSX
/Applications/Arduino/hardware/tools/avr/bin/avrdude
-C/Applications/Arduino/hardware/tools/avr/etc/avrdude.conf -v -patmega2560 -carduino -b115200 -cstk500v2 -P\\.\COM1 -D -Uflash:w:/Users/<username>/Documents/Arduino/firmware.hex:i

Alternatives
If you are not comfortable using a command line interface (CLI) it might be easier to use a GUI solution…
XLoader
For a Windows only solution, see Uploading Arduino HEX files with XLoader

From the author’s website:

I’ve made a small program that can be used to upload your own *.hex
  files to arduino boards using the bootloader. That means you don’t
  need a flash programmer. I made it for my own use and found it pretty
  useful. So now I’ve made a more user friendly version.. To use it
  compile you’re code in something like AvrStudio. Then simply start
  XLoader.exe, pick a hex file and press upload. That’s it. Good news it
  now also supports Arduino Uno.

Arduino Builder
From Arduino Builder – standalone utility for building and uploading Arduino sketches

Choose file, either a sketch file (.ino), an HEX file (.hex) or an ELF file (.elf)
Choose the board type in the dropdown list.
Click on the serial port (or USBASP button) and theuploading will be proceeded.

Arduino Uploader
From the same page, there is Arduino Uploader which is a command line version of Arduino Builder.

The Prusa i3 MK3 comes with Slic3r, Prusa Edition. It has a menu for flashing the firmware, which takes a HEX file as input.

You can then select the HEX file. It will auto-detect the printer, if connected via USB.