text:
Help to reconcile nozzle diameter, deposited line width, and wall thickness in Cura
I need help resolving some conflicting logic between the nozzle width and shell thickness--parameters in Cura 16.021--and the physical deposited line width (width on x-y plane).
DEFINITIONS
For clarity, let me define a few terms I'm using:
Nozzle size - nominal diameter of the nozzle / Cura parameter
Nozzle diameter - true diameter of the nozzle
Extrusion diameter - diameter of circular cross-section extrusion upon leaving the nozzle
Deposited line width - width of the rectilinear layer deposited on the build surface in the x-y plane (not the z-layer height).
Shell thickness - Cura parameter for part wall thickness
Cura - Cura version 16.021

PROBLEM 1
Physics suggests that for regular continuous flow out of the nozzle the extrusion diameter (cylindrical material extrusion) would be slightly larger than the nozzle diameter, and the deposited line width (rectangular prismatic extrusion) on the x-y plane should be even wider than the extrusion diameter.  I'm assuming the deposited line width is equal to the shell thickness as set in Cura.  However, I am finding conflicting advice as to whether one should set the shell thickness slightly greater than or slightly less than the nozzle diameter.
In this post on the Ultimaker forum, the moderator seems to suggest that the nozzle size and deposited line width are one and the same.
In this post on StackExchange, the discussion seems to agree with my understanding.
PROBLEM 2
A commonly referenced procedure for calibrating extrusion suggests printing a 25mm cube with an open top and bottom.  My understanding is that by printing four walls of a single shell thickness, we should correct the extrusion rate to achieve a deposited line width equal to nozzle diameter (Cura requires the shell thickness to be a multiple of nozzle diameter) .  The problem I have with this is, as stated above, I don't understand a physical basis for targeting nozzle size = shell thickness (deposited line width).  I'd expect to calibrate the extrusion to something slightly wider than the nozzle diameter.

My printing experience seems to confirm my intuition.  If I reduce extrusion rate to achieve shell thickness = nozzle diameter my prints appear visually under-extruded with poor layer adhesion.  Calibrating to about 110% of the nozzle size looks about right.
PROBLEM 3

Although Cura constrains shell thickness to be a multiple of nozzle size, it will not slice thin shapes on the x-y plane equal to nozzle size, they need to be slightly wider.  I have verified this multiple times by designing a part in SolidWorks with a 0.4mm wall, exporting it to Cura as an STL, and previewing the slices (using a 0.4 mm nozzle size).  If I increase the wall thickness in the model to 0.41mm, Cura will slice the wall.  This seems to suggest to me that Cura does account for a deposited line width > nozzle diameter.  It calls to question whether the shell thickness is actually a physical dimension for the 3D print or just a parameter for the slicer engine.  I have taken it to mean the number of passes around the perimeter in units of nozzle size, similar to other slicers that ask for a shell count.
Thanks in advance to anyone who has put in the time to read this post and kindly share some knowledge.
EDIT 1: My interchanging of terms "width" and "thickness" made it sound like I'm referring to z-layer height.  Also, Trish pointed out that "line width" is the better term rather than "layer width" so I have updated this.  My post is only concerned with the deposited layer width in the x-y plane--"line width".

Welcome to 3DPrinting.SE!

Are you referring to the effect called die swell where the extruded polymer diameter is larger than the nozzle diameter in PROBLEM 1? The deposited layer thickness to be even thicker than the extrusion diameter is not true, layer thickness is not dependent upon the nozzle diameter, it is a separate setting called layer height. However, the maximum layer height is dependent on the nozzle diameter, usually you should not print at layer heights over 75 % the nozzle diameter.

Thanks for the response.  Yes, I am referring to die swell as the expected mechanism for the cylindrical extrusion to have an increased diameter than the nozzle opening.

I will update my post because I created confusion by interchanging extrusion "width" and "thickness."  I am only referring to the deposited layer width in the x-y plane, not the z-axis layer height.  I'm interested in accurately printing a defined shell thickness.

what is Layer Width? There is layer height, which is the stepping from one layer to the next. Deposited material has a line width

Yes, what you are calling line width.  Per the updated definition in my post: "Deposited layer width - width of the rectilinear layer deposited on the build surface in the x-y plane (not he z-layer height)."  Hopefully my edit clears this up.

...After a search for "line width" in previous posts in response to Trish's comment, I appreciate that this is a better term to use.  I will update my post.

Why dont you make a drawing and add that, a picture is worth a thousand words!

Image added per Oscar's request.

So, I think I may have found a satisfactory answer. Cura 3.6 includes separate parameters for line width and shell count:

This seems to decouple the line width from the specified nozzle size and target what I believe is a more optimal width (~110% the nozzle diameter).  It was the other version of Cura that was driving a lot of confusion with the line width being defined by the nozzle size.  This also removes the weirdness of not being able slice lines equal to the line width.
Thanks to all who responded.

Self-found solutions are always great! I hope our persistance has helped some

The old Cura (14.04.x or derivatives) satisfied the user specified wall thickness by adjusting the line width. The new Cura (2, 3, 4) ignores the user specified wall thickness and just rounds to the nearest number of wall lines it can fit without adjusting their widths.

There may be die swell, which will depend on the extrusion force, the material type, and the exact temperature within the hot end.  This is because the viscosity is highly dependent on those parameters.
As to line width: again extruded temperature, material, ambient temperature, cooling fan coverage all play into how much "sag" takes place before the material hardens. Oh, and X-Y speed of the nozzle, of course.
Further, for the first layer, if the nozzle is nice and close to the bed, the nozzle itself will force the material to spread laterally while limiting the vertical extent.
Personally, I don't think it's worth the effort to create a mathematical model.  Spend the 3 cents' worth of electricity, 0.01 cents' worth of material, and 15 minutes of time to calibrate if desired.

Thanks.  What you are describing is exactly what I'd expect.  My conflict probably comes down to what the proper calibration method is.  There appears to be a popular recommendation across forums to calibrate the line width of a single shell.  But in Cura a single shell is just the nozzle size..but why would I want/expect my extrusion line width to be equal to my nozzle size?  I have seen the procedure I linked to recommended many times that suggests to adjust extrusion factor so the line width matches the shell size specified in the slicer (the nozzle diameter for a single shell in Cura)


text:
G4 S20 vs. G4 P2000
Given the Marlin Firmware what is the difference between the following lines of code:

G4 S20

and

G4 P2000

You really ought to be able to look up gcode reference tables online!

Please [edit] your question to include the firmware you are using so that people can answer the question for your specific case.

@CarlWitthoft of course I did prior to asking.

The answer is that it depends on the type of firmware you are using.
Let us look at the documentation of G4 to find that G4 is valid for all the listed firmware types:

Pause the machine for a period of time.

Furthermore it states that:

Parameters

Pnnn Time to wait, in milliseconds (In Teacup, P0, wait until all previous moves are finished)
Snnn Time to wait, in seconds (Only on Repetier, Marlin, Smoothieware, and RepRapFirmware 1.16 and later)

It clearly shows that the S parameter (which defines the pause in seconds) is only supported by a few firmware types. Do note that this documentation may not be up-to-date, so it is best to look into the source code or the users manual of the particular firmware you are using.

E.g. if you are using Marlin Firmware, G4 S20 will pause the machine for 20 seconds while G4 P2000 will pause the machine for 2000 milliseconds which is 2 seconds. This means that a different time is requested, to have 20 seconds waiting time you could use G4 P20000
To answer your question what the actual difference between the 2 commands is:

it is either 18 seconds of extra waiting time if your firmware supports the S parameter, or
a firmware that skips or chokes on the command because it is not supported (that also probably depends on your firmware).

The code G4 refers to dwell. (From what I'm seeing, it can be written as either G4 or G04). Pis the length of dwell time, usually in milliseconds. The parameter S seems to be invalid, because the only inputs are X (seconds), P (milliseconds), or U (undefined). If you have S20 in your code, it is invalid, whereas P2000 will cause all axes to remain unmoving for 2 seconds before moving on.
(Note: Not all machines will accept X or U.)
EDIT: This answer is specific to non-specific g-code, taken from this Source, since the OP did not state any specifics about their firmware type or equipment used.

See Oscar's answer -- yours is applicable only to certain firmwares.

I'm curious to know for which firmware(s) this is, could you please add that to your answer.

source: Stack Exchange

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

sort: votes


text:
Describing G-code by start and end point versus end only
Will the two following lines of code behave differently given that the path that they describe is exactly the same (two segments)?
Option 1 (describes separate segments giving the start and end point):
G92 E0
G1 F0 X14.73 Y-30.28 Z0
G1 F3000 X-27.15 Y-18.58 Z0 E2.01
G92 E0
G1 F0 X-27.15 Y-18.58 Z0
G1 F3000 X17.65 Y0.51 Z0 E2.26

Option 2 (describes end points only):
G92 E0
G1 F0 X14.73 Y-30.28 Z0
G1 F3000 X-27.15 Y-18.58 Z0 E2.01
G1 F3000 X17.65 Y0.51 Z0 E2.26

You'll never get anywhere at F0.

@Davo will the printer just ignore that line?

Manou-Mani I don't know, but logically it should not. I'm away from my machine. I'll try it next week.

Well, the second F0 is a repetitive X,Y,Z position since on the first F3000 the printer reach that position; so the Second F0 wil be ignored. I don't know if the firts F0 form the example will be Ignored but Gcode sender 0.8 normally refuses to work with undefined feed rate, Zero value is taken as undefined.

You should never use a feed rate of zero to start a command with. Theoretically, the other way around would work as the feed rate specified in the command is the feed rate at the end of the operation, but that is theoretically; if you look into the Marlin Firmware sources you will find the following C-code for the G0 and G1 commands in the function void gcode_get_destination():
if (parser.linearval('F') > 0)
  feedrate_mm_s = MMM_TO_MMS(parser.value_feedrate());

From the first code line you read that the value for the feed rate is only parsed as the value is larger than 0. As there is no prior code shown or feed rate set, the command will not be executed.

Some extra information from G0 & G1: Move describing the usage of the feed rate:

Most RepRap firmwares do subtle things with feedrates.
G1 F1500           ; Set feedrate to 1500mm/m
G1 X50 Y25.3 E22.4 ;
Move and extrude In the above example, we first set the feedrate to
  1500mm/m, then move to 50mm on X and 25.3mm on Y while extruding
  22.4mm of filament between the two points.
G1 F1500                 ; Feedrate 1500mm/m
G1 X50 Y25.3 E22.4 F3000 ; Accelerate to 3000mm/m However, in the above example, we set a
  feedrate of 1500 mm/m, then do the same move, but accelerating to 3000
  mm/m. Everything stays synchronized, so extrusion accelerates right
  along with X and Y movement.

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


text:
Strategy to stream large gcode file from serial port
I'm connecting to a printer that's using Marlin 1.0.3 dev firmware through the pyserial Python package.
I want to stream large gcode files into the printer and I guess that the buffer has a limited size. How do I know when the buffer is full, so I can wait until a command is processed to send a new one?
I've tried reading a big file, sending all the commands and checking for the printer responses in another thread. I didn't get an error or something that indicates that the buffer is full. I've also didn't found anything about this in the official docs.
It's my approach correct? Is there something I'm missing?
Some of the code:
def check_for_responses():
    while(True):
        response = printer_connection.serial.readline()
        print(response)

async def stream_gcode():
    await printer_connection.open_connection('COM7')
    Thread(target=check_for_responses).start()
    asyncio.sleep(2) # wait to initialize
    file = open("test.gcode", 'r')
    for line in file:
        command= printer_connection.format_command(line)
        printer_connection.serial.write(command.encode())

asyncio.new_event_loop().run_until_complete(stream_gcode())

Please explain how this is relevant to 3D printing. Your code excerp is too tiny and your explanation does throw up more questions for me: What is the problem, what is your expected behavior, where does it throw errors?

I simply need to figure out a strategy to stream commands to the printer. I've added the code just as an example, but my question is more general. I don't think that reading the entire file and just sending it to the printer would be a good idea. Neither sending the commands one by one waiting for the response of each.

that... seems like Stack Overflow stuff. Programming the interface from 0 I mean. we are usually not programming interfaces here, we just use them...

Ok, I will remove the question and ask there then. I thought this was the correct place. Anyway, do you know how the printer buffer works or where to find information about it?

The question in itself is ok, but we need more heft to be able to answer it here. You could though get faster help on SO about programming

Well, after some research I found something about Buffering on the RepRap documentation. I didn't see it before.
Works like this:

You send a command. An "ok" response it's received immediatly, that means that the command was successsfuly added to the buffer.
Then you can send another command. When the buffer is full, the "ok" response will be delayed until a new command it's received.

Some commands, for example M190: Wait for bed temperature to reach target temp will cause that the "ok" response will be delayed until the command finish his execution. That means that the printer won't accept more commands in the meantime.
I still have to check how many commands the buffer can save approximately, and if it's convenient to fill it entirely. I guess not, because let's say you want to pause the print. If you added a lot of commands to the buffer, you'll not able to pause it until all of them finished.
This thread on the RepRap forum was also useful.

Have you figured out how to tell how many the buffer currently holds? I'm trying to do the same but I'm not sure how to synchronise this. Thanks!

authors: Илья Сергеев


text:
What defines the speed at which a motor is retracting and how can it be changed?
Given a Marlin firmware and a line of G-code such as the following:

G1 F100 X50 Y50 Z0 E-10

What defines the speed at which the stepper motor associated with the E-value is retracting? It is my understanding that the Feed Rate defines the speed of the movement (in this case 100mm/m) but I am not clear how I could accelerate a retraction?
The reason I am asking is that I am not seeing a swift removal of material as i retract. Could the slow feed rate be the issue? I am using a pellet printer (WASP 3MT) and generating G-code from polylines on Silkworm.

Considering this and all previous postings, if might be helpful to explicitly state why you are generating the G-code commands yourself instead of being generated by slicer programs. E.g. is that required for a pellet printer?

@0scar thanks a lot, I am printing in mid-air a truss-like geometry.I co-wrote an open-source plugin called Silkworm (for Grasshopper) that allows to export Gcode from polylines.

You instruct the printer to move from a certain X-Y position instructed by the previous move, to X=50 and Y=50. While moving at a feedrate of 100 mm/min, it will also retract 10 mm of filament (if the previous extruder distance was 0) during that move. If the movement distance is large, the retraction is slow. If you started from X,Y = 49.99,49.99 it would be very fast.
If you want a fast retraction, first move to a position, and than retract fast, so in separate commands. Do note that we usually do it the other way around: first retract fast and then move, this way there is less oozing of the nozzle.
To sum up, in your G-code command, the speed of retraction depends on the path of travel (the length and speed defined by the feed rate F). If it is fast retraction you are after, you should split the command into two separate commands.

It seems like you are particularly talking about your extruder, please correct me if I have misread.
In the command G1 F100 X50 Y50 Z0 E-10:

G1 - move linearly
F100 - Use a feed rate of 100 mm/minute
X50 Y50 Z0 - tells those axes to move to (50, 50, 0) (absolute positioning)
E-10 - tells the extruder to retract 10mm (relative positioning)

If you are not experiencing high enough retraction speed:

Try increasing the retraction speed in your slicer.
Try increasing the max acceleration for the E axis using M201 (e.g. M201 E10000 sets to 10,000 mm/s).
Try increasing the max feed rate for the E axis using M203 (e.g. M203 E25 sets to 25 mm/s).

Notes:

If you're able to connect to your printer over USB, and you aren't already using an interface to control it, something like Pronterface might make it easier to test retraction speeds.
If this is the correct firmware for your printer, it looks like it is able to save changed values to the EEPROM.  They may be using a modified Marlin firmware.  If so, EEPROM can be saved with M500, loaded with M501, and reset with M502.
If your firmware limits what you can set with M201 and M203, you may want to download the firmware and try to edit its maximum accel/feedrate before flashing.

The trick is that the OP is not using a slicer, these are self generated commands (considering the previous postings). The retraction is done during the move, you cannot change the extruder feed rate without changing it for the whole move.

authors: ألَوَُِتٍٰر ٓٓٓ اَلًحَزُِّيَ

authors: สิบเอกดนัย ทองหนุน


text:
Density of GEL-LAY and LAYWOO 3D print material?
I'm looking for the specific density of the GEL-LAY and LAYWOO 3D materials by manufacturer CC Products.
It isn't noted on their website or on the spool or the box the spools came in. I've looked for hours on Google and various websites, from resellers to people who tested it, without being able to find it.

You mean the density of the material as on the spool, yes?

@Trish Yes, the density of the material on the spool.

I can't provide the end answer, but if you already have the material, you should be able to measure this yourself quite simply.
Measure and cut a sample of filament, and weigh it. For example, a 10 meter length with a 1.75 mm diameter will have a volume of:

v = pi * r2 * l
v = pi * (0.175 cm/2)2 * 1000 cm
v = 24.05 cm3

Density is mass divided by volume. If your sample weighs 18 g, this would be

d = m / v
d = 18.0 g / 24.05 cm3
d = 0.748 g/cm3

Note that the accuracy of this measurement will depend on the accuracy and precision of your measurements. A household kitchen scale might not be good enough for such small weights. In order to get a good weight measurement, you may need to use a much longer (and heavier) sample of filament.

Not sure that I have an accurate enough balance, although it could probably work with the small balance we used in the office to weigh letters. I'm thinking your solution could work if I would be to print a cube using the material. Volume of the cube is easily calculated, mass on the balance, then just use your equation to find density. You think it would work?

Your suggested method will work to measure the average density of the cube as printed. However, when printing with an FDM printer, the resulting object is rarely solid. Typically, the outer shell is only a few layers thick, and the inner volume is printed with an "infill" that is sufficient to support material printed above it and adds strength. This will be determined by various setting in your slicer software; there are options for different infill patterns and approximate density (%). For almost all prints, the inside of the object will be mostly air.

I know, but I can set it to 100% infill to print it solid, thus have a solid cube of x cm3 then weigh it and calculate.

Yes, that could work. Printing a solid cube with sufficient size seems likely to be problematic, and will certainly take a long time. if you have raw filament, you only need to know the length to calculate volume. If you are careful, you could still use that filament to print things with, so less wasteful as well.

Indeed, the properties of this filament are kept rather secret, so to find out what the density is, you need to either contact the filament supplier or the manufacturer for accessing the data sheet or calculate this yourself. The answer below expands on the "calculate it yourself".
Density is defined as  $\rho = \frac{m}{V}=\frac{[kg]}{[m^3]}$. The use of this formula has been show in this answer. The drawback of that answer is that it is an approximation that relies on a uniform piece of filament that requires cutting off expensive filament and relies on assumptions rather than actual calculations. Furthermore, the weighing of a small piece of filament is much less accurate of a small piece than for a larger piece or the whole spool (for the same scale, so a decent kitchen scale might be usable when more weight is concerned). You could improve the density calculation by measuring the diameter at various sections and make a better approximation based on the average diameter, but still that would need you to unroll the spool and carefully measure a piece of filament (and cut it). The advantage of that answer is that it is far easier than my proposition.
The method that is proposed here relies on a well known method to calculate the density of materials that is called hydrostatic weighing. Hydrostatic weighing uses the displacement of a fluid due to a submerged object to determine the density of the object. Any submerged object will displace the fluid surrounding it by it's own volume, as such you would need to measure the rise of the volume level to read the volume of the submerged product. This can be done accurately by using methods that include containers of known dimensions, known fluids and even an overflow method and weighing.
If the filament comes on a spool, you would require an identical spool to prevent removing it from the spool. But, I read that it is sold in bundles, not on spools. Without a spool would make it even easier to calculate the density as you do not have to subtract the spool weight and volume, the answer continues as if you have it on a spool. This is purely necessary so that you would not need to cut off filament or unroll the whole spool. The suggestion below let's you measure the whole spool, so weight is measured more easily as there is a lot more.
Theoretically, you could put the filament in a fluid which is known to not affect the filament properties (so not water for GEL-LAY!) in a bath of known dimensions. Once the spool and filament are completely submerged, you could measure the volume rise. If you do the same for the empty spool, you also know the volume of the spool alone. If you also are able to weigh the empty spool and the full spool (before you plunged them in the "bathtub"/container), you now know the volume and the weight of the filament, dividing the weight (full spool weight minus empty spool weight) by the volume (full spool submerged volume minus empty spool submerged volume) will give you the density.
$$\rho_{filament} = \frac{(m_{full\ spool}-m_{empty\ spool})}{(V_{full\ spool}-V_{empty\ spool})}$$

Now let your filament dry for a long, long time! :)

I'm not too keen in submerging an entire roll of filament in whatever liquid that would be safe to use, wouldn't know what to use for Gel-Lay anyway, but that's still an interesting solution to my problem. Though drying time would be horrendous indeed! :p


text:
Does GEL-LAY needs to stay moist?
POROLAY GEL-LAY is a kind of jelly-like material made by exotic filament producer Kay Parthy / CC Products.
It is a mix of TPE and PVA that is supposed to have a jelly-like feeling. Once printed, you need to let your print soak in water for several days to remove all of the PVA, then what's left should have a jelly-like feeling since the PVA will have left many micro-cavities in the object.
However, my initial tests end up producing prints that feel a bit like jelly when wet, but reverts to a sort of cardboard feeling once dry.
Does this material needs to stay moist to keep the jelly feeling or not?

No, GEL-LAY should not be kept moist to stay flexible. It is made from TPE and filled with small PVA particles. It is advised to print less than normal amount of walls and infill so that the PVA can be rinsed out more easily.
If you look at the way the manufacturer rinses the material, you frequently see ultrasonic baths that improve the dissolving of the PVA. Once the PVA is removed, TPE is all that it left, which is elastic. If your print is still hard after drying it means that not all the PVA has dissolved yet, once dry it will become gluey/sticky again like PVA, hence the cardboard structure.

would you mind linking to the manufacturer video you refer to?

Wow, Poro-Lay Gel-Lay is expensive ... $35/.25kg of the stuff ... that's equivalent to $280 for a 2kg spool ... yikes.


text:
Is there a difference between 3D printing and additive manufacturing?
Is there a difference between 3D printing and additive manufacturing if any then explain?

I see several answers to that.
A lot of persons say 3d printing while they really mean additive manufacturing. For them, the machine got a 3d part out of raw material as a 2d printer got them images out of sheets.
Some persons think that 3d printing refers to lowpriced polymers additive manufacturing machines while additive manufacturing refers to industrial, expansive equipment like the so-called "DMLS"or "SLM".
Others persons say that additive manufacturing processes that use 2d-printers heads (ink injectors, such as HP additive manufacturing machines) should be called 3d printers and 3d printing because it's so similar to 2d printers.
I consider that "3d printer" should be avoided in general, because it is way too vague and referring to way too much different things. But it is up to anyone using these words, I just think that a serious person wouldn't use "3d printer" given all the mismatch that it could generate. I think we should use the exact process' name instead (like FDM for low-priced additive manufacturing polymer machines), or if you refer to the overall technology, use additive manufacturing.

Yes and No at the same time:
3D Printing is a subset of Additive Manufacturing
but treated as a synonym at this time
3D printing is a process that takes some material, in a fluid state that fuses with the model to shape an object from it. The material could be plastics, ceramic paste or even metal. The fluid state could be the normal state, or just be present for the fusing process (think powder and resin based systems), or be a transitional phase (as in filament based systems).
Additive manufacturing is just a slight bit bigger: at the moment most, if not all, AM processes are some sort of 3D printing. But AM could include other processes that don't fit 3D printing. For example, an automatic bricklaying machine could, under some view, be Additive Manufacturing, but it is not 3D printing in the traditional sense.
So: All 3D Printing is Additive Manufacturing, but not all Additive Manufacturing is necessarily 3D Printing.

I would think automated welding could be considered AM, yet is not 3D Printing.

@Pᴀᴜʟsᴛᴇʀ2 under some ways, yes. There are welding-robots that do pretty much "print" (So AM or even 3D printing) but most automatic welder arms just join parts, which is not in the definition of 3D printing but falls under "Automated Assembly". And somethies... the tred bring forth "Atomated Manufacturing" like https://www.youtube.com/watch?v=odGEzRRDfxo

Origin
3D printing and additive manufacturing (AM) both refer to a range of processes where, opposed to subtractive manufacturing methodologies, materials are joined to create products. E.g. FFF, SLS, etc.
From this reference you see a reference to 3D printing:

Additive manufacturing is the official industry standard term (ASTM
F2792) for all applications of the technology. It is defined as the
process of joining materials to make objects from 3D model data,
usually layer upon layer, as opposed to subtractive manufacturing
methodologies.

From e.g. this reference one reads that there is no difference:

Between the terms 3D printing and additive manufacturing, there is no
difference. 3D printing and additive manufacturing are synonyms for
the same process.

Useage now
However, as the AM processes and applications grew in time, 3D printing has become a subset of AM. As worded by Peter Zelinski in August 2017:

To be sure, the terms overlap. They can be used in ways that make them
sound like synonyms. But the relationship between them and the
difference between them is this: 3D printing is the operation at the
heart of additive manufacturing, just as “turning” or “molding” might
be the operation at the heart of a conventional manufacturing process.
In short, additive manufacturing requires and includes 3D printing,
but it also entails more than 3D printing, and it refers to something
more rigorous.


text:
How to re-program NEW Prusa MK3 MMU2 to accept taller Z axis
In a previous question, I have modified the Z-axis-height of my Prusa Mk3 from 250 mm to 350 mm.
Prior to the MMU2 upgrade, I changed the code in my printer to accept the new height the following way:  I changed Arduino → Configuration_prusa.h → Axis settings → line 54 to  #define Z_MAX_POS 210 (it worked perfectly).
However, the layout is different for the new firmware v. 3.4.1, and I have no idea where the Z axis settings have gone, if they are even still there.
Can anyone point me in the right direction to find the Z MAX POS settings, please?
Obviously, I'm not very good with coding, but it looks like the entire code layout has changed for the v. 3.4.1
Firmware
Prusa MK3 (firmware 3.4.1) MMU2 (firmware 1.0.1). The source code on Github is found here.

Basically, the answer on your previous question is still valid, but your specific questions will be addressed below.
To answer where the setting has gone by answering:

However, the layout is different for the new firmware v. 3.4.1, and I
  have no idea where the Z axis settings have gone, if they are even
  still there. Can anyone point me in the right direction to find the Z
  MAX POS settings, please?

To find where the setting is, you need to go to the source code repository of Prusa firmware (which is based on Marlin firmware) or download the zip file with the sources and use a "grep" search utility to search in files.
The setting Z_MAX_POS is located in the board configuration file (so in 1_75mm_MK3-EINSy10a-E3Dv6full.h if you have the MK3). This can be found in the online sources (the github page). The online repository is located here. Using the search functionality to search within the source code files on that page you are able to find any setting you need to find. If you type in "Z_MAX_POS" and scroll down till you see
#define Z_MAX_POS 210

You have found what you where looking for if you located the MK3 board.
To solve your problem by answering:

How to re-program NEW Prusa MK3 MMU2 to accept taller Z axis?

Prusa development team has got rid of Configuration_prusa.h, you will not find this file in the repository anymore!
Instead, it is you that has to rename one of the board variant files (from the "Firmware/variants" folder) corresponding to the machine you have to "Configuration_prusa.h" and place it in the "Firmware" folder prior to compiling (note that these are simple actions that you can do on any operating system; i.e. copy file, paste file, rename file).  Before you compile the sources, you need to change the value of Z_MAX_POS 210 to Z_MAX_POS 350. Please read the README file as this describes exactly in more detail than worded above what you need to do (e.g. use the correct Arduino IDE, e.g. 1.6.9  as this is used by Prusa development team themselves).
Quoting from the README file:
section describing the renaming of the file:

in the subdirectory "Firmware/variants/" select the configuration file
  (.h) corresponding to your printer model, make copy named
  "Configuration_prusa.h" (or make simple renaming) and copy them into
  "Firmware/" directory

section describing the compiling:

run "Arduino IDE"; select the file "Firmware.ino" from the
  subdirectory "Firmware/" at the location, where you placed the source
  codes File->Open make the desired code customizations; all changes are
  on your own risk!
select the target board "RAMBo" Tools->Board->RAMBo note: it is not
  possible to use any of the variants "Arduino Mega …", even though it
  is the same MCU
run the compilation Sketch->Verify/Compile
upload the result code into the connected printer Sketch->Upload
or you can also save the output code to the file (in so called
  HEX-format) "Firmware.ino.rambo.hex": Sketch->ExportCompiledBinary and
  then upload it to the printer using the program "FirmwareUpdater"
  note: this file is created in the directory "Firmware/"

To compile the sources correctly please take care in using the correct
  software versions and libraries (Arduino IDE 1.6.9, RepRap
  Arduino-compatible Mother Board RAMBo by Ultimachine v. 1.0.1, Arduino
  AVR Boards Built-in by Arduino updated to v.1.6.23)

Sidenote:
A little more in depth for those who are interested to know (and have some programming skills) why you need to change the name of one of the variants configuration files. Basically, Prusa uses different boards with different settings for the different printers they sell. All the settings for these printer variations are stored in the Firmware/variants folder. When you rename the variant file and put it a folder layer higher to Configuration_prusa.h (e.g.Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.htoFirmware/Configuration_prusa.h), these specific printer and board settings are included into the Configuration.h file (line 43 to be precise) by the C-code include statement:
#include "Configuration_prusa.h"

This include statement will basically insert (like copy in memory) the statements from the Configuration_prusa.h file and thus set important constants like:
#define MOTHERBOARD BOARD_EINSY_1_0a

and many more.

Latest firmware: Prusa-Firmware-3.5.0\Prusa-Firmware-3.5.0
Arduino 1.6.9, RepRap Arduino-compatible Mother Board RAMBo by Ultimachine latest version 1.0.1, Arduino AVR Boards Built-in by Arduino latest version v.1.6.23.
Copy the 1_75mm_MK3-EINSy10a-E3Dv6full file from
Prusa-Firmware-3.5.0\Prusa-Firmware-3.5.0\Firmware\variants into
Prusa-Firmware-3.5.0\Prusa-Firmware-3.5.0\Firmware and rename it Configuration_prusa.h.
Open Firmware Arduino file.  Configuration_prusa.h shows in the tabs next to Configuration_adv.h.  Change //Travel limits after homing #define Z_MAX_POS from 210 to 350.  Verify →
Sketch uses 225,482 bytes (87%) of program storage space. Maximum is 258,048 bytes.
Global variables use 6,091 bytes of dynamic memory.


text:
Getting worse quality prints on 0.05 mm than on 0.10 mm layer height on Prusa i3 MK3
I have a new Prusa i3 MK3 and I have noticed that my prints consistently turn out worse on 0.05 mm layer heights than on 0.10 mm. The edges of the 0.05 mm prints turn out rough and sometimes stringy.

Seems similar to a retraction problem but I never have this issue on 0.10 mm prints with the same retraction settings.
What might be causing this issue?

What slicing software are you using, and what other settings change when you change the layer height?  -- and what's your nozzle diameter?

@CarlWitthoft I'm using slic3r and everything default on the i3 mk3 other than changing the retraction to 1.2mm from 0.9mm

When printing at small layer heights (high resolution), you probably need to do some test prints first to see if your normal settings work for the lower layer height. You are most probably experiencing an increased pressure build-up in the nozzle due to the nozzle being closer to the bed. A test that might be useful for you is spacing several objects at different distances to see if the retraction, which you already suspect, may be not working optimally or that the nozzle leaks/oozes an excess amount of filament due to pressure build-up. This shows an example of such a test where the nozzle shows oozing.

Tuning the extruder to alleviate the pressure could be:

an increased retraction length, and/or
retraction speed, or
looking into the option called coasting where you stop extruding before the printer reaches the end of the deposition path while it still prints material caused by the pressure build-up.

When printing at 0.05 mm on my home-build CoreXY I experience much smoother prints opposed to printing in higher layer heights (less resolution), but I also get some very fine stringing, noticeable when printing multiple objects or objects with voids.

One thing that I have learned in my extensive youtubing is that sometimes the hot end can soften the previous layers. Though, take the following advice with a grain of salt as the following is just conceptual for me (I'm still waiting for my first printer to arrive to follow this advice).
Tomb of 3D Printed Horrors has a pretty good video on printing D&D miniatures that require high detail at small sizes (particularly at the 2 minute mark). His recommendation is to have 0.2 mm thick lines as thinner lines are more susceptible melting when the hot end is laying down subsequent layers. Thicker layers means more plastic to absorb the heat and less deformity. This is probably why your 0.1 mm lines look better than your 0.05 mm lines.
Another fix is to keep print speeds somewhat normal or slightly slow. A faster print head heats the previous layers less and can counteract the issue. Running at 60 mm/s may be too quick for quality prints, but running at 10 mm/s is too slow and can reheat the lower layers. Keeping an "average" pace paired with thick enough lines could help you get the prints you want. Though, finding what speeds/thickness is up to you. I don't have the experience to suggest any at the moment.

If you lay down more material (so thicker layers), the heat input is larger to the already deposited layers. Your statement: Thicker layers means more plastic to absorb the heat and less deformity. is incorrect.

you might want to link to which videos you refer to

@0scar I disagree. Thermodynamics state that the specific heat capacity changes as the mass changes. My statement may not be as poignant as desired, but I was trying to put it in layman's terms. That with thicker layers, there's more mass and the plastic of previous layers won't reach high enough temperatures to deform the model. I think we're saying the same thing.


text:
Which capacitor to change on CR-10S S500 motherboard?
I have a CR-10S 500 and want to change a capacitor on it to improve and solve temperature issues. This capacitor that needs to be changed should be labeled as "C4" as mentioned on this post but it's not present on my motherboard. The goal is to replace 100uF capacitor with 220uF 16V capacitor.
This is what the motherboard should look like:

but mine looks different. Below is what it looks like:

There is no version number on my motherboard and there is no "C4" capacitor. Also, the component that's labeled "330" on the original board is labeled "470" on my motherboard. It's hard to decide which capacitor to change. On my motherboard, there two capacitors instead of one, closer to the location of the capacitor that needs to be replaced. They are labeled "C42" and "C35" instead of "C4". I do not want to replace the wrong one since it's risky enough to replace just one capacitor on these boards.
Anyone know my motherboard type or version? Also, which capacitor to change?
EDIT:
Here is a better or zoomed in section of the place:

As Trish requested in the comment, below is also the back side of the motherboard.

theSealion might be right in his answer and I did a test and it all points to "C31" as he suggested but the problem is that the capacitor is different from the one it is supposed to be replaced with like on other CR-10 boards. I am not entirely sure if this is the capacitor since the type of capacitor are different from the one I was suggested to use.  Below is the new capacitor:

My current idea is to remove the tiny "C31", solver wire to pin 4 of LM2596 and to the new capacitor but I do not want to remove the "C31" because I don't want anything to go bad.
Can I add the new capacitor parallel to the existing "C31" without removing the "C31"?

You are looking for a capacitor that must be connected to Pin 4 of the LM2596.
Maybe you could provide a better picture of that area so we could see the different tracks on the board.
The LM2596 is in the center of the right side of the board (it is also labeled  with LM2596D). The pins should be counted from top to bottom (in your picture)
My guess is, the Elko you are looking for is connected to C31, and you must look for the positive pin.

In this wiring diagram Cout is the capacitor you are looking for. The SMD Parts R1, R2 and CFF should be R31, R32 and C31 in your picture.
With the corresponging measurements I would say you do not need to replace the capacitors.
In comparison to the old board your board already has the "fix" implemented.

I have a multi-meter to do that kind of a test. Where is LM2596? The component with 5 pins? If yes, should its pin 4 connect to the negative or positive side of the capacitor?

I've just extended my answer. In the first version I haven't seen that the type here is not fixed but adjustable, this adds a few more SMD components.

I did a continuation test from the 4th pin to the capacitors but they didn't match. Today in the afternoon, I will update the post with a zoomed-in picture of that part of the motherboard. Note that capacitor "C31" is very tiny. I am not expecting to change that. I expect to change the round ones such as "C42" and "C35

As far as I can see it on your picture there could be a connection from the LM2596 to one side of the C31 (the tiny one). The other side of C31 should be connected to the capacitor you are looking for (Cout in my schema).

I think you're right but there is a size issue. Can you take a look at the EDIT I made to my question. I talked about adding the capacitor as parallel and don't know if that's a good idea. I just don't want to remove the small "C31"

@Programmer theSealion does not state that the C31 cap is the one that needs to be replaced, it is the one connected to this one, the Cout. Please follow the trace. It should be the one that is captured between pin 4 and pin 5 of the LM2596.

@0scar Ok. I misunderstood him. I just did that and I think that the result a bit twisted. The output from  "C31" is connected to two capacitors not just one. The "C33" and "C32". I noticed that they are both positioned next to each other so I did a test on them and found out that the "C33" and "C32" has their positives connected together. The-same applies to their negatives. They are connected parallel to each other and I have a feeling this is one of the re-designed and fixed board.

It looks like they tried to use two low value caps to get the-same fix with just one 220uF. Does this even make sense or should I just go ahead and change both caps with my new 220uF?

If C33 and C32 are parallel and the positive side is connected to C31 there is no need to change them.

That's what I thought. I will just leave the capacitors alone. Thanks.

An important note on Voltage Rating
Just to add to the existing answers.
If you are planning on upgrading the capacitors to some with larger capacitance, then assuming that they are for the supply regulation/smoothing then upping the capacitance shouldn't be (too much of) an issue. If they are used for timing, i.e. in an RC circuit (which seems unlikely in this particular case), then the capacitance should/must be kept the same.
However, the main issue that I see is that the existing capacitors are rating at 35 V, and you are planning on adding lower rating capacitors, i.e. 16 V. This is asking for trouble and at best an early failure, or blown capacitor.
The voltage rating should be between 1.5-2.0 times the voltage of the circuit, or better still (possible overkill), double the circuit voltage and then use the next voltage rating.
So, for a 12 V circuit, use a 25 V rated capacitor, or 35 V. The 16 V is a bit of a no-no, and besides you don't want to mix voltage ratings for the same circuit, not a good idea, unless you actually want a common point of failure.
See sources: Selecting voltage rate for capacitors and High Voltage Capacitor, in a low voltage system?

The voltage statement is useful but the motherboard receives 12 volts so 16v cap is actually fine for 12v input. It even says 12v on the back of the picture I uploaded in the question. The 12v is converted into 5 to power the microprocessor and drive IC for stepper motors. So far, those that changed the12v cap haven't run into issues.

You are looking at the wrong board
Your board might on the surface look like a Creality v 2.0 board, and is indeed from the same family of boards. After trying to discern the parts and finally resorting to google image search, I almost had to maniacally laugh:
The currently latest version is the Creality 2.1, but your board clearly is a pre 2.0 board, as the 2.0 and 2.1 are quite similar, almost identical in the areas in question. According to the standard nomenclature, a 2.X board should be a full new engineering or vastly re-engineered board. So I looked up a Creality 1.X board - And indeed, it looks somewhat closer to a CR-10 motherboard in the area around the black capacitor, but that is marked 150/151. So it is not a Creality 1.1.2 / 1.1.3, also known as "CR-10" board.
My best guess (Confirmed by OP and this) is, that your board is an intermediate step between the Creality 1.1.x Board for the CR-10 and the new CR-10S 2.0/2.1, so by nomenclature a proto-2.0. Among Makers, it is called "original CR-10S" at times. Your numbers should thus be read from this board:

There is a 100/35V/UT Capacity in the indicated spot in both the green and black renditions.

There is CR-10 and CR-10S. My printer is CR-10S. After  research, I found this post which identified each board and says that the board is "Original CR-10S Board in Green"

Indeed, the 1.1.2/CR-10 is not your board, the 2.1 is the new CR-10 board. You have - according to your link - the CR-10S board in Green/Black

@Programmer, indeed that link Creality CR-10 and CR-10S Models – What Printer do you have? really is rather indispensable... I seem to remember it coming in useful a few months ago.

@Greenonline It took long to find a post with my actual motherboard. I still feel like the only person with this motherboard model since every post about this issue is not based on this motherboard.

authors: Слава Ржеутский


text:
Anet A8 with 3DTouch does not home X in the center
Working on getting my Anet A8 upgraded with some extra toys and although the sensor works, I can't get it to home correctly. I'm looking for some assistance to home the X in the center.
The probe is working and showing results, but when homing, it does not home to center (SAFE_HOME is turned on, Y homes to center but X is about 3/4 from endstop) and the Z offset always reports as 0 when using M851. There is a clear gap of about 10 mm between the bed and the nozzle after G29 is ran.
I'm using the following mount:

Bed is anycubic ultrabase 220*220
I have been using a combination of E3D configuration documents, https://www.youtube.com/watch?v=WWDkZtWwd6I and https://www.youtube.com/watch?v=y_1Kg45APko to try and get it working.
I've posted my Configuration.h here to see if anyone can spot what I've done wrong and possible explain it to me so I can learn.

Hi, welcome to 3D Printing.SE!

Your sensor offset for the X direction is incorrect.
#define X_PROBE_OFFSET_FROM_EXTRUDER -28   // X offset: -left  +right  [of the nozzle]
should be
#define X_PROBE_OFFSET_FROM_EXTRUDER 28   // X offset: -left  +right  [of the nozzle]
The hints in the comment already suggest that (left is negative, right is positive), your touch sensor clearly is located on the right side, hence +28 mm.
See also this hint in the configuration file:

 *      +-- BACK ---+
 *      |           |
 *    L |    (+) P  | R -- probe (20,20)
 *    E |           | I
 *    F | (-) N (+) | G -- nozzle (10,10)
 *    T |           | H
 *      |    (-)    | T
 *      |           |
 *      O-- FRONT --+
 *    (0,0)

Also, #define Z_PROBE_OFFSET_FROM_EXTRUDER -1.05 is not really necessary. Many prefer this to be 0 and set the value later by using M815 Z-1.05 (sent over USB or "printed" from .gcode file over SD card)
You also have not set the boundaries for the sensor to reach, I quote:
// Set the boundaries for probing (where the probe can reach).
//#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE
//#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - MIN_PROBE_EDGE)
//#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE
//#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - MIN_PROBE_EDGE)

This can be found in How to set the boundaries for BLTouch probing.
After a G29, the head is raised as instructed by the configuration file to employ clearance.
An M851 will report the actual value it is set to, if you have not set it (by using M851 Z-x.xx, or set it through the display using the menu) then it will report 0, that is correct.

Thank you for your comment, that was really useful. I've got the probe centered now, and am trying to work out the probe map from the other link you provided.

@NXSmiggy You're very welcome. Probe area is pretty easy for your printer as your Y offset is zero! Good luck, and please come back, we're here to answer your questions.

Had to modify the probe values as needed to relocate the probe. Turns out the 3DTouch is 3mm longer than a BLTouch so fails to stow beyond the nozzle height. Good job i noticed before crashing my nozzle + probe into the bed

authors: Михаил Павлович


text:
Is endstop / z-probe wire required for BLTouch installation on CR-10S
I am confused about installing BLTouch on CR-10S.
This is my motherboard:

Below is a screenshot for the wiring of the BLTouch sensor:

See the circled sections in yellow.
Notice that the Z- socket is also used  (black and white BLTouch wire) and that's normally where the endstop limit switch sensor is plugged in.
If I unplug the limit switch wire and simply plug the BLTouch wire to this:
1. How can the printer determine when it has reached home?
2. How does it know when to stop when it hits home?
3. I thought BLTouch  is used to do some leveling on the surface... Does BLTouch have a sensor to stop the printer when it hits some?
4. Any way to install BLTouch without removing the Z limit switch sensor?
Sorry for the questions. I am just confused about BLTouch using pins of another sensor that's also required.

A touch sensor is also a height limiting switch, so you sacrifice the Z- limit switch in favor of the touch sensor (or an inductive sensor). Furthermore, all your concerns are taken care of by the firmware. You configure the firmware so that the nozzle homes Z in the center of the build plate after X and Y are homed first.
It is advised to look up some videos of working touch sensors, then you will get an idea what actually happens. You could start with the inventor of the sensor.

Ok that really make sense. I also confused Z+- axis with Y-axis because I use Maya which has different ordinate in a way that Y+- is up/down and Z+- is front/back while X+- is right/left. I forget it's different in 3D printing.


text:
Free UARTs TX and RX pins on CR-10S motherboard
I have a WiFi module that only needs two wires connection to work. These are RX and TX pins connected to Arduino or the CR-10S printer board but I don't know if there is any physical or software UARTs TX and RX pins. My goal is to add a Wifi support to the CR-10S printer. Since this is not Arduino and the pins are not labeled, it's hard to tell which TX and RX pins are not being used.
In the image of my motherboard below, any port or pin with line pointing to is considered as being used by the printing software so I can't used them.

There are still ports or pins that are not used. Can any one tell if there is a  TX and RX pin that is not being used from the image above? I need them to communicate with the printer wirelessly.

Not answering the question directly which pins you can use I would like to propose an alternative solution for your problem, to explain why you should not use RX/TX pins.
An alternative solution includes the use of a small single board computer like the Raspberry Pi (RPi) which is connected over USB with the printer board. E.g. the latest range of RPi (Raspberry Pi 3 Model B and B+) have onboard WiFi, or alternatively an older RPi (Raspberry Pi 2) could be used in conjunction with a USB Wifi dongle. On the RPi you could install a print server that talks directly with your printer over USB. One such an application that is frequently used is OctoPprint (the complete installation/image is referred to as OctoPi).
You can then interface with the print server application using a web browser on any mobile device in your network, and if configured as such you could do that potentially from over everywhere over the world. The major advantage is that you then are not communicating G-code over WiFi as you would if you used RX/TX pins. Knowing that WiFi connection adds issues with latency and the possibility of a disconnection during the print, your fail rate would increase over a single board computer approach.
With an RPi the print will continue regardless of the Wifi connection.

I know I can use Raspberry Pi but trying to avoid that. I just want to make a mod with my cheap $5 wifi module on top my current and original motherboard.

You see those 8 holes on the top left of the board? The bottom right one is RX, the one right above it is TX. These 8 pins are collectively known as "AUX1".
Here is the complete pinout (in the same orientation as the image above).

 5V • • 5V
GND • • GND
 A3 • • TX0
 A4 • • RX0


text:
Bed heating from Pronterface works, but not from LCD menu nor from SD print
Running my Ultrabase (glass plate) through a MOSFET on an stock A8 board with Marlin 1.1.8. When I do PID tune through Pronterface (by using the M303 E-1 C8 S70 command) the bed heats up no problem and completes the tune, but when printing from SD or using the Preheat PLA command on the printer to heat the bed, nothing happens and then I get "Bed heating failed".
As its working through Pronterface I know the wiring is okay.
Configuration.h
Configuration_adv.h
Anet A8 Stock Board
Ultrabase 220x200 12v
PID Values extracted from Pronterface Via M303 E-1 C8 S70 from cold bed
Message take about 1 minute to appear, seems to be a timeout as opposed to an instant error
Disabling PIDTEMPBED and enabling MAX_BED_POWER resolves the issue allowing the printer to heat the bed
Thermal protection for bed set to
#define WATCH_BED_TEMP_PERIOD 180               // Seconds
#define WATCH_BED_TEMP_INCREASE 2               // Degrees Celsius

When using PIDTEMPBED the LED on the bed does not light, but when using MAX_BED_POWER / PIDTUNE it does

what G-code is executed to get PID tunning?

M303 E-1 C8 S70

Please add some details in your question (by [edit]) on printer size/type, voltage, how you got the PID values (e.g. heated bed first or from cold)? Also explain if the message pops up instantly, or after a few seconds.

@NXSmiggy Disabling PIDBDTEMP results in bang-bang heat up. PID is bypassed.

I thought this was an easy problem to fix as the previous Configuration.h you shared had PID incorrectly configured.
I'm guessing that you experience this LCD screen:

What I experienced myself when PID tuning the bed is that it matters whether the bed is preheated or not. At first attempt the command such as the  M303 E-1 C8 S70 you used did result a failed PID tuning (note that you should perform the test from a cold bed).
Your PID values:
// PIDTune from Pronterface
#define DEFAULT_bedKp 305.95
#define DEFAULT_bedKi 60.24
#define DEFAULT_bedKd 388.4805

are similar results as I have for a 24V 300 x 300 x 3 mm bottom cork insulated heat plate with 3 mm glass.
You have not added the "Configuration_adv.h", but this file contains the advanced settings for the printer and most probably contain:

#if ENABLED(THERMAL_PROTECTION_BED)
  #define THERMAL_PROTECTION_BED_PERIOD 20    // Seconds
  #define THERMAL_PROTECTION_BED_HYSTERESIS 2 // Degrees Celsius

  /**
   * As described above, except for the bed (M140/M190/M303).
   */
  #define WATCH_BED_TEMP_PERIOD 60                // Seconds
  #define WATCH_BED_TEMP_INCREASE 2               // Degrees Celsius
#endif

This describes that the software waits for 60 seconds for the bed to increase 2 °C. If the temperature increase is not observed, there is no heat input to the bed, or it does not reach the set temperature. Please check your values.

Updated with requested information, Disabling PIDTEMPBED and re-enabling MAX_BED_POWER allows the printer to control the bed again

Additional information provided as requested


text:
Ender 3 Won’t Start - flashing screen and blue LED on main board
Just received my second Ender 3 (see my other questions for the problems that first one developed). Figured it best to have a spare while I upgrade my first one with an ABL.
I assembled it as normal, without any issues, but on applying power the LCD screen just flashes on and off continuously along with the blue LED on the main board. See photo.
When I power it off, the Ender 3 logo appears briefly before it goes black. I am in the U.K. and running 240v setting. Is this likely the power supply or the motherboard? I already tried another screen and same problem.

Do you have a separate main board you could test on it? Have you tested the power supply to ensure it's putting out the right voltage?

@Pᴀᴜʟsᴛᴇʀ2: Was trying another power supply immediately after I posted. It was a faulty power supply. Will have to find a replacement now. Thanks

Just after I posted this I tried swapping various components with my other Ender 3.
It turns out a faulty power supply will produce this effect. When I swapped out the power supply it started normally.


text:
How to enable EMERGENCY_PARSER in Marlin firmware?
In the documentation of some commands of the Marlin firmware (like M112 - Emergency Stop), it says that the EMERGENCY_PARSER should be enabled to execute them instantaneously.
The thing is, I didn't find any information there of how to enable that EMERGENCY_PARSER or how it works.
Any help will be appreciated.

The constant EMERGENCY_PARSER is located in the advanced printer configuration file Marlin/Configuration_adv.h:

// Enable an emergency-command parser to intercept certain commands as they
// enter the serial receive buffer, so they cannot be blocked.
// Currently handles M108, M112, M410
// Does not work on boards using AT90USB (USBCON) processors!
//#define EMERGENCY_PARSER

To enable the EMERGENCY_PARSER, you need to remove the // before #define EMERGENCY_PARSER and recompile the sources.
Normally your printer will execute a command until it is ready to accept a next instruction. Without the EMERGENCY_PARSER set, the printer finishes the instruction that it is executing at the moment, if set, the execution is interrupted and immediately sent and thus not waiting for a clear space in the buffer.

Is there a way to know if EMERGENCY_PARSER is set without looking at the printer configuration file (for example, sending a command or checking the first responses when you connect via serial port)? Was this feature added on Marlin 1.1.0?

@fsinisi90 I don't know if you could try that out. You do need to somehow inject the M112 in the midst of operation, usually that is done by the code as an emergency response on certain limit checks, I do not know how to insert that manually from outside.

Well, I've already tried with M190 (wait for bed temperature) and then M108 and it's not working, but my firmware is Marlin 1.0.3 and I guess the EMERGENCY_PARSER was added on 1.1.0, so I don't even have the possibility to enable it. Anyway, I was looking for a way to check it on any printer from my source code (I'm connecting through pyserial), without human intervention.

authors: มงกุฎ นฤฐาปกรณ์


text:
Stuttering extrusion after layer change
I am currently encountering a problem where under certain circumstances, the extruder stutters when it starts a new layer. I am printing on an Anycubic i3 Mega and am slicing with Cura 3.6.0. The problem seems to occur in the main part of prints, as well as in supports. However it seems to only occur after a retraction has taken place. I have taken a video of the stuttering which can be found here: https://photos.app.goo.gl/G3TLKveMsLNRQmgv7
When a print is done the stuttering results in walls looking like this:

Can anyone help me figure out what is causing the stuttering?
Thank you very much!

Welcome to 3DPrinting.SE!

You retraction settings may be too high. Direct drive extruders require less retraction than Bowden style extruders. Typical retraction settings for direct drive are 1.5mm at 50mm/s and for Bowden, 4mm at 50mm/s. The speed usually makes more of a difference than distance beyond a certain point.
You can get away with smaller retraction settings if you increase travel speed because there will be less time to ooze. You could also try using Coasting as well.
Anyway, try reducing your retraction settings if they're higher than what I stated above. Another alternative is to set an extra prime distance so that extra filament is extruded after the retraction.

Definition: Sparse layer fill (called stuttering by the OP)

Why a sparsely filled support structure... (at the support bottom)
Support structures are added by Ultimaker Cura as the first part of the layer before it progresses to the rest of the print object. The bottom part of the support structure is definitely showing under extrusion, as if there was not enough filament available to print the support solidly. Actually, that is exactly what is the problem, there is not enough filament available for printing as a result of a retraction and the following extrusion after movement of the filament. The bottom part of the support is most probably printed after the head stopped far from the support (end of the previous layer) while printing your object. This means that the filament needs to be retracted, the head moved to the support structure, filament extruded (de-retracted) and printing of the support structure starting. When retraction is not optimally tuned, the nozzle may not be primed correctly with filament and cause a sparsely printed support structure. A similar reasoning could apply to support structures being printed at the final stage of the layer (as long as there are large movements to the support structure requiring the activation of the retraction).
Why is the support better printed higher up...
You see that when Z advances above the thickness of the right part of the print, the support structure is better printed. This could be caused by the fact that the head now doesn't need to move far from the last position of the print to the support structure, this doesn't require a retraction action.
What to do to print better support structures...
Try tune your retraction settings, see e.g. this answer shows an image of a calibration print to determine the optimal settings.
Note that you not only can play with the filament retraction settings (Enable Retraction, Retraction Speed and Retraction Distance), the option called Enable Coasting and Coasting Volume can also be used to stop extruding while the printer head prints the rest of the object to use the over-pressure of the molten filament in the nozzle and finally Retraction Extra Prime Amount can extrude some extra filament to prime the nozzle with some extra material so that the nozzle is optimally filled and ready for printing the support after the main print object. Also take care choosing the right Support Speed, too fast will result in lower quality.

authors: الرمال الذهبية


text:
How small may I design objects for the Prusa i3 MK3?
I have designed a bread mark and printed it on the Prusa i3 MK3.

I wanted it to have as sharp edges as possible, so I used a triangle:

However, it seems that the print cut off layers that are too thin (x-y-wise) and instead of a 1 cm high bread mark, I only have 0.5 cm.
What is the X-Y-resolution of the Prusa i3 MK3? In Slic3r, can I make sure that any wall is made as thick as needed for it to be printed?
I have the default 0.4 mm nozzle.

What is the size of your nozzle? From my understanding, you can only print that wide at a minimum. Also, if you print it as thin as you can get to, won't the top be so thin it wouldn't be very resilient? I'd think you'd need to make the profile trapezoidal versus triangular, then set the top to the size of nozzle you're using. I'm no expert, though.

This is dependent on the slicer and the nozzle diameter. Typically, you cannot print a wall smaller than twice the nozzle diameter because walls need an inner and outer line. Therefore, your slicer will make some cutoff and won't print walls below a certain threshold, in order to try to faithfully replicate your model.
Slic3r, I believe, will automatically go down to single line walls, but if you turn on "Detect thin walls" in Slic3r's Print Settings, more of the thin walls will be printed. Slic3r will actually reduce the plastic extruded to attempt to make even thinner walls, but there's still a limit.
With a 0.4 mm nozzle, you should design walls no smaller than 0.8 mm, or 0.4 mm at the very smallest.

The absolute minimum a slicer will allow existing in a g-code is one extrusion diameter, which is typically roundabout a nozzle diameter. So for a standard 0.4 mm nozzle, the model will be cut in a way that keeps at least 0.4 mm thick walls, or, if the slicer is extra careful, double that, as the model demands 2 walls next to each other. The result is, that the model with such sharp walls will be cut till the model does conform to the minimum wall thickness - in your case about half the height of the model.
I strongly encourage to further read What special considerations must be taken when designing parts for 3D printing?


text:
Ender 3 extrudes plastic whilst at standstill, and while moving to start of print
I have a small problem where plastic comes out of the nozzle while the printer is at a standstill (normally towards the end of heating the nozzle for a print), and whilst it moves from the line for clearing the nozzle on the left of the bed (Cura) before the actual print starts. This causes a slight problem where the first few millimetres of the printed line curls upwards when the nozzle comes back around again it goes over it but it causes a slight bump that makes a very small (but noticeable) skip or bump in the print on the bottom layer.
I am using the Ender 3 running Marling 1.1.9 with a Bltouch and a glass bed, I didn't seem to have this problem before I upgraded to the glass bed and Marlin for the Bltouch.
Any help will be greatly appreciated.

basics first
The viscosity of plastic is temperature dependent: the warmer it is, the lower it gets and thus the more "runny". The lower the viscosity is, the less force is needed to move it.
In printing, a pressure is applied to the filament from the extruder. Pressure is the force by area, thus for our look pretty much the same: the extruder exerts a force on the filament, to overcome the viscosity keeping it in the nozzle.
A secondary effect is, that heated material expands, depending on what kind of material is in the nozzle.
what happens
The whole problem starts with shutting off the printer after the print: as the filament cools it shrinks. As the motors are turned off, the solidifying and shrinking plastic pulls at the filament. The filament can change its location or be pulled a little through the extruder, keeping the space quite well filled without cavities. Bowden style can change the mere filament path a little to compensate some of the shrinkings by shifting its path from hugging the outer wall to doing the same on the inner wall.
As you start to heat up the printer, there is no force applied on the filament from the extruder to push it out of the nozzle. But when you shut it down, there was some filament in the nozzle.
The filament melts and its viscosity drops, but at the same time, it expands. The extruder does not yet apply force, but as the material expands, it pushes against the filament stuck above it. Newton's 3rd law is the iconic Actioni contrariam semper et æqualem esse reactionem or as we know it short: Actio = Reactio, the force you exert in one direction equals a force applied in the reverse direction. Thus, the expanding filament pressing back against the extruder also exerts a force against itself down against the nozzle. The same is true for the nozzle, but the nozzle has one difference: it has a hole, where the forces are bundled to force filament out.
At some point, the force from the expanding filament is big enough to overcome the viscosity keeping the filament in the nozzle and it oozes out.
fixes
There are several ways to fix this in slicing, but I prefer the end-code method.

Modify your end code to provide space in the nozzle while it is still hot. Simply add G1 E-3 F1800 to retract quickly at the end of print. F1800 is rather fast.
Modify your start code could help in preventing very runny filaments from oozing, but you usually need to zero the extruder first with G92 E0 and you might also need to allow negative values with G1 S1. This isn't usable in all firmware versions, but one can use G92 E3 to set it to 3, then extrude, then 0.

Example End Code
Watch line 2. This is what prevents my Ender 3 from oozing in the first place
G91 ;relative position set
G1 F1800 E-3 ; Retract 3 mm to prevent oozing on startup
G1 F3000 Z10 ; Move up 10 mm to clear the print
G90 ;absolute position set
G28 X0 Y0 ; home x and y axis to clear the print
M106 S0 ; turn off part cooling fan
M104 S0 ; turn off extruder
M140 S0 ; turn off bed
M84 ; disable motors

Example Start Code addition
This is just a snippet that forces retraction at the start, once the filament is hot. it WILL though make the first three millimeters of push come empty, thus should be combined with a cleaning that uses more than this - check out Writing G-code : swiping at start of print for better nozzle priming.
G92 E3
G1 E-3 F1000
G92 E0

This effect is called oozing. At the end of heating up the hot end, left filament becomes so liquid that it oozes out of the nozzle. This left filament could be a left over from the previous print where an insufficient retract prior to the last print finish causes this (you could retract the filament a little further in your "end G-code" script, first reset the E to zero G92 E0 and then retract G1 E-3 F1500, be sure that the priming length in your "start G-code" takes care of this distance).


text:
Anet A8 won't print properly
I recently bought the Anet A8 from Gearbest. Everything so far seems in order, but one big problem.
No matter which filament I used (PLA and ABS), the result is always like this:

In the picture there are the PLA and ABS I've been trying to print. What I tried to actually print is a simple arrow.
One of the things that caused it was manually trying to push the filament, because the extruder gear doesn't really push it. It doesn't seem like it's stuck, but it just won't move. Then I move it manually, it does this.
I have tried different methods for the gear to push it and different printing temperatures (first the presets, then PLA 190°C / ABS 240°C) but it does the same thing.

Welcome to 3dPrinting.SE!

What temperatures have you tried at the nozzle?

Help us help you! We often need to know extra information, in this case: What is your nozzle temperature and have you leveled your bed? The effect you get is sometimes called "spaghetti" by makers.

Thank you very much. At first I didn't change the setting of the heat, then tried 190° and 240°. The only thing that showed difference is the smell. As fpr the bed, I didn't touch the setting (And not really sure how and what).

did you Level the bed? check https://3dprinting.stackexchange.com/questions/470/bed-leveling-method?s=2|38.8574 - you might have jsut too much distance between the print surface and the printhead, resulting in 0 adhesion. To check: home your printer, then order a move of ca 30mm on X and Y and take a picture from the front of the printer with a white backdrop.

because the extruder gear doesn't really push it. It doesn't seem like it's stuck, but it just won't move.

It looks like stepper issue.

Did you check stepper connections? Maybe there is a loose wire?
Maybe your extruder is assembled incorrectly? Please check google images to see how extruder should be assembled and/or give us some photos of your extruder.
Maybe your printer is setup wrong, there is small potentiometer on mainboard which sets stepper current, I had problems when it was rotated slightly too far. Try commanding your printer to extrude slowly for several seconds and in this time turn pot at least one time (it wraps around) until it starts to extrude (do not move printhead during this, turning this pot WILL make motors skip and crash into home/end). If you don't have problems with other motors, this may not be your issue but is worth checking.
Try homing your axes first, sometimes after startup motors won't work correctly until homing axes.
Try pressing reset once after starting printer.

How to find that pot? It's just to the side of capacitor which is near "Z-Motor2" connector.

authors: Алина Черемных


text:
Pneumatic clay cylinder for Clay 3D printing
I want to create a Pneumatic cylinder, The purpose is, Inside it will will contain a Nylon piston, and one end will be filled with clay. Cylinder will be closed from either side using end caps, which also has Push-in connectors(1/4" BSP). Compressed Air from a cylinder(Max. pressure of Cylinder 10 Bar) will be given to Piston side through a Non return valve and a Regulator. Which will push the Clay out through other end. It is for my Clay printer. Hope anyone here have some background with these kind of system
What should be the Wall thickness of Cylinder? It should safely handle Maximum pressure that might arise.
I have already provided a Safety valve calibrated at 6 Bar in my prototype that I made from a GI water Pipe, which has thickness of 3.85 mm. Is there any way the pressure inside the tank could reach a pressure higher than the maximum pressure Compressor can deliver (Compressor is rated for 10 Bar, with cutoff at 8 Bar)
I'm thinking about making the cylinder using a 100 x 5.75 mm Aluminium Pipe and End caps from Aluminum Rods with wall thickness of 10 mm. Would this be enough?
Should I give more thickness for End caps than cylinder?
How to find the maximum pressure rating of the cylinder if material, Wall thickness and diameter are known?

authors: فارس بن لسلوم


text:
How to paint ABS to look like wood
I have a piece printed in white ABS, which is a half-scale replica of an unvarnished oak sculpture. After sanding off the worst of the layer lines, I'd like to paint it to get a nice wood finish. I believe that most hobby paints should stick fine, but how should I paint it to get a nice oaky appearance? Should I do layers of different colours? Will I get better results with spray or brush paints?

I'm voting to close this question as off-topic because this is unrelated to 3D printing.

The artistic methods used to create artificial "wood grain" patterns on plastic objects are reasonably well-published, albeit not in 3D printing forums.  I would look around various "art" or "home crafts"  or "furniture finishing"  websites for information.

I found step-by-step instructions on Instructables specific to 3D-printed parts. In summary:

Sand and brush with acetone for a smooth finish (I guess the acetone vapour treatment would work as well.)
Prime with plastic primer
Spray-paint with a satin, nutmeg-coloured base coat
Add grain with darker, acrylic paint using a fine brush

authors: Наталья Кравченко


text:
Tronxy X5S losing steps during print
This is my first printer, a core xy (Tronxy X5S) printer, and it is losing steps during diagonal movements. The curious thing its that fail is even, I've printed 2 calibration cubes and they are almost equals:

When it lose the step, you can ear a "toc" sound, as in this footage at 3s: https://youtu.be/aRJB--QBMC4 This is my realy first print, and I don't have much experience with 3d printing, thanks in advance for any information!

You turned down the print speed, but did you try to turn down the travel speed? If your printer is over extruding your infill will slightly stick up past the layer. When your print head travels across them it can skip steps. The reason that it happens at the same spot is that is where you have a long fast travel in the gcode that is sending it across your infill layers. Try calibrating the extrusion multiplier and or turning down the travel speed.

@PerplexedDipole you helped me a bit, i really changed all the speeds, but forgot to re-slice the object, at a low travel speed the problem don't occur, but this was not the root of the problem

I had the same issue with my X5S when I first got it assembled. Because it's CoreXY, if one pulley slips, you'll skip steps in the diagonal. Check both set screws on your pulleys for the X and Y.

Perhaps my belts appear to be equally stretched they aren't, so I highly recommend a tensiometer (like this: https://www.thingiverse.com/thing:2230598) to be sure that you have both belts equally stretched.

This was the main problem, but also a lot of misaligment (motor pulleys, idle pulleys and belt position) was helping the problem to occur.


text:
Filament long term storage
I was noticing on a print I had just done that the quality was not up to typical snuff. I had just started using a roll of PLA filament that I had been keeping on a shelf without a wrapper for a couple months. How long can you store filament before it gets too hydrated from the air to print? I expected more than a couple months but perhaps I am wrong?

Welcome to 3DPrinting.SE! What type of filament are you talking about (ie: PLA, ABS, etc.)? Each filament is going to be different. Was the filament left open to the air or did you have it contained somehow?

Different filaments have different (sometimes extreme) requirements, especially for humidity. Please specify what materials you are talking about.

Sounds like a duplicate of : https://3dprinting.stackexchange.com/questions/6982/which-filaments-actually-do-need-to-be-stored-in-a-drybox

@user77232 That particular question asks about which types need to be stored, this question is how long you store it outside the container until it is affected by moisture. It is just a subtle difference though :)

In theory, most filaments don't go bad within a year. However, praxis shows, that averse conditions can impact the filaments over time and age them to unusability.
Among the damaging factors is heat, but most filaments also are hygroscopic and absorb water to some small degree, or even heavily like Nylon.
As a result, it always a good idea to at least try to store filament dry. To enforce this, some use racks in a well-heated room, others are blessed with very dry weather overall. And on some locations, like the coast, you might even be forced to use dryboxes for each and every filament to try to slow the degradation of steady hot humid air leaching out the additions from the filament.
Dryboxes can keep the filament reasonably isolated from the surrounding air and so prevent moisture interacting with them to some degree. It is also a good idea to store them out of direct sunlight, as UV light might destroy color and/or the plastic. More information on why to use them is for example at this question
A couple construction videos using an IKEA box and a bit of foam were offered by Tom (Thomas Sanladerer) and CNC Kitchen (Stefan Hermann) in 2017.
But fear not: most filaments - PLA included - can be freshened up again if the damage is not to prolonged! Baking them at a low temperature or storing them in a dehumidifier has worked in some climates. For PLA, keep the temperature at below 80°C. A couple of hours should get some the moisture that has seeped in out again. The Quality might not get back to that of fresh filament in all cases, but you might at least regain reasonable to good printability.
Also note, that different filaments are differently affected. ABS for example is a little less hygroscopic than PLA, while HIPS is one of the least hygroscopic filaments available.

The answer is that it depends on the climate you are in or the climate in your house. The more humid, and the higher the temperature, the faster the moisture is taken up in the filament (note also that 40 % RH on a warm day has much more moisture in the air than 60 % RH on a cold day).
I have obtained a spool of filament that has been left in the garage for a few months, this spool has taken up so much moisture that it has become very brittle (unspooling will break the filament). Note that once the filament has taken up moisture, you could de-hydrate it, but it will never reach the same properties anymore as the moisture will change the molecules (shorten them), once broken they will not fuse by hydrating. It will however get rid of the water content so that there will be no steam bubbles when you print the filament.
Note that there are many types and brands of PLA, each with their own formula. The quality of the PLA has improved much over the years, implying that the moisture intake also depends on the brand and time of purchase. It is therefore very difficult to answer your question with a specific time frame, it could be months, but it could also be a week.

My largest printer is located in a room where occasionally laundry is being dried, and although there is only a little ventilation, the large spools of PETG do not take up the moisture of the laundry. Basically, the moisture saturation is also depending on the type of filament.

I expected more than a couple months but perhaps I am wrong?

It depends on the filament, the shipping and the local conditions. I'm on an Island, so very high humidity.
We have several useless spools that never worked out of the box. They were shipped seafreight from China and had a couple of months journey. Only 2 spools out of 10 were useable.
With other filament seafreighted from Australia for 3 weeks filament here seems to last about a month at best, with 4 days being the lower limit so far. This is despite being kept in an airconditioned room most of the time.
We have had limited success with drying them out.

PLA or something different? It might possivbly be easier to swap to ABS, even if that is smelly - ABS is to my knowledge less hygroscopic.

@Trish the Chinese shipment was both PLA and ABS, the other was just PLA. Waiting on PETG right now with fingers crossed.

were the 2 good spools PLA or ABS? PETG is also hygroscopic, somewhere between ABS and HIPS as my sources tell me.

One good PLA and one ABS, but thinking about it, there is an unopened ABS somewhere as well. We're airfreighting the PETG, so hopefully it works out for us, postage is more than the filament though.

I suggest trying to test the ABS, and if one spool is still good, dedicate any yet unopened to "emergency stocks", maybe the rolls are still good. Airfreight... you might want to check the seal of the bags.

@Trish Not terribly worried about it. Last shipment was ok for a few weeks. Thats all we need, as soon as a roll is opened we'll pump through it. I only know the filament goes bad because I tried printing the odds and ends of filament when I ran out of PLA.

Generally, as long as the bag is well sealed, it is often good, unless it was manufactured badly. But if you go through a roll within a fortnight, and that's your "shelflife" of an open spool due to conditions, it's somewhat good. Have you ever tried to vacuum-seal an opened spool? That might prolong shelflife too. IIRC you have high humidity, high-temperature tropical conditions year-round, yes? That is among the hardest conditions I can think of aside from dedicated destructive lab testing.

@Trish na, don't want to get complicated, we're just going to print full on once a roll is opened.

Usually the best way anyway, but for specialty materials. I printed TPU recently, but not the whole spool, and the next time I will use that is at least months away (the school that I made the parts for is in holidays), so I am actually storing it in a bag in a box to try and keep it as fresh as I can, though climate here is not as deadly to filament

To answer your question: it depends on the relative humidity. Generally, a few weeks in a semi-arid environment. But, it'll still print really well. If you're looking for really tight filament diameter tolerances, a week or even less could change the diameter .001 or more if there is moisture in the air. I've used PLA that has been exposed to air for a few months and it's been fine, but with small issues.
If the filament has absorbed too much moisture, you'll typically hear popping coming from the hot extruder as the water is burned off at the nozzle. Sometimes steam comes out of the nozzle when printing as well with "wet" filament. Usually, you can still get great results even if it has absorbed moisture. If the filament diameter has been affected significantly, (if it jams, or the water keeps the plastic too cool when it's coming off the nozzle) you can dry it out in an oven for a few hours like @trish suggested. I keep my filaments in a plastic bag with desiccant inside a big storage bin. Probably overkill but my water softener is in the same room and introduces moisture to the air, and my a/c blows right at the setup.
Dust is probably worse because it can accumulate much faster and cause jams.
source and reading
https://www.fusion3design.com/the-importance-of-properly-storing-your-3d-printing-filament/


text:
Can the filament tube be outside of the nozzle?
I bought a few new nozzles expecting them to come with that little tube that comes out of the nozzle. They didn't come with them after all, so I tried to reuse the tube I originally had in the printer. Turns out my old tube is 4mm OD and 2mm ID, but the new nozzles have 2mm holes for the tube to go in. I use 1.75mm filament, so it seems like to be able to fit the filament through the tube would be impossible barring a tube with an 0.125mm wall.
My question is, can I put the tube outside of the nozzle? That is, not stuck in the hole for the nozzle. In theory, the tube would still direct the filament into the right place. It looks like that might be the point of these new nozzles, since it seems so unlikely that someone would be able to stick a filament tube in the nozzle.
If not, where can I find the tubes I need? I've looked in a few different places and I can't find it. Or are the nozzles useless, and should I return them? Thanks for the help.

Welcome to 3DPrinting.SE! What printer do you have?

Just a cheap copy of a MakerBot Replicator. It prints really well, though, and Im happy with it. Any suggestions?

To answer your question directly, the PTFE tube (or a separate thin walled PTFE tube for the bottom part of the heatbreak) generally always is outside the nozzle, so yes (unless you have an all-metal hotend, then there is no PTFE tube up to the nozzle). But as read from your question, your setup has the tube included inside the nozzle (this is described in more detail below). However, you can change the nozzle for one that does not have the PTFE tube go into the nozzle but rest against the nozzle provided you can find the correct sized nozzle/tread for it.
The nozzles your printer uses are non standard nozzles that are featured on a few printer designs. It is called an "MK10" nozzle, but there is no such thing as a standard "MK10" nozzle. Different designs of the "MK10" nozzle exist. Originally, the "MK nozzles" are the creation of Makerbot; an excellent post found in this thread (all credits for the MK history go to user "vermon") discuss the development over time of the "MK" nozzles. An answer based on this posting is found here.
The nozzle your printer has is slightly larger than normal nozzles. The CEO of ToyBuilder labs explains the difference between an "MK10" and an MK8 in this video. Take care of the thread size of such nozzles, the "MK10" uses M7 threads, while M6 is more common!

As explained in this answer, the use of the PTFE tube inside the nozzle is questionable. The heating zone in effect is reduced to the tip of the nozzle. The heat transfer from heating element, to heater block to nozzle is only possible because of the enlarged design and the flange that give extra surface area for heat conduction to take place. It is not expected that such nozzles are able to print optimally at high speeds.

Let me clean up a little nomenclature
The PTFE tube is either a Bowden Style Setup delivering the filament from the extruder down through the cool-end and to the heatbreak or just a liner in the cool-end and heatbreak for direct drive. In both cases they are to prevent clogs. In most setups it is not pushed into the nozzle which is in the heater block (they exist, see below).
The liner/Bowden tube guides the filament through the heatsink and into the proper Hotend/Meltzone. In the better designs intended for higher temperature like ABS (see left half), it ends in the heatbreak. This also has the added benefit of having less chance to leak if the tube slips a little bit.
Simple setups (see right half) butt it against the nozzle and thus limit the temperature range. This kind of butted setup can lead to leakage if the tube slips up. In either case, it is no problem to reuse the PTFE tube when changing nozzles, it is even advisable in the case of a Bowden setup as it might change the length of the path.
The nozzle is usually screwed into the heater block from below, and for best use, one screws it against the heatbreak in a heated state - this is called hot-tightening.

If you somehow end up destroying your PTFE Tube, you can get them under the keyword PTFE tube, Bowden tube or Pneumatic PTFE tube on the internet.
PTFE inside the nozzle?
Yes, these exist, OP has them, they look like this, and are not what has become the industry standard.
I can think of no good reason to put an PTFE Sleeve into the nozzle, but someone did it, and it sis a valid approach. However, I see several problems with it:

the PTFE tube degrades if pushed deep into the melt zone and can lead to clogs.
the added PTFE is not a very good at transmitting heat, thus reducing the effectiveness of the melt zone. This can lead to needing either much lower printing speeds or a much higher printing temperature to achieve good prints

It should be of no issue to convert from this style into the butted-style (right) just by using a short length of PTFE in the heatbreak. I would prefer though to combine it with a heatbreak where the PTFE ends and making this what is commonly referred to as an "all metal hotend" (left).

Good answer. For some reason I kept reading "heartbreak" instead of "heatbreak" ... argh. :o)

Uh... no. It's a small tube inside the heater block that slips INTO the nozzle. It's how it came, and it's been working with no issues. The tube isnt destroyed, it just doesn't fit into the new nozzle. To clarify, this isnt the same tube that delivers the filament from the spool to the extruder setup.

@Trish There is actually a heatbreak/nozzle design that has an extended PTFE tube that goes into the nozzle, although strange it does exist, I stumbled upon this a few weeks ago. I'll try to find a reference.

Take a look: https://imgur.com/a/U0F5zTa https://imgur.com/a/I4uxpAR This is an old nozzle I replaced from this printer. This is just how it works, and given it's my first printer I don't know any better. Are you telling me the tube was supposed to be outside of the nozzle in the first place?

@JadenBaptista It should be in in your particular design, it is just a different design. Usually it is outside, that is what Trish is referring.

@JadenBaptista I corrected myself, referenced your picture: i would just convert to the butted style, as this setup comes with some problems (mainly a much shorter meltzone and degrading the PTFE liner) that the other types prevent.

@JadenBaptista my main point is, that the "liner in nozzle" setup makes more problems than it is worth. On the other hand, I am an avid fan of the e3d setup for it allows a huge range of materials

Yes, you can use a direct drive hotend with a bowden tube, but it won't just plug together. You just need a way to secure the end of the bowden tube to be centered above and as close the the hotend mouth as possible. In a pinch, you can spin a 4mm nut onto the tube and secure it down against the hotend mount with zipties, otherwise I would print a nice bracket.
It may be more prone to jam on filament swaps than a proper bowden configured hotend but it will work fine in normal use.
Edit, I was under the impression you were speaking of the bowden tube between the extruder and the hotend, not the liner inside of the hotend.

This is a very interesting/useful answer, but I think that it answers the wrong question :-) Do you want me to leave it as an answer (which may well get downvoted), or should I convert it to a comment, or do you want to (unfortunately) delete it?

May as well delete it.