text:
Is a heated bed an essential component for printing (difference between Creality Ender 3 or Anycubic Mega Zero)?
I have two options - to buy either the Ender 3 or the Mega Zero. I'm heading towards Ender 3 because the Mega Zero doesn't have a heated bed.
My question is, how is a printer without a heated bed (the Mega Zero) a better option than one with a heated bed (the Ender 3)?
Why would I even consider buying a printer without a heated bed when the Ender 3 can do the same things and has a heated bed? I want be able to print not only PLA but other materials as well. Doesn't the Mega Zero limit you to using only PLA?

Lack of a heated bed does not necessarily limit you to using PLA. I would say (among those I've used) the material that's least sensitive to whether you have a heated bed is probably TPU. Depending on your model, it can even be hard to print PLA without a heated bed, unless perhaps you're willing to use a brim or raft. Printing ABS or ASA without a heated bed is almost certainly out of the question, and PETG might be possible, but I'd expect it to be difficult.
Mechanically, the Anycubic Mega Zero looks very similar to the Ender 3. The claimed bed size on the Mega Zero is slightly smaller (220 mm vs 235 mm) but they might just be counting the usable part.
The only possible objective advantage to the Mega Zero I could find is the double gear extruder, which may help with printing faster or flexible filaments.
Presumably you could add a heating element to the bed if you want.

I used to print PLA with my heated bed turned off, since it was deforming when heated.
It works perfectly fine, only detaching the print was terribly difficult.
I would not buy a printer without it, because even a weak bed reaching only 50°C gives you many more possibilities.
I mean, you could use it to keep your coffee warm while you work at the computer, or to warm up chemical solutions to make them react faster. You can also use the bed to shake the solution!
Go for a heated bed.

"Coffee heater" must be the most original use of the heated bed :-)


text:
I have bad print quality, what should i do?
So I have an issue, every time I try to print anything it basically looks like a comb. All around the model there are just holes and holes everywhere. I dont know what to do about it. I don't have any infill, but honestly, this is just all stacked ontop of itself, so it shouldnt need to be filled in.
Please help me figure out how to make sure that the layers are actually layers, not just sticks standing up into the air.

I hope you have a better image to show us, but what you describe could be massive under extrusion, the kind you get if you slice with 2.85 mm filament while you print with 1.75 mm.

@0scar I added a new picture. Do you believe that its under extrusion still?

@Ka_Ekim: Your problem looks like exactly what 0scar said. Not sure which slicer you're using, but it can be hard to get Cura to accept that you're using a printer with 1.75 mm filament rather than 2.85 mm,even though 1.75 is so much more common and arguably much better, because Ultimaker's printers use 2.85...

The images that you show are typical for heavy under extruded prints. The "comb like structure" is caused by extrusion of too little filament which balls up to a certain point in time that it sticks to something previously printed, then balls up again, etc...
Under extrusion can be caused by many things, but this much is usually caused by an incorrect filament diameter set in your slicer. But, it can also be caused by a mechanical (or electronic) defect like a slipping extruder caused by a loose gear or missing steps.
I'm operating 2.85 mm and 1.75 mm 3D printing machines (both have pros an cons) and occasionally I've experienced exactly the same results (you call it a "comb" like print). E.g. the slicer Cura (Ultimaker software product) is known/used to be known to reset the filament diameter to the default of 2.85 mm after an upgrade of the software, which is the filament diameter used by Ultimaker printers.

If you add more details to your question, we can tailor the answer to your specific issue, but it certainly is under extrusion.

I have not had a chance to run any test prints, but yeah, Cura was using the wrong diameter, so now that that is fixed i hope all goes well. Thank you so much for all your help!

source: Stack Exchange

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

sort: votes


text:
CR10 V2 under extruding and heating up too quickly
The heater cartridge on my CR10 V2 broke so I ordered a new one(12V). After replacing it the new one heats of very quickly past the target temperature and the slowly decreases to the target. Once it hits the target temp it goes up and down by 10 °C or so during prints. During the prints there is under extrusion. I read that if the filament gets hot too high up the hotted it could cause clogs. I replaced the nozzle as well and cleaned out everything.
Some things that I think may have an effect:

Could the new heater cartridge not be compatible?
does a poor solder job with heater cartridge wires have an effect
It's possible I messed up the thermistor when replacing heater cartridge, could that explain whats happening?
Is there anything else in the hot end assembly such as fans that would cause this?

Did you buy one for the correct voltage? There are 24 V and 12 V cartridges, this sounds as if you bought a 12 V version or one of larger power? The CR-10 V2 uses 24 V. Please explain what you ordered.

I did order 12V heater cartridge, wasn't sure which one the printer needed. I will try ordering a 24V one and see how it goes. Thank You!

This sounds as if you have bought an incorrect heater element, e.g. one for 12 V instead of 24 V. The CR-10 uses 24 V. The 12 V cartridge has a lower resistance, so when powered by 24 V, the current is much higher and therefore also the heating power ($ {(\frac{24}{12})}^2 = 4 $ times higher). For details on the calculation, the this answer on question: "PID autotune fails 'Temp too high' with 12 V heater cartridge but works with 24 V?". This makes the hotend heat up very fast resulting in a large overshoot. You need to replace the cartridge for one for 24 V.

Note that I recently experienced exactly the same problem by mixing up the cartridges see this answer.

funny I have the opposite worry, I have a CR10s5 and relaxed the whole hot end with the CR10v2 one and now I get a thermal error at 170 degrees and it shuts off, should I just replace the cartridge, or do I need to replace the fans tooo

Hi, @Dominic, and welcome. Please take the tour, and please ask new questions as questions, not as answers to other questions.

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


text:
Temp Tower Setup Troubles -- Slic3r (How do you format G-Code {if} statements?)
I watched with great interest this video: Temp Tower - Slic3r Gcode Placeholders - How To - Chris's Basement -- Jan 23, 2019    Chris Riley
I found a model I'm happy with: Smart compact temperature calibration tower by gaaZolee, December 24, 2017 Uses Layer 0.20 mm  infill: 15 %
I'm testing a stubborn new spool of PLA.  Temp range of test 225 °C to 180 °C.  That model above came with recommended ifstatements.  I verified that with 100 % thickness on first layer, I'm exactly hitting all the Z targets at exactly the correct place for each temperature story on the tower.
I'm using the Slic3r "Printer Settings" tab - to place my if statements in place at "Before Layer Change G-Code".
It's not clear to me on the format required for a G-Code {if} statement.  I've tried...
{if layer_z == 7.8}M104 S225{endif};   // fail, this converts to: M104 S225 {endif}
{if layer_z==1.6}M104 S225             // fail, this converts to: M104 S225
{if [layer_z]==1.6} M104 S225          // fails, this converts to: (null)
{if [layer_num]==8} M104 S225          // fails, this converts to: (null)
{if layer_num==8} M104 S225          // fails, this converts to: M104 S225

In detail what I'm seeing is the if statements from all ten towers prints as change temp to 225, 220, 215, 210... down to 180 (last entry) and 180 °C is where ALL my prints get printed at.  Total Fail.
I'm just not seeing anything in the Gcode output from Slic3r that remotely looks like an if statement.  Any ideas here?  I've seen this reference, on advanced conditional G-Code but I'm just not understanding what to do here.
I do see from Slic3r Custom G-Code Placeholder Reference, that I'm using the correct terms.   [layer_z] - Z height of the active layer, and [layer_num] - Integer number of the active layer. It's not clear if their use in "Before Layer Change G-Code" require the square brackets or not.
Any clues on how to get an if statement into G-Code via Slic3r for a temperature tower print?

So I think I figured this one out.  I was looking at it a bit wrong.  And here's my code:
; Note to self:  layer_z = [layer_z]
; T tower floor 1
{if [layer_z]==1.6} M104 S225 T0
; T tower floor 2
{if [layer_z]==11.6} M104 S220 T0
; T tower floor 3
{if [layer_z]==21.6} M104 S215 T0
; T tower floor 4
{if [layer_z]==31.6} M104 S210 T0
; T tower floor 5
{if [layer_z]==41.6} M104 S205 T0
; T tower floor 6
{if [layer_z]==51.6} M104 S200 T0
; T tower floor 7
{if [layer_z]==61.6} M104 S195 T0
; T tower floor 8
{if [layer_z]==71.6} M104 S190 T0
; T tower floor 9
{if [layer_z]==81.6} M104 S185 T0
; T tower floor 10
{if [layer_z]==91.6} M104 S180 T0

The key to understanding what is going on is the ; Note to self:  layer_z = [layer_z] line.  The whole block of code above gets repeated for every layer of the print in the G-code, but it gets evaluated.  And when I search for "layer z =" and scan thru the code.. I eventually see this...
; Note to self:  layer_z = 1.6
; T tower floor 1
 M104 S225 T0                  <---- Yowza. Nice.
; T tower floor 2
; T tower floor 3
; T tower floor 4
; T tower floor 5
; T tower floor 6
; T tower floor 7
; T tower floor 8
; T tower floor 9
; T tower floor 10

and then again:
; Note to self:  layer_z = 11.6
; T tower floor 1
; T tower floor 2
 M104 S220 T0           <---- Yes!
; T tower floor 3
...

All good. You have to have {} and [] within the code statements...
Addendum:  So it turns out things are not quite perfect.  I'm noticing at the upper floors, where things should be cooler, the temperature isn't changing.  Its locked at 215C.  I see this in the code:
; Note to self:  layer_z = 31.5999999999999      <--- not sure how that happened.
; T tower floor 1
; T tower floor 2
; T tower floor 3
; T tower floor 4
; T tower floor 5
; T tower floor 6
; T tower floor 7
; T tower floor 8
; T tower floor 9
; T tower floor 10

31.6 would have triggered a temperature change.  31.5999999999999 won't do it. I need to modify the {if... == } to a complex test between two values...   Just wanted to share that observation here.
I do see from this reference that

Expressions may be chained for an implicit AND:
{if [layer_num] == 10}{if [temperature_1] != 210}M104 S210

And this seems to fix it:
; Note to self:  layer_z = [layer_z]
; T tower floor 1
{if [layer_z]<=1.65}{if [layer_z]>1.55} M104 S225 T0
; T tower floor 2
{if [layer_z]<=11.65}{if [layer_z]>11.55} M104 S220 T0
; T tower floor 3
{if [layer_z]<=21.65}{if [layer_z]>21.55} M104 S215 T0
; T tower floor 4
{if [layer_z]<=31.65}{if [layer_z]>31.55} M104 S210 T0
; T tower floor 5
{if [layer_z]<=41.65}{if [layer_z]>41.55} M104 S205 T0
; T tower floor 6
{if [layer_z]<=51.65}{if [layer_z]>51.55} M104 S200 T0
; T tower floor 7
{if [layer_z]<=61.65}{if [layer_z]>61.55} M104 S195 T0
; T tower floor 8
{if [layer_z]<=71.65}{if [layer_z]>71.55} M104 S190 T0
; T tower floor 9
{if [layer_z]<=81.65}{if [layer_z]>81.55} M104 S185 T0
; T tower floor 10
{if [layer_z]<=91.65}{if [layer_z]>91.55} M104 S180 T0

What firmware are you using that evaluates if statements, please?

Firmware?  I’m not sure I understand the question. I’m creating G-code using Slic3r, then inspecting the code using Atom, a piece of coding software from the folks at Github. And as for temperature problems, I’m watching the temp display as the print proceeds. Obviously something was wrong.

I'm asking what firmware, what flavor of processor on your 3d printer, is receiving this code and making these evaluations? When you set your slic3r recipes, what do you select  - repetier, marlin, sailboat, windchime, something else?

Sure,  All of those details are contained here.  It's a an older MakerBot Replicator clone, actually a Flashforge Creator 1.  Firmware upgraded to Sailfish. Start/end gcode settings see link above.   Set recipes? not sure I understand what you are asking.  Question.. why are you asking?  What part of this answer makes you curious?  (or is it the odd 31.5999999999999 value?)

Thanks. If you look at https://manual.slic3r.org/expert-mode/printer-settings you'll see that your Printer recipe includes a setting for what firmware you're using.

Slic3r --> Printer Settings --> General --> Firmware, G-Code Flavor: Sailfish Makerbot   .

authors: Олеся Лучкова


text:
My 3D model is printing with missing parts when sliced in Ultimaker Cura
I have been working hard the last year on the model below. I am new to everything 3D that is modeling and especially 3D printing. I have however successfully concluded quite a good number of 3D prints which I created in blender with my Creality Ender 3 Pro so I have a bit of experience.
All this new experience for me started with the desire to do this project I have been working on for all this year. A complex 3D model of a knight's tomb which I would like to print.

As you can see Cura is clearly indicating that there is a need for supports in these red areas. The model will be printed in a 15 cm size. I have also managed to resize the model from a 22 million face mesh full of holes to a 900k manifold model.
However, when I slice it I get this.

As you can see supports are only generated for the outer column part. None are generated for the arches which are totally absent when the model is sliced.
I have tried to alter the model's orientation but with no result. I will try to separate this mesh in parts but it would mean restarting all from scratch since I found no good software to slice it precisely.
I am quite sure that the main problem lies in the fact the Ender 3 pro is an FDM printer an that the vertical lines of the arches are too thin.   Since I tried to upload my model on 3D printing services to see if it could be printed in other materials and could be printed in finely detailed resin.
I would like at least to know if I am right in my problem spotting or if there could be any solution to the present problem so that not to go wrong if I will redesign this part.

If the pillars of the arcanes are at least the width of the nozzle of your printer (typically 0.4 mm) it should be printed. You could buy, mount and slice for a smaller diameter nozzle, e.g. 0.2 mm.

You can slice for 0.2 mm line width (just for outer walls) even with an 0.4 mm nozzle.

You can, but that does not make sense to print it. Your method will show the pillars if they are smaller than 0.4 mm though :-)

the problem is partly that the top of the arcs has not enough material above.

There's a setting in Cura to Print Thin Walls. It's turned off by default, and IIRC correctly there's a good reason it's off by default. But for this item, you should turn it on.

Update
Looking again, I see this is vertical, so I'm not sure how well this setting will help. Even if it does create the gcode to include the walls, this would be a tough print. If possible, you may want to rotate this 90° for printing, though I also see the gap on the right that would become a long bridge.

Why there is no support on the top is, that the top of the model, over the gothic arch, has not enough thickness to have any layer laid down there. Because it is too thin, it gets omitted. However, since the area that needs support is only very very small, this area technically doesn't need support and could be printed with bridging alone. Yet, you need to add at least 1 layer thickness to the height of the model by extruding the top surface in blender to make this area printable.
Another way is to knock down the layer height.


text:
Automatic bed leveling probes outside of bed despite NOZZLE_TO_PROBE_OFFSET
I just changed the motherboard of my CR-10 mini printer to an SKR 1.4 and installed Marlin 2.0.x on it. Everything seems to work except for the automatic bed leveling. I’m using an EZABL probe.
The probe is mounted to the left and slightly in front of the nozzle. Therefore I have set the probe-nozzle offset in Marlin as:
#define NOZZLE_TO_PROBE_OFFSET { -45, -12, 0 }

When I run automatic bed leveling with G29 the nozzle moves to a position where the sensor is outside of the bed (but the nozzle is inside the bed). And then it crashes down into the bed with the nozzle because the Z endstop is never triggered.
To debug I used the DEBUG_LEVELING_FEATURE in Marlin and ran G29 from Pronterface. This is what I got:
SENDING:G29
  current_position= X140.00 Y90.00 Z5.00 : >>> G29
Machine Type: Cartesian
Probe: FIX_MOUNTED_PROBE
Probe Offset X10.00 Y10.00 Z0.00 (Right-Back & Same Z as Nozzle)
Auto Bed Leveling: BILINEAR (disabled)
  current_position= X140.00 Y90.00 Z5.00 : Probe::set_deployed
deploy: 1
Probe::move_z(5.00)
>>> do_blocking_move_to X140.00 Y90.00 Z5.00
<<< do_blocking_move_to
reset_bed_level
>>> Probe::probe_at_point(30.00, 30.00, raise, 0, probe_relative)
  current_position= X140.00 Y90.00 Z5.00 :
>>> do_blocking_move_to X20.00 Y20.00 Z5.00
<<< do_blocking_move_to
  current_position= X20.00 Y20.00 Z5.00 : Probe::set_deployed
deploy: 1
  current_position= X20.00 Y20.00 Z5.00 : >>> Probe::run_z_probe
  current_position= X20.00 Y20.00 Z5.00 : >>> Probe::probe_down_to_z
>>> do_blocking_move_to X20.00 Y20.00 Z-3.00
<<< do_blocking_move_to
echo:busy: processing
  current_position= X20.00 Y20.00 Z-3.00 : sync_plan_position
  current_position= X20.00 Y20.00 Z-3.00 : <<< Probe::probe_down_to_z
FAST Probe fail!
  current_position= X20.00 Y20.00 Z-3.00 : <<< run_z_probe
  current_position= X20.00 Y20.00 Z-3.00 : Probe::set_deployed
deploy: 0
>>> do_blocking_move_to X20.00 Y20.00 Z-3.00
<<< do_blocking_move_to
Error:Probing Failed
[ERROR] Error:Probing Failed

What I don’t understand is why it says:
Probe Offset X10.00 Y10.00 Z0.00 (Right-Back & Same Z as Nozzle)

Because that is not at all the NOZZLE_TO_PROBE_OFFSET I have defined. Is there another setting related to the nozzle/probe offset besides NOZZLE_TO_PROBE_OFFSET that I have missed? Or why does Marlin get the idea that my probe is to the right and back of the probe when in reality its to the front and left?

Hi Petahanks, welcome to 3DPrinting.SE! I think that question "How to set Z-probe boundary limits in firmware when using automatic bed leveling?" describes why the auto leveling is not working for you and how you should fix that in Marlin 2.0.

The problem is that, although you have set the offsets correctly, the boundary limits for the probe to "probe the area" have not been adjusted. It is my belief that this is a flaw in ABL of Marlin 2.0.x. If the user has set the probe offsets, the firmware already knows that the probe area is limited!
This answer on question "How to set Z-probe boundary limits in firmware when using automatic bed leveling?" describes in detail what the boundaries of the probe are for Marlin firmware 1.1.x and 2.0.x.
Basically, you need to set the boundaries of the probe using some extra definitions in your Configuration_adv.h file:

  constexpr int nozzle_to_probe_offset[] = NOZZLE_TO_PROBE_OFFSET;
  #define PROBE_X_OFFSET_FROM_EXTRUDER nozzle_to_probe_offset[0]
  #define PROBE_Y_OFFSET_FROM_EXTRUDER nozzle_to_probe_offset[1]

When including the MIN_PROBE_EDGE this means that the area is defined as:

  #define MIN_PROBE_EDGE_LEFT (MIN_PROBE_EDGE)
  #define MIN_PROBE_EDGE_RIGHT (MIN_PROBE_EDGE - PROBE_X_OFFSET_FROM_EXTRUDER)
  #define MIN_PROBE_EDGE_FRONT (MIN_PROBE_EDGE)
  #define MIN_PROBE_EDGE_BACK (MIN_PROBE_EDGE - PROBE_Y_OFFSET_FROM_EXTRUDER)

(Since the offsets are negative in your probe setup, we need to subtract the values in order to add up the absolute value to the edge...)

Thanks for the suggestion! I have my MIN_PROBE_EDGE set to 30, so I followed your calculations and added this to Configuration_adv.h:
#define PROBE_X_OFFSET_FROM_EXTRUDER -45
#define PROBE_Y_OFFSET_FROM_EXTRUDE -12
#define MIN_PROBE_EDGE_LEFT 30
#define MIN_PROBE_EDGE_RIGHT 75
#define MIN_PROBE_EDGE_FRONT 30
#define MIN_PROBE_EDGE_BACK 42
However, that sadly did not seem to have any effect at all. The probe still goes to the same location as before and I still get the message: Probe Offset X10.00 Y10.00 Z0.00 (Right-Back & Same Z as Nozzle)

Update: Oh, I didn’t realize I had to do M502 + M500 to get the values to kick in! It seems to work now, thanks a lot!

I tried to apply the advice to Marlin 2.0.9.1 and I observe the following side effect: the probe is placed just OK at the front, but does not cover the whole area at the back: the table could still be moved further, but it does not. I have #define PROBING_MARGIN_FRONT (PROBING_MARGIN - PROBE_Y_OFFSET_FROM_EXTRUDER) and #define PROBING_MARGIN_BACK 0. Unfortunately my attempt to set PROBING_MARGIN_BACK to negative had failed (there is a compile-time check preventing that). The same issue for left/right margins.


text:
Filament suitable for direct burial
I'm working on a project with will be buried in soil. It's an enclosure for a sensor that will be potted inside the 3D printed part. What filament will give me the longest life in soil?
ETA: burial will be permanent, and I'd like it to last at least five years.
ETA: The printed part will provide mechanical support for the sensor, so it needs to retain most of its mechanical properties.

How long are you keeping it buried?

Do you need the part to protect the sensor or anything else inside? Or just to retain its own form?

My guess would be TPU. If I find supporting evidence I'll post an answer.

I would recommend PETG - only because it is structurally similar to the plastic used in the bottles that last forever, and most PETG is food grade - implying that its chemical stability should be reasonably good...

I feel the same about PETG. If you want something at normal cost, that's the way to go. There are also polycarbonate filaments, that are said to be more resilient than anything, but are difficult to print and come at a higher cost.

If TPU ends up not being rigid enough for you:
I've had good enough luck with ABS coated in automotive RTV.
Thing with ABS though is that it's a special (not so)"solid" that gets softer as it gets hotter.  My use had water in it when warm so wasn't too much of an issue, and it never experienced freezing temperatures.
Also it hasn't been 5 years yet.  ~2 years and counting.

Instead of TPU or ABS, you might also want to try ASA. It has a better resistance against weather, so it might help you here.
Here is a little article about ASA filament: Article
And this article lists its pros as having a strong UV resistance, high wear and impact resistance, and high glass transition temperature.
Overall, you might want to give this a try. Hope it helps!

ASA is said to be hygroscopic - able to capture and contain air humidity. Given the humidity in soil, I'd be skeptical about this one for this application.


text:
Re-homing Z: trouble resuming a print, what if I can't re-home?
Running Marlin 1.1.2, printing from Octoprint on Linux PC. So, the PC freezes up and I have to pause the print and reboot. It's a 36 hour print with 11 hours left to go and I'd rather not start over.
I have the X, Y, and Z coords of where I need to begin again, and I've deleted all the GCode to that point. In the several tutorials I read on how to resume a print, they all assume that the printer - which in my case had a restart of its own - knows where Z is. I can safely rehome X and Y, but when I try to rehome Z the print head moves to the center of the plate, which of course would cause a collision with the model.
On my printer the Z-axis switch is over to the side of the frame holding the print bed, so I can home Z with the print head anywhere. Is there a way I can home Z without the head moving to center? Or, barring that, some offset I can enter for Z so I can resume at the same height I started? I can't wrap my mind around what I need to do here.

The PC should not freeze up, ever. If you really can't fix that, run octoprint on a dedicated rpi that you're not gaming or loading experimental kernel modules or whatever on.

It's actually a vanilla Kubuntu 18 PC whose only function is to manage the printer. This is the first time it's ever frozen mid-print and I think it's because I left Cura and several other Chrome tabs open.

Was able to make it happen, though I fear that I may have misjudged exactly where zero was, but we'll see in a few hours.
Anyway, for those who may come along later, here's what I figured out:
I already knew what my X, Y, and Z positions should be.
I kept the heat on for the bed so the print wouldn't shrink and break loose.
With the plate lowered and the print well out of harm's way, I homed X and Y. Then moved X10 Y0, a convenient place to work.
I set relative positioning on, G91, and moved Z up toward the print head until a business card was firmly clamped between the head and the plate.
I then set Z at zero, G92 Z0. Apparently Marlin (or Octoprint? idk) will let you print without homing Z as long as it knows where zero is.
I moved to print head to my desired X, Y, and Z positions and checked it against the model, which seemed to be right. I fear that I may have not zero'd down enough, so there will be a noticeable gap/weak spot, but I won't know that until I get more layers on than there are at this moment. I suppose if that's true, then I could just shave off the new layers and reset zero a couple of layers tighter.
The rest of the steps for resuming a print (editing the G-Code and what-not) are readily available in a dozen or more tutorials, so I won't cover that here.
Follow-up: yep, left too much room. I shaved off the new layers (having a kiridashi really helped there) and re-zero'd, but this time, after doing so I entered my initial Z value so that the nozzle touched the model and adjusted from there. Note that aesthetics aren't an issue: these are mechanical parts to all they need is to not snap in the middle. Having a seam there isn't a problem.


text:
How to sharpen cookie/clay cutter edge
I’m new to 3D printing and have the Creality Ender 3 Pro. I work a lot with clay for earrings and wanted to design my own cutters with a sharp edge to create clean shapes.
I use PLA and have been using the speed and nozzle (0.4 mm) that was already set when I bought it. It’s been creating fine edges but I’d like to make it a lot sharper. Using the instructions from videos I saw online, I created the following "U" shape (extrusion of .5 mm Is the “cutting edge”. I started getting some weird bubbles too and am not sure what has created that either (see pic).
I use Fusion 360 to make the cookie/clay cutter and then send it to Ultimaker Cura to slice.
Any help with how to make it sharper and more clean cuts would be great!

my wife have the exact same problem, did you found a way to fix this problem?

An extrusion width of 0.5 mm is too wide for making a sharp outline, I do use this sometimes for extrusion width for the infill.
Note that you can sand plastic (e.g. PLA or ABS) to sharpen the edge.

To build in 0scar's answer, standard nozzle width is 0.4 mm, so using a width of 0.5 mm will likely make the slicer extrude the edge as two extrusion lines, either with one of them very thin (which is hard to print precisely), or overextruded so that the total width is closer to 0.8 mm. You should probably aim for exactly the nozzle/line width, or since that sometimes causes slicing problems due to numerical inaccuracy, something like 5% over, with the slicer's "minimum flow" set to 10% or more so that a second line does not get laid down at all. You could also try reducing the line width below the nozzle width. Down to about 75% of the nozzle width should work pretty reliably; below that it's likely to have problems.
Aside from that, your print seems to have a lot of blobs and extrusion errors on it. To make this work well, you should try to find the causes of those issues too and get them fixed.


text:
Wavy lines throughout print
I have a zonestar P802QR2 model. This problem has been appearing since I first started using it and I'd really appreciate some help here!
The prints always come out wavy and I'm guessing the y-axis is the main problem since the wavy lines come out stronger when moving in certain directions. The worst is when its moving towards the +ve y-direction.

I printed an octagon outline here to show the difference for different directions. The problem appears regardless of the speed setting. (ignore the poor taping, it doesn't affect the current problem)
Thanks!

stick a small container of water on the corner of bed. When it's moving in the +ve direction does the water generate waves or does it just slosh around? (think bubble level)

Belts tight? Binding bed platform?

@user77232 i can't call them waves but the +ve movement causes more of small vibrations while the -ve is just sloshing. what does this mean?


text:
Increase volumetric flow rate using a longer nozzle
I'm looking to increase the printing speed, through increasing the volumetric flow rate, which is currently at 5 mm³/s. Larger amounts cause the feeding mechanism to skip steps.
I'm running at 190 °C, which helps with easier bridging less stringing and personally see no reason to increase the temperature to the popular 205 °C.
So, my thought process is the following: since I run at lesser temperature, there is still potential for the heating block to provide more heat and I need a longer nozzle to accumulate more heat and provide more surface area for transfer to the fillament (PLA), to speed up the melting of the plastic inside the nozzle (which seems to be the bottleneck).
That's similar to using larger tips for soldring iron, when faced with heating up large surfaces in order to desolder something large, since we need to stay at precise temperature, and need to increase the heat supply as well.
The suggested solution is to switch to the E3D's Volcano "everything included" kit. Which is nice and cool, but I don't think it's that necessary.

Is it possible to just switch to a volcano nozzle? (Manufacturer#: VOLCANO-NOZZLE-175-0400)
Would it actually noticeably help to increase the extrusion speed?

Current setup:

Ender 3 Pro, no mods
Classic 0.4 mm nozzle

At 190°C PLA is barely melting, expect very weak bonds between layers. If you print a figurine it's ok, but anything requiring some strength will fail miserably. Also, increasing temperature reduces viscosity and allows you to print faster. At 220°C you could easily increase to 8 mm^3/s or more.

Relevant: https://youtu.be/0xRtypDjNvI?t=438

I did find that 220 and more do produce more stringing and starting with 230 and higher bridging is sagging already at bridges length of 2cm.
So it would seem 220 to be the higher end of less stringing and okay bridging. I'm gonna redo the flow rate test on 220 and report how much did it change the result

The standard Ender 3 extruder has little grip on the filament. Even if you have abetter hot end, the filament will be difficult to push. I would try changing extruder before changing hot end. Getting high flow anyway requires a dual gear extruder.

This is opinion-based, but the volcano has drawbacks that affect print quality, mine is oozier and sloppier than a V6 with the shorter, more precise melt zone. It isn’t a slam dunk upgrade, more of a special applications part. I think there is no point to using a Volcano unless you’re running big nozzles fast, like .8 mm.
Your 5 mm3/s throughput is low, the V6 is generally known as a ~13 mm3/s volumetric throughput, vs the Volcano at 25 mm3/s. This is due to the low temperature you favor, possibly something not ideal with your extruder. I could see...

just living with the slow speed. I realize I vastly prefer print quality over print speed because one takes no human interaction and the other does.

do what everyone else does. go hotter, plastic viscosity goes way down even with a 5-10 degree increase

increase extruder torque. If you can increase stepper current safely (know the limit for your driver and motor!) with a trim pot on the stepper driver, you may be able to get more torque before the motor skips steps. This can increase motor temperature. If you get more torque, at some point the filament will slip and get carved up by the extruder’s hobbed gear. Double geared extruder designs like Bondtech can grip the filament from both sides and get more traction on the filament if you want to get diabolical shoving the filament.

use a larger nozzle for faster printing at your preferred temp. I’m loving the .6 mm nozzle for bigger prints. It has most of the detail of the .4 mm but double the plastic comes out. A larger nozzle hole means less pressure in the nozzle at a given temp and extruder feed rate

If you think the extruder might not be all it can be, try heating up the nozzle hotter than usual, and get the extruder going slow and steady, and pull a little on the filament by hand, see if it skips steps easily with a little resistance. It should pull pretty strong. I had a failing wire to my extruder that manifested in wimpy extrusion.

Yes, the Volcano or the Super Volcano allow for larger flow rate (typically when using larger nozzles), that is where they were designed for. Just the nozzle will not help you, you need this larger nozzle shaft to be inside a Volcano heater block, else you cannot transfer the heat.
According to measurements from Metaform, the volumetric flow of a Volcano hotend is larger than the regular E3D V6 hotend.

If the limiting factor is not melt rate but viscosity, as was suggested here, then larger nozzle should help even without a more powerful hotend, no?

The question is about having a longer melt zone with the same nozzle diameter. I think the volcano won't help in this case, because you definitely don't need a long melt zone to reach a very puny 190°C :)


text:
New glass bed, should I glue it?
I have an Ender 3, I got a new glass bed, the bed comes with glue on the back.
Should I stick the glass bed to the aluminium base? or just use it with the clips?
I saw other people just use the clips, but my glass seems to have a sticky back...

There are pro and cons for leaving the sticky protection baking paper on the slate of glass:
pros (for not glueing it):

Can be removed more easily in the future (the collant is not easy to remove, requires a solvent and elbow grease)
Can remove the slate of glass to put it in the refrigerator to loosen stuck prints

cons:

Need for binder clips that may cause nozzle collision and decreases bed size (unless you use kapton tape to fix the bed)
Backing paper adds another layer of insulation (unless you remove it and all the goo)

Re: layer of insulation? Couldn't you fix without permanently gluing the bed & ruining it, by removing the paper then using mineral spirits/goo-gone/whatever to get rid of the adhesive and get a clean surface?

@R..GitHubSTOPHELPINGICE Updated to reflect removal of glue and backing paper, good suggestion. Didn't think of that option!

Once a such big area is glued, removal is extremely difficult/near impossible without warping the aluminium or breaking the class. I would not use glue at all.

I have a glass bed (did not come with adhesive) and instead of clips, I use Kapton (or equivalent) heat proof tape around the edges.

@DoxyLover One of my printers I do the same! The kapton tape also works fine preventing the bed to slip.

There are other types of clips that can be used to mount glass without creating obstructions for the nozzle.

Use Clips on either the left or the right. The aluminum might not be flat. Using clips or the adhesive will cause the glass to warp, defeating the point of using the glass.


text:
Creality Ender 3 EZABL bed levelling not working
I've been pulling my hair out for the last couple of weeks with trying to get a decent print out of my Ender 3.
I recently bought this auto bed levelling kit and these solid bed mounts for my Ender 3. I followed this Teaching Tech video as a guide to install the EZABL.
I used a spirit level and noticed the X-Gantry was a bit off. That's now been remedied with the trusty allen key. Everything else to my eye, and the spirit level, appears to be ok.
Another thing I noticed was that when the Z-Offset was adjusted to say the highest part of the bed, it wouldn't print in the lower part. This was also true of the reverse. Does this mean that the bed is too distorted?
This is the latest bed level visualisation:

Since the upgrade the prints have been all over the place. Parts of the bed is still too close to print at all and other parts are much so far away that the prints are weak and malleable.
There is also a lot of 'stringing' type behaviour going on.
See photo below and this video for an example:

As I say, a lot of hair pulling has been going on so any help would be immensely appreciated.

I don't understand how those bed mounts are supposed to work...

@R..GitHubSTOPHELPINGICE I think the idea is that you won't have to readjust them over time like you do with springs

No, I understand the claim. I don't understand mechanically how they're supposed to work at all though (independent of the claim). I'm probably missing something but they look like a bs product.

@R..GitHubSTOPHELPINGICE well they've not helped me haha.

It looks to me like they'd just make it impossible to adjust the bed, peg its height to the height of the bracket it's mounted on. Which is bogus. You need to be able to adjust it to get it level and non-warped.

@R..GitHubSTOPHELPINGICE I think TH3D came up with that glorious idea: https://www.th3dstudio.com/product/cr-10solidmounts/
You're supposed to never level the bed, and let (their) ABL do everything.

Ok, if what @towe said is the case just remove these things and put back the original mounts; they can't work. You absolutely need to be able to adjust the 4 points to be coplanar. Only beyond that can ABL take over.

@R..GitHubSTOPHELPINGICE ok, i'll give that a try but yeah I was under the assumption that the ABL would take care of all my bed levelling for me. obviously wrong on that haha

@jampez77: ABL can't make a non-flat surface flat. You will necessarily have non-flat bottom-surfaces of any large print if your bed is not flat, which is what your image shows. ABL should be able to make an initial layer stick to a non-flat surface, giving you poor-quality prints (dimensional errors) instead of failed prints that don't adhere to the bed and pop off or string all over the place, but that's a very low standard to aspire to and not one I'd be happy to accept.


text:
Infill not printing well. What I am doing wrong?
I am a new to 3D printing, somehow, the infill of my print compiled by Cura 4.5 is weak. I print with generic PLA (FD plast) on 200 °C. See image below:

Print details: I have a Zonestar Z6FB which I use together with Cura 4.5. I print in PLA at 200 °C (Cura default for PLA). The print bed is set to 60 °C. I use a print cooling fan at 100 %. The layer height I set to 0.1 mm, the line width (wall thikness 0.8 mm?) from the 0.4 mm nozzle. The Printing Speed is set to 60 mm/s for everything. My retraction is unknown.

It looks like the printer is under extruding, the 2 walls barely touch, this can also lead to the infill pattern you see. You could try to calibrate the extruder. You can also try printing a little slower.

You problem clearly under extrude which mean the plastic not flow as much as it should be.
I face this problem recently here my step to solve.

Tune e step (do this first)
Add more temp. to nozzle (so plastic will melt and flow faster)
Slow down print speed.
Change nozzle and clean whole hotend.

Hi! Thank you for answer. I have several q to you. "e" step did you mean extruder Flow percent? I am already print at 200 celsius, I recently print at 180 and it sems to be better with PLA. Cleaning Hot end from dust?

It’s extruder step per milliliter calibration.

Some plastic just burn out and become a solid material that block the nozzle.

I cleatly see that walls are definitly ok, how it is possible to make sily infill and pretty well walls?

I don’t know why last time I face this problem I’ve try everything, still not working then I change nozzle it suddenly work me be nozzle just got partial clogging with allow low rate flow.

The infill eventually have higher print speed. Try to fix it step by step as my answer might help.

@MaratZakirov Your walls don't look okay! Clearly under extruded.

"Tune the e step" is always wrong. Don't do that.

@R..GitHubSTOPHELPINGICE why? the E steps are not like the XYZ steps, they need calibration because the hobbed bolt penetrates differently in different materials and you need to compensate for the different effective bolt radius.

That's why you use a per material flow modifier rather than an esteps change that's a function of both the machine and the material.

@R..GitHubSTOPHELPINGICE I think it difference scenario here.
E_step is relate to G-code  to determine how many pulse to achieve corresponding distant so we can tune with G-code command. If you adjust flow multiplier in slicer, it will affect only G-code outout from slicer either if you adjust on UI it will not affect when you print with SD Card. For conclusion, tune E-Step with G-Code and use flow multiplier for manual fine-tune.

I changed extruder block to Titan it somehow helped do not sure if that eliminated this issue totally. So I definitly add 5) Change extruder block to Titan


text:
Adventurer 3 3D Printer doesn't extrude correctly
I am new to 3D printing which we all are/were at some point. I have no clue how to address the issue which likely is reason why I haven't found the solution yet. So if you see that this question has been posted elsewhere, please link it! Thanks!
I have had this issue for a while, however right now, one minute ago, it worked kind of. The text below is a description of the problem that very often occurs!
So the issue is basically the extruder. I have a Flashforge Adventurer 3. In it's software you have a "Load" and "Change" option which you change and load filament with. When I load filament it goes through the tube but it never exits the extruder. The common answer is that the nozzle is clogged. I have honestly checked this, it isn't the problem. I have cleaned it as Flashforge says and I have also been using really small metallic pins to push out all the filament. So that isn't the issue.
Sometimes the filament also gets stuck inside the tube. Or the Bowden tube I think it is called.
I did a test 10 minutes ago, it went through the tube smoothly. No filament came out at the other end however. I then changed the filament, which means I pulled it back. I then saw that a part of the filament had gotten stuck at the end of the tube. It didn't pull all the filament back, a very small bit of the filament had somehow gotten stuck?
As it doesn't extrude filament when I load the filament it has nothing with the calibration to do what I know. So my own conclusion would be that something between the tube and extruder is going crazy. And I know, that isn't a good conclusion. However I don't know how to address it as I said before.
I know that it's hard to troubleshoot a text, so I will upload a video for you guys reading this. I really just want my 3D printer working again as the company said it probably isn't anything wrong with the machine..
When the machine starts working again it prints, but not good. Here is a video of how hit prints a big "F". Link. Sometimes it stops extruding filament for a while then it starts to extrude again..
There is also an image of the print below![
The machine is printing at 195 °C! I appreciate all the help I can get, I just want my machine fully working again.

Here is a video of the Bowden tube: Link
Here is a video of the extruder issue: Link
Here are two videos regarding the cold pull, I "try" to speak English so you get more information this time! Link Link 2

You say "it has nothing to do with the calibration", but every time I've seen this on my flashforge, redoing the calibration always ends up fixing it for me, I place a thin piece of tissue paper (like packaging, not toilet) on the build plate, then start calibration, and raise the extruder so I can move the paper, then lower the extruder point-by-point until it holds the paper, then I move it back up by one and call it complete.

There are a number of different ways to narrow down the problem.
Your printing temperature is likely too low. Raise it up about ten degrees, but don't try a print just yet.
Ensure that the Bowden tube is firmly pressed into the hot end assembly. A gap below the tube is asking for future problems. If the tube is clear, remove it and examine for a squarely cut end and re-insert firmly.
I'm not familiar with the specifics of your model, but you should be able to disengage the Bowden tube from the extruder motor and manually push filament through the hot end and out the nozzle. For obvious reasons, raise the carriage above the bed before doing this.
Start with the 205 °C temperature and heat the nozzle. When it reaches stable temperature, push filament through. If it moves smoothly and extrudes cleanly, you're more than half-way home. If not, raise the temperature by another five degrees. At some point, you'll have a good idea of the temperature to use for that brand and color of filament.
Once you've checked those two items, you may have it solved, or you can edit your question to address any new developments.
Once you have the temperature determined, note that it may have to be increased to match a higher print speed. It is easy enough to push filament manually at the equivalent of a slow print, which allows the hot end to transfer the heat at a sufficient rate.
When printing normal speeds, if it can't move the heat fast enough, you have to raise the temperature or lower the speed. The former is preferable, of course. Who wants a print that takes two or three times longer?
EDIT: more info added
You may have more than one problem. I think your next step is to focus on the hot end/nozzle area. With the Bowden tube removed, insert a length of filament and raise the temperature to around 200 °C and push the filament downward.
You probably won't have filament passing through the nozzle, based on the limited information in the video. Once you've confirmed that, reduce the temperature in the nozzle to about 125 °C, let it hold there for a bit. You should note that the additional filament has now fused with that in the heat sink/heat break area. Increase the temperature again to 200 °C and apply gentle upwards pressure.
This is not a typical cold-pull process, but close to it. If you had nylon filament available, I'd recommend to use the nylon cleaning method.
I suspect that your hot end is clogged at the point where the bowden tube should have been flush into the bore.
I did not see both ends free on your Bowden tube. Your second problem may be related to that aspect. Consider to manually feed filament through the tube (after first clearing it) and if that doesn't work, the bowden tube is internally damaged.
The additional videos are helpful. Two items come to mind. The temperature may be too low at 200°C. You can't hurt things by going a bit too high, even as high as 225°C or 230°C but don't make big jumps to get there. Bring the temperature up to 210°C and see if you can force filament smoothly through the nozzle by hand. Keep on this practice until you find a good temperature.
For the second item, it's possible that your e-steps need to be checked. Feed filament through the bowden tube with the tube removed from the nozzle assembly. Feed a few centimeters beyond the end and make a mark where the filament is at the edge of the tube.
Using a terminal program or your printer control software, command a 100 millimeter filament feed. When it is completed, mark the filament and determine if you have extruded the correct amount.
The second part of the second video certainly presents well the frustration you are experiencing. Many of the people in the 3D printing community have had similar frustrations.
For the lock-up portion, check the manufacturer's web site for firmware upgrades, as sometimes there will be a correction to a problem such as yours.

So there could be multiple solutions to your problem. One of them being as mentioned in another answer that you aren't printing hot enough. Double-check the filament that you got, there should be a temp rating either on the spool or the description of the product.
Another solution is if it is hot enough but it's not going through, take the tube out and hit the extrude button (It should be the button you hit when you resupply the filament and if it doesn't come out of the end there, you will need a new tube to feed it.
If that isn't the case either and you are double-checking to make sure it is hot enough and that it's not getting caught in the tube (you could double-check the temp of the nozzle with a digital thermometer just to be extra safe) check out your hot end to make sure that nothing is snagging. So, take off your tube and nozzle and look through it to see if you see anything sticking out or anything like that, there shouldn't be though.
Also, for a future issue that might happen is that you get it extruding and everything, you are going to want to take out your tube from the hot end, extrude enough filament so it's sticking out a little bit, trim that, then you are going to tell your printer to extrude 100 mm, then trim that again, and you are going to want to measure what you just trimmed. Then you are going to take that number (let's say x) and plug it into this equation: (old rate)*(100/x) where old rate the rate that it was extruding out the filament before. How to calibrate your extruder


text:
Advice on power supply wiring for the UK
I've been looking at the Ender series and decided to take the plunge. But I'm unsure on electrical matters. The 110 or 220 volt switch, I assume goes to 220 V as I live in the UK but my main question is, from what I've read they come with an EU plug and a uk adapter, is it safer to switch to a 'kettle lead' for it to have it's own fuse and be grounded or is the adapter it comes with fine? (I've never been a fan of adapter and I've read in different places that they're fine or that they are horrible.)
Please help as if I need to buy a cable I'll do it the same time I buy the printer. Thank you all in advance for any help I get, hope to join this community properly as soon as the printers come back in stock anywhere.

The fuse may be academic, because there might be an integrated fuseholder in the PSU itself. That said, adding another fuse in the form of a proper UK plug certainly won't hurt.
I'd certainly do this, too. Fuseless plugs have no place in my home/workplace
For the rest - yes, the 220V position for the switch is good. Grounding, again, certainly can't hurt, but the PSU is probably double-insulated, which doesn't require it.

The PSU is definitely not double insulated and absolutely requires grounding.

@TomvanderZanden How can it even be legal to supply it in the EU without a ground connection, then? (OP said that a UK plug would add grounding, so I was assuming that the plug supplied was two-pin)

Technically, the cord that comes with the machine is not the 2-pin "Europlug" but Type F/ Shuko/ CEE 7/3, which does NOT fit the Type G used in Britain.

Thanks, I thought if no one answered then I'd just use a uk plug anyway (better safe than sorry) and you've just made that decision definite for me. Thanks so much.

Safety First!
To guarantee proper grouning and avoid putting the machine on a static charge level against the ground of the house you need to properly connect the ground wires to the ground wire of the house. This is done by using a grounded power cord with a C13-plug on the machine end and a proper, grounded plug fitting your sockets on the other end.
Proper plugs
In most of the continental EU (safe France), you usually can use a Shuko (Schutzkontakt) TypeF/CEE 7/3 while the Type E+F/CEE 7/7 plug adds France on the house end, as these are proper grounded 3-wire plugs. But in the UK you need a Type G/BS 1363 plug, with or without a fuse.
Fuses
Because the machine operates on mains voltage in the PSU, it usually already has a fuse mounted inside the PSU, so a fused plug is not strictly needed, however it is not a bad idea to include an extra fuse - technically you'd end with 3 in total if you are properly grounded because the circuits breaker-box fuse is there too.
Wire Extensions
What would be a bad idea though is to use any extension cord in the wiring that is not grounded because it might use a plastic ground pin or lack the metal contact surface needed to ground the cord.
Improper plugs
A 2-wire "Europlug". Europlug CEE 7/16 is only rated for 250V/2.5A and not grounded, thus it is not suitable for operating a 3D printer , and I strongly advise not to use a gritish folding plug either as it is not grounded!
Safety Mantra!
Let me reiterate this: Only use grounded connections from machine to socket or you risk creating a charge on the machine!
Check your socket's ground if you are not sure it is properly installed. For further information, I strongly suggest watch Angus (Makers Muse) with how he discovered a problem with his extension cords leading to a potential dangerous charge on his machine and DIY3D Tech explaining the basics of the problem and how to solve it to you again!


text:
Z motors only working manual, do not home correctly
I'm currently setting up my custom built 3D printer with a BTT SKR mini E3 v1.2, and so far I have all the endstops and x and y motors working. The problem is that when trying to home my z motors, they just vibrate and make a lot of noise, which tells me they're not getting enough current(which makes sense cause there's two of them as opposed to the other axis). The weird part is that when I manually control them on pronterface, that is just clicking up and down on the arrow wheel, they work perfectly fine. It's only when homing that they vibrate and make a lot of noise. I've tried using the M906 command to raise the current on the motors - they started at 560, and I slowly worked my way up to 4000 - and witnessed no difference. I'm not sure what to adjust from here. Thanks for the help in advance!

Jogging the Z axis may be a sequence of very short moves, happening relatively slowly.
Homing may be a longer, faster move.  The homing move would depend more heavily on the maximum velocity, maximum acceleration, and jerk parameters.  If there are too high the z axis won't operate properly since the motors will attempt to move faster than is supported by the torque, and the rotating magnetic field will lose control of the permanent magnet rotor.
To fix this, find how the motion limit parameters are controlled for your software, and reduce them all by a factor of 50. It should work, although perhaps too slowly.
I would also reduce the current setting.  Microstepping motors doesn't work when the magnetic field is driven to saturation.


text:
Why do slicers have nozzle size settings?
It seems to me that the size of hole in the nozzle shouldn't matter in and of itself. If you program in the layer height and line width, then the same amount of plastic has to be extruded, no matter what size the hole is in the nozzle.
Of course I understand that, mechanically, the best results are got with the line width slightly larger than the nozzle size. We couldn't print a 0.3 mm line with a 0.6 mm nozzle, and trying to print a 1 mm line with a 0.4 mm nozzle probably wouldn't work well either. But in terms of what the actual G-code needs to do, the nozzle size doesn't seem to matter. After all, printers feed filament based on length/volume, so the size of the nozzle shouldn't impact the amount of plastic extruded.
What prompted this question: I want to switch from a 0.4 mm nozzle to a 0.8 mm nozzle, but I cannot find out how to change the nozzle size in Cura. There are many bug reports about the nozzle size setting disappearing or not displaying in Cura, and I think that's my problem. However, in the troubleshooting threads, many people claim that you can just change the line width and ignore the nozzle size completely and the result will be the same. In other words, if I want to switch from 0.4 nozzle and 0.48 line width, to 0.8 nozzle and 1 mm line width, I can just keep my slicer set to 0.4 nozzle size, but increase the line width to 1 mm, and if I physically install a 0.8 mm nozzle, it will do exactly the same thing. There are even Cura developers saying the nozzle size setting will be removed in a future version completely.
This may depend on the way individual slicers work. Has anyone tried switching between say 0.4 and 0.6 nozzle settings, while leaving the line width the same (say 0.8 mm line width for both), and see any differences in the G-code? I can't test this myself, because I can't change the nozzle size right now...

This is almost a duplicate of an old question I looked at Cura source and printer definition json files to answer. Here is the almost-duplicate with relevant information in answer/comments: https://3dprinting.stackexchange.com/q/10244

Possible duplicate of "What does nozzle size affect besides line width in, e.g., Ultimaker Cura?"?

CNC kitchen tested various extrusion widths with various nozzles and in fact there's no difference, only the line width matters.
https://www.cnckitchen.com/blog/big-nozzles-how-do-they-make-your-3d-prints-stronger
Of course it's up to you to avoid too thick layers with small nozzles.

I never thought about that!
I do know from experience that Cura uses nozzle sizes to sanity check your settings, warning you if you do something unreasonable. That is reason enough to include the feature for me. However, I did wonder what, if any, differenced this actually makes, so I tested it and here's my results:
I went through and tested it on the 3DVerkstan Face Mask. I compiled the same model in the same place in Cura, the only differences between the two being that I changed the nozzle size from 0.4 mm to 0.8 mm. I then ran the VS Code Diff Checker on the files as well as loaded the exported gcode back into Cura to compare and got some interesting results.

The estimated times and filament usages are very slightly different: 2689 seconds for 0.8 and 2698 seconds for 0.4, 6.18899 m for 0.8 and 6.18883 m for 0.4. This means something different is happening somewhere, but it's very similar to within a rounding error.
The brim is exactly the same for both. No differences whatsoever in the G-code.
When the model starts printing, everything in the gcode becomes different. This seems to be down to a few reasons: (note these photos were taken by exporting gcode then re-opening that gcode into Cura)

Differing layer start positions

Possibly a difference in line overlaps? On the 0.8 mm file, cura shows a larger gap between the brim and the part, and more overlap between the outer wall and inner walls when compared to the 0.4 mm file.

That's all the differences I can observe in this model. Every layer is different in the gocde, but it seems to be down to the two differences noted above. IMO, that's all inconsequential and you should be fine to change all the settings to how they should be for a larger nozzle and be just fine. Other than the warnings, nozzle sizes may be a holdover from a past version when they were more useful, or simply may have just seemed like a reasonable feature to put in at the time and no one really thought about it.

As far as changing nozzle size goes, I go to Preferences > Configure Cura > Printers > Machine Settings > Extruder 1 > Nozzle Size. If that option is not there, consider creating a new machine of a different type that's similar to what you have. I have an Anet-A8 but use the Prusa i3 printer type in Cura since that's most similar to what I have.

I have tried to find the setting in Preferences > Configure Cura > Printers > Machine Settings > Extruder 1 > Nozzle Size, but on my version of Cura there is no option for nozzle size. Other screenshots online show versions both with and without nozzle size setting, and I'm still not sure why.

Good answer. Have you checked "thin walls"? maybe the slicer kills walls much thinner than the nozzle, independently from the set line width. Could you test this too?

Technically, you don't need the nozzle diameter. All you need is line width, layer height and filament diameter. After all, all the settings are just used to create a displacement of the filament feedstock (volumetric displacement).
But slicers do use the diameter to set initial values for some parameters, e.g. the wall width.

I’m using sli3r. It use nozzle size for some auto value like auto extrusion width which calculate by 105% of nozzle diameter and prevent some error like setting layer height greater than nozzle diameter.


text:
How to fix bad extrusion that's likely caused by high pressure in the nozzle
I've got a secondhand Renkforce RF1000 which I can't seem to get working properly. Initially, I asked about hardware issues that required fixing. After fixing those I still got some inconsistent printing results. These problems got worse with a new nozzle and new filament.  I've now narrowed it down to one problem: bad feeding
To summary:

I've got a secondhand Renkforce RF1000
I print using 2.85 mm PLA
I've got a new 0.3 mm nozzle
I've got new springs for holding the filament against the extruder

The feeding mechanism
The problem seems to be that the pressure for extruding filament through the nozzle is too high. This causes the grub screw to keep spinning without extruding filament. So in the picture, the left screw will spin and the right one will remain stationary.
This isn't consistent, it might work for a few millimetres and then stop working for a bit. It can cause the screw to grind into the filament creating a hole that cuts the filament in two.
Here's what I've done to try and fix it:

Cleaned the nozzle with new 0.25 mm needles
Cleaned the nozzle with acetone against ABS that was stuck
Did a few cold pulls to confirm there's no filament stuck in the heater.

This wasn't the case and when removing the nozzle I could easily push or pull filament through.

Tightened and loosened the screws holding the filament against the grub screw

Too tight causes clicking or more grinding. Too loose causes the filament to just not get caught at all

I'm out of ideas of how to fix this. Any help you can give is greatly appreciated.
EDIT: here are some video's extruding 50 mm of filament at 2 mm/s and 10 mm/s

Controls
10 mm/s
2 mm/s
(both links to imgur, didn't manage to get the video inline)
EDIT 2:
I replaced the driving gear and replaced the new nozzle with an old one. I'm not sure about the size of the old one but I assume it is 0.5 mm. I calibrated the extrusion and tested at 1 mm filament per second, I now get the exact results. However, when printing two 20mm calibration cubes I get quite bad results. The first cube (left) is printed at a 1.0 extrusion multiplier and the second one (right) is printed with a 0.95 extrusion multiplier. Any idea what these quality problems are caused by?
[
[
[
[

Maximum print speed depends on viscosity and nozzle surface. PLA at 220-230°C can be printed easily at 80 mm/s on 0.4, but you have 0.3, so do not exceed 40-50 mm/s. More likely, stay on 30 mm/s, since your extruder has no gear reduction and the teeth on the filament are pretty short and not very sharp. Try again with at 30-35 mm/s. Also, do E steps calibration while extruding slowly, like "G1 F30" (extrusion 30 mm/minute) followed by "G1 E100" (extrude 100 mm). See https://mattshub.com/blog/2017/04/19/extruder-calibration but do NOT do the extrusion multiplier calibration, keep it at 100%.

Sorry should've specified but this happens when doing a 100 mm calibration test at 2 mm/s. 30 mm/s is quite ambitious.

2 mm/s of the filament or 2 mm/s of the printing head? Printing that slow always causes problems because the radiating heat of the nozzle melts plastic around it (as indicated by the poor top layers of some other prints from you). Print at at least 20 mm/s! at minimum

2 mm/s of the filament. So the 100 mm extrusion test would take 50 seconds. I doubt that's the problem. When printing 10 mm/s with the springs quite close (so high pressure on holding the filament against the screw) it caused a lot of grinding.

I know it's not the problem, I just wanted to be sure. So you print at 10 mm/s? it's quite low and you still have the driving gear slipping. Have you cleaned it? have you checked it's sharp enough to grip the filament? I have a much more aggressive gear (sharper and deeper teeth) but if for some reasons I have the filament slip, the teeth get clogged  and they slip easily.

In the worst case, buy a new driving gear, they are cheap and maybe you can find one with sharper teeth. Have you replaced the nozzle since the previous questions? if not, go for 0.4 which makes things much easier.

I've uploaded a video of the extruding and a picture of the controls I use to extrude it. I'm not sure how sharp it is supposed to be but it leaves small indents in the filament when extruded. It's not clogged but it does get clogged after it slips and keeps grinding against the filament.
Could a new drive gear fix it or would it only help against a different underlying problem that could be solved differently? And when buying a drive gear, what should I pay attention to? I'm currently looking at a MK8 gear for €4.30 I could try.

I bought the new nozzle because the old nozzle was quite used and I didn't know it's size. But yes, this is a new nozzle. I believe the problem exists with the old nozzle too but wasn't this clear because the old nozzle is bigger.

2.85 mm with a gearless extruder is asking for problems. I'm using 2.85 mm filament also, but had to design proper geared extruders. The grip on the filament is quite high using a 0.4 mm nozzle to overcome the pressure from compressing the filament and pushing it through the nozzle.

@0scar well surely the precision is low, but the grip is good already, if he's grinding the filament. Stefan: for info: the rotation (or lack thereof) of the counter bearing is not important. Mine is old and never turns... and still prints fine.

@FarO If the backpressure is very high, you require even more grip, I've seen Ultimaker gears wear out filament, although the grip was fine, the backpressure was so large that it still ground through the filament. So concluding that the grip is good based on grinding of filament is not a good assumption IMHO. E.g. with more tension on the filament it printed fine. I have similar experience with my homebrew printer printing 2.85 mm filament. I'm now designing a dual gear 2.85 mm 2:1 geared extruder to see if I can push the filament with less torque (my current extr. are using 4:1 gear ratios).

I think you are pushing filament too fast.
Let's go back to the basics: my hotend (old Ubis, ceramic) and extruder can push PLA at 230°C at max 80 mm/s * 0.5 mm line width * 0.2 mm layer height = 8 mm3/s.
At this speed it doesn't extrude very well, there is too much back pressure (see also

). That extrusion speed means (I have 3 mm filament) 1.13 mm/s of filament speed (8 mm3 / 1.52 / pi).
You have 0.3 mm nozzle and you print colder, both of which cause more resistance to the flow. If 8 mm3/s is my absolute max, yours should be about 8 * 9/16 (ratio of the nozzle surfaces) = 4.5 mm3/s (really the max).
Considering the different print temperature, I would start limit to 3.5 mm3/s, which is 0.55 mm/s extrusion speed.
If you print 0.15 mm layers with line width of 0.35 mm, your absolute max printing speed should be 3.5 mm3 / 0.15 /0.35 = 65 mm/s (which is better not to reach, 60 is fine).
Try doing the following tests: after cleaning the driving gear, extrude 50 mm filament at 0.3 mm/s and measure how much filament has been extruded. Then repeat 50 mm with 0.5 mm/s, and measure how much filament has been extruded. Try again at 0.75 mm/s. Obviously don't touch E steps and extrusion multiplier. I'm quite sure that at 0.75 mm/s you will notice a measurably shorter length of filament extruded. At 1 mm/s you will see grinding (but not as much as now).
If you want, try at regular intervals 0.2, 0.3 0.4, 0.5, 0.6, 0.7 mm/s and plot a graph of the actually extruded filament length. It will look like the one in the video (where he extruded a lot more and weighed the filament, which is time consuming and more expensive).
And then switch to 0.4 mm nozzle if it's too slow for your needs.
Additional information
You use 2.85 mm filament with a direct drive, no gears. Judging from your video the radius if the driving gear (teeth) is about 4 mm, meaning 4*2*pi=25.1 mm circumference. The circumference is controlled with 200 steps * 16 microsteps, as result each microstep controls 4*2*pi/200/16 mm filament length, which is 0.05 mm3 and what you extrude along a 0.95 mm length (at 0.15 mm layer height and 0.35 mm line width). Basically your extruder has no control for moves shorter than 0.95 mm, but in fact it's even 4x worse, since you never get a single microstep precision (4 microsteps of tolerance is more reasonable).
You should probably use a much bigger nozzle, or 1.75 mm filament, or a geared extruder, or prints will never be accurate and you will have problems all the time, which you cannot physically solve.

Thank you for your answer. The speed and gear did appear to be the problem. However, now I've got quite bad quality problems. Any idea what these are caused by? I'm unsure whether this is caused by the same problem or requires a separate question here.

I'm not sure about the cube, but it appears that the backpressure question has been solved :) I would search for similar issues and/or start a new question.


text:
Resin prints pulling away from build platform
My prints start out good, but seem to warp or pull away from the build platform at a later time. Should I divide up my support bases so they're not one big base? Should I sand/roughen the build platform for better adhesion?
Printer: Elegoo Mars
Resin: Standard Grey (Elegoo)
Exposure base layers: 70 sec
Exposure elsewhere: 11 sec
Layer height: 0.05

It's difficult to tell from the image, but one aspect of resin printing that you want to consider when placing a model is the cross-sectional area for each layer. You'll see prints that could be printed flat on an FFF printer being placed at an angle on a resin printer.
This orientation presents a smaller cross-section and thereby a smaller amount of force applied when the bed lifts and peels the model from the bottom of the vat.
If you have the ability within your slicer to scrub through the layers, observe the general area created by the slicer for each layer.
If you tilt the model even a few degrees from level, you'll reduce the forces involved.
It appears that you've used a "priming" layer on your bed, the initial layers of resin ostensibly provided to reduce the problem you're experiencing. That's a good start, but the rest of the model is generating enough peeling force to ruin the print.

A 45° angle, even if rather extreme, can alter the forces extremely. Note that the tilt might actually provide a larger crosssection in some orientation, if this brings more surfaces into the fire: think a 1-unit long cube that rotates around X: the crosssection on the YZ plane is $1*(\cos{\alpha}+\sin{\alpha})$, but most bodies don't behave like cubes but like rectangular blocks with different a, b, c, then the crosssection is $ab \cos{\alpha}+bc \sin{\alpha}$. part of the trick is to make the change in average crosssection somewhat steady.


text:
Can't find a usable temperature for PLA
I have a Monoprice MP10 Mini, a cut-down Creality CR-10 with lobotomized firmware. Heated bed.
I'm trying to do PLA prints, but have been unable to find a usable temperature.
If I set the temperatures (either nozzle or bed) too low, the initial raft layers don't stick, the print shrivels up, and the result is a tangle.
If I set the temperatures high enough to allow initial sticking, the raft prints okay, but after that the filament leaks out of the nozzle during long moves producing strings (only a little unsightly when outside the print area, but causing bumps when moves over the build and eventually the nozzle knocks into them) and all solid flat areas (ceilings/floors) warp.
If I start with a high temp but reduce it during the print, the layers stop sticking to each other, solid areas still warp, and the printer eventually fails to extrude anything (presumably the filament congeals inside the extruder or tube, that's very unpleasant to recover from, fortunately I have some cleaning filament).
Tried with multiple types of filament and multiple models (from thingiverse, converted into gcode using cura 3.6)
What should I be trying?

I would start reslicing for bed 50, hotend 200 and no raft. Start with a calibration cube.

uncalibrated Z height, offset vs bed level has changed.

First, you shouldn't need a raft for most PLA prints. That will help you get better bed adhesion at lower temperatures.
Second, you can reduce the stringing by increasing travel speeds (120 mm/s is not too fast) and a small amount of retraction: around 1.5 mm for direct drive and 5-6 mm for bowden.
With those settings, you should be able to print most PLA with a bed at anywhere from 50-60 °C and an extruder at anywhere from 190 to 215 °C.

Try bed at 50°C and hotend at 215°C, these are safe values.
Enable retraction in the slicer, to avoid/reduce oozing during long moves, but with Bowden setups finding a good value is trickier. Try with 6 mm.
Set the first layer height properly, but do it AFTER the bed has been heated for 5-10 minutes.

Hotend at 215 produces huge amounts of filament dripping from the nozzle on long moves, even with retraction at 1mm, I think a lot of filament is molten and does not retract. MP10 mini firmware doesn't allow setting first layer height.

1mm is way too short for a bowden extruder. 5 is the absolute minimum and it probably should be higher. All 1mm will do is slightly relieve the pressure (compression of the filament/stretch of the bowden tube) at the nozzle; it won't move the filament back at all, and pressure will cause it to keep oozing out.

@Snowbody: first layer height is set by slicing software not by the printer firmware.

I didn't notice the Bowden setup. I modified the answer.

Here is the important information from your question:

If I set the temperatures high enough to allow initial sticking, the raft prints okay, but after that the filament leaks out of the nozzle during long moves producing strings (only a little unsightly when outside the print area, but causing bumps when moves over the build and eventually the nozzle knocks into them) and all solid flat areas (ceilings/floors) warp.

If you have material leaking from the nozzle during moves, this means your retraction settings are wrong - either off entirely, or insufficient distance. As I understand it your printer has a bowden extruder, so retraction distance needs to be at least 5 mm and probably 6 to 6.5 mm. Note that "Retract at layer change" is a separate and independent option from "Enable retraction", and is not really important; "Enable retraction" is the one that must be on. "Retraction Minimum Travel" should also be set very low (the Cura default of twice the line width, or slightly lower than that, is probably good).

If you get one of those lazer pointer thermometer things from the hardware store for checking the temperature of hot water pipes and stuff you can usually heat your hot end up and look at the actual temperature of your nozzle.  If it's  hotter or colder than the temperature that your filment is rated for them there should be a line of code in your firmware that will allow you to offset the temperature making it perfectly calibrated spot on.  Then you should never have to change it ever again

Calibrating the temperature sensor is not very interesting, first, the sensors operate with a large uncertainty, second, filaments are rated for a wide interval. It is you who needs to find the optimum printing sweet spot, we do that by printing temperature towers. Basically, exchanging temperatures is not very useful, just try to find your printer/filament combo.

I doubt those thermometers stay accurate at 150+°C. I tried a FLIR camera (technically the same principle) and it tops at 160-170°C, and loses reliability well before that.

As @Fernando Balthazar had suggested, the z-offset was wrong. I needed to bring the nozzle and the bed closer together. The printer's default is -0.50 mm, I had to change to -0.78 mm or so to get it to stick. But then I need to reduce set it back to -0.50 or -0.40 during the print to avoid the nozzle banging into the model.
I used 205C for nozzle and 35C for bed and it works great, virtually no warping.

...and, come to think of it, better that futzing with the z-offset would be to find a working z-offset and change the filament settings to indicate that the filament is thicker, so as to avoid the nozzle banging into the model.


text:
Z offset in Marlin is not working recently
My printer is ignoring the "Z offset" setting in Cura and the "Bed Z" stored in the printer LCD settings? It has been working before but after a firmware update of my printer, it doesn't work. Even after flashing the previous firmware back "Bed Z" changes no longer affect anything. No matter if I change "Bed Z" during prints or if I use the "Z offset" option in Cura, the nozzle still prints at the same height.

Z offset in Cura
Z offset in Cura is nothing more than an additional increase/decrease in height calculated throughout the whole file. This does require the installment of a plugin from the Ultimaker Cura "Marketplace" called "Z Offset Setting" by developer "fieldOfView". This should work (if not, this implies the plugin is defective, version 3.5.7 appears to work as it should which is the latest version to date), the G-code is parsed (as in post-processed) by the plugin to recalculate all Z values (a redefinition of the Z level with G92 might have been a lot easier...), as an example an object is sliced without an offset, a negative offset (-0.333 mm) and a positive offset (0.333 mm) below. The layer numbered ;LAYER:0 will start printing at:
No offset:
G0 F4285.7 X81.669 Y84.791 Z0.27

Negative offset:
G0 F4285.7 X81.669 Y84.791 Z-0.063 ;adjusted by z offset

Positive offset:
G0 F4285.7 X81.669 Y84.791 Z0.603 ;adjusted by z offset

Z offset in firmware
A Z offset is the distance between the nozzle and the build plate surface that is needed for good adhesion. This is obtained from levelling the bed putting a piece of A4/Letter paper in between the nozzle and build plate during levelling of the bed. Basically this is an offset from the endstop position. Using the menu of a Marlin operated printer you can manually adjust this value e.g. during printing of the first layer by turning the jog dial for Z babystepping. The paper levelling method is a manual/mechanical Z offset that can be extended with the value changed by the menu. When storing such an offset you basically change the offset from the endstop position, this can be done with G-code M206. Storing the value to be retained for future prints, the value needs to be stored to memory (using G-code M500 or an equivalent save settings from the menu of the printer controller).
Note this offset is something different when using a Z probe. The Z probe offset in firmware is set by M851 or G29.1, depending on the used firmware.

I have the same problem. You need to check your G-code to detect where's the problem.
Try comparing the G-code file with different values of the Z offset.
In my case it looks like this:
No offset
;LAYER_COUNT:107
;LAYER:0
M106 S255
G1 F300 Z0.84
G0 F6000 X124.645 Y78.208 Z0.84
;TYPE:SKIRT
G1 F300 Z0.44
G1 F1500 E0

With offset (comments made by Cura)
;LAYER_COUNT:107
;LAYER:0
M106 S255
G1 F300 Z2.06 ;adjusted by z offset
G92 Z0.84 ;consider this the original z before offset
G0 F6000 X119.093 Y42.498 Z0.84
;TYPE:SKIRT
G1 F300 Z0.44

I hope this helps.

This addresses the inserted G-code offset by Cura, it doesn't address why the firmware stored offset isn't applied. Any chance you can add to that since you have the same issue?


text:
Extruder always clogs up almost immediately after cleaning
I have a very frustrating problem, my extruder clogs up pretty much immediately after cleaning it from the previous clog and I cannot figure out what the hell is going wrong.
I use a genuine E3D V6 in direct drive configuration (dual drive) and I print only PLA.
I have tried many nozzle offsets from the bed but because I have to test so frequently I am just printing in the air for now.
This is what I tried:

To print using the following temperatures: 200, 205, 210 and 220 °C
Using different brands of PLA
Lubricating filament
Installing a filament dust cleaner
Using both Bowden and direct configurations (my retraction setting for my direct drive setup is 0.8 mm, I am not sure what I used for the bowden but because the tube was fairly short it was probably around 3 mm. However I am not even printing I am simply running and stopping the extruder stepper, I am not using any retraction at all right now)
Buying a brand new E3D V6
Trying both 12 V and 24 V heat cartridges (with the respective power supplies of course)
Checking the temperature with other sensors (yes the temperature is displayed correctly)
Using acetone baths to clean all parts.
Using stronger and weaker heat sink fans and fan options
Push the filament manually
Performing PID tunes

Even after all that the extruder clogs up usually mere seconds after it has been fully cleaned and inspected before being re-assembled. I make sure there is no bit of plastic or dust/dirt present before I re-assemble the extruder. I also hot tighten the nozzle but I also tried to run it without doing it but it made no difference.
I would love some help with this problem because I am pulling my hair out figuring out why this keeps happening.

You might have a blown stepper driver.  A motor may run with low torque that is insufficient to push against the back pressure of forcing out the plastic when it must squeeze out against the build surface.

This was indeed the issue. Thank you for your help.

I have had one roll of filament that did this.  I'd get a jam, clean it out, and immediately jam again.
I got the filament from a friend who had reported problems using it, but I thought, "I have a Prusa3D i3m3-mmu2, I can print with anything."  Unfortunately, I could not.
I threw away the filament (first I've ever jetisoned so callously), replaced the nozzle, and was back in business.
So, some filament just doesn't work.
But, there is another possible problem to check -- you might have a problem with stepper driver.  Even with low current from a blown driver or badly adjusted driver, the extruder motor may spin.  It may even be able to extrude filament into the air through the hot nozzle.  But, the torque may not be sufficient to force the molten plastic as it pushes against the build plate.
Pushing the molten plastic against the build plate so that it "smooshes" well requires pressure, which comes from the push on the filament from the extruder gear, which comes from the torque of the motor, which comes from the current from the driver, which may be either blown or seriously mal-adjusted.

I had already tried a differed brand but I actually haven't tried a differed type of plastic. I assumed that PLA is just easier to print than other plastics in any way. I'll buy a spool of ABS and see if that works.

It turned out that the stepper driver on my duet 2 wifi board is defective which resulted in the extruder motor being poorly controlled which in turn caused the clogs, using a different stepper driver fixed the issue.
I am a bit bummed out that one of my drivers turned out to be defective since the board has barely been used but at least I got my printer to work.


text:
Define coordinates for Z homing
I have a printer with the following dimensions: L300 x W300 x H400. After flashing Marlin software, the extruder keeps homing at X77 Y50 instead of X150 Y150 that is the center of the printing area for me. Where can I find the appropriate line in config file in order to edit it with preferred coordinates. Unfortunately I can only find info on how to change offset of origin point. In my case origin point is correcty set.

Hi, did the answer help your problem or did you find a solution yourself? If the answer helped then please mark it as the accepted answer, otherwise post please post your own solution and mark it as the accepted answer. That way the question will be removed from the unanswered question queue. Many thanks.

If you enabled Z_SAFE_HOMING, then automatically the printer homes Z at the middle of the build plate, if the bed size dimensions are correctly defined (in your case X_BED_SIZE and X_BED_SIZE should be defined as 300).
In Configuration.h you can find:
#define Z_SAFE_HOMING

#if ENABLED(Z_SAFE_HOMING)
  #define Z_SAFE_HOMING_X_POINT ((X_BED_SIZE) / 2)    // X point for Z homing when homing all axes (G28).
  #define Z_SAFE_HOMING_Y_POINT ((Y_BED_SIZE) / 2)    // Y point for Z homing when homing all axes (G28).
#endif

If Z_SAFE_HOMING was enabled, and the bed properly dimensioned, it could be that the steps/mm are incorrectly defined.
Note that if a probe is used, the offset of the probe to the nozzle center is taken into account, this implies that the probe is moved to the center, not the nozzle. The code responsible for this is found in G28.cpp:
/**
 * Move the Z probe (or just the nozzle) to the safe homing point
 * (Z is already at the right height)
 */
destination.set(safe_homing_xy, current_position.z);

TERN_(HOMING_Z_WITH_PROBE, destination -= probe.offset_xy);

I.e. the ternary operation (TERN_) determines the addition of the probe offset.

It worked perfectly. The only comment is that it centers the BL TOUCH probe instead of the extruder nozzle. Do you recommend to subtract the distance between the probe and the extruder nozzle and modify the Z_SAFE_HOMING_X_POINT value accordingly or there is a smarter way to input that distance in an initialization stage of the code?

@STATHIS You should probe the middle of the bed with the probe, not the nozzle! This way the probe determines the height of the bed for the nozzle. But yes you can alter the values if you want, but that wouldn't be necessary.


text:
3D printer emulator
Hello everyone I'm developing a system to remotely manage several printers at the same time, using the OctoPrint API.
I would like to know if there is any way to emulate printers to do the tests, because I only have one printer and I would need several, even if they were virtual.
I tried simrerap but it seems to be too old, and didn't work.

An emulator? as in something that accepts the G-Code and runs it?

(I asked because I have one that can do that, but it is unreleased. I've considered releasing it; perhaps now is a good time)/

@user77232, I don need that it execute gcode right now, I just want that Octoprint detects it as a printer, to work with the API, read sensors etc etc etc....

Reading sensors requires executing g-code; octoprint communicates via printers with g-code. The emulator would need to be able to understand and "execute" g-code that octoprint sends to it.

@user77232, yes you are right sorry I was thinking on gcode only for tool move and print, but you are right all the communication is made with gcode

it's just serial communication, so you can make simple mockups with a PC or an MCU like arduino.

@dandavis can you share it?


text:
Low Accuracy while perfect travel movement
I own an older Anet A6. Flashed the Marlin Firmware on it (and think I configured it properly). Also updated to the latest 2.0.5.3 some days ago). The nozzle is a 0.4 mm one, direct drive extruder.
When printing calibration cubes I used
#define DEFAULT_AXIS_STEPS_PER_UNIT   { 99.7,  96.4, 400, 91.6 }

settings to correct for what I measured earlier. So the printed cube 20x20x20 mm came out almost "perfect".
Yet I faced another problem: scaling. So printing stuff 100 mm wide resulted in 97.2 mm prints. As if an error multiplied with the distance.
So I created a test object consisting of multiple "rectangles" (overlayed) in X and Y direction. Some of the dimensions were less than required and others bigger..
So the holes ("drills") were 0.4 mm too small (so half a nozzle diameter). In "Cura" I could fix that with the newly added inner hole correction or negative horizontal expansion values. Yet this would also "cut" the thin parts (top and right rectangle on the image - with a width of 1.2 mm - so 3 lanes of print material on my 0.4 mm nozzle).
Without and with adjustment the inner width of the rectangles is also off by more than 0.2 mm.
I printed with my normal speeds (80 mm/s for fill and even slower for other stuff) which creates fine output except the accuracy. I also printed at 20 % of this speed (so <10 mm/s for the first layer!) without any change. So it should not be the "acceleration/jerk" creating the issues.
I then restarted calibrating everything:

calibrated extruder (10 cm filament ... and measuring how much was really moved), was not off by more than 1 mm
calibrated axis by moving nozzle to a specific point and measuring X/Y/Z movement ... I needed to go back to 99.9 for X, 99.9 for Y and 101 for Z). So almost back to vendor settings.

I moved the hotend over and over - replicated the exact movement in all directions 20 times each. It did not "slide", so stuff started and ended exactly at the same spot each time.
Now I printed my test cross (and other stuff) and while the X-Axis was only a bit off "outside" (inside still a bit more off), the Y-Axis was only 97 % and height as it should.
I printed via:

RepetierHost 2.1.6
Cura 4.6.1
RepetierHost 2.1.6 + Cura exported gcode file and adjusted "speed" (25 % of Cura-settings)

Sum up:

calibrated extruder (10 cm filament measurement), calibrated axis (measured movement distance)
printed at very slow speed to avoid "acceleration/jerk"-inaccuracy (did it do that?)
prints are inaccurate yet precise (multiple prints result in same incorrect output)
calibrating "steps per unit" via calibration cube results in perfect calibration cubes but still "too small inner holes" and inaccurate prints of bigger dimensions

So: how to properly fix that issue? How to calibrate the dimension accuracy properly - is there something more than "steps per unit" to adjust?
Tried to find an answer here and elsewhere on the internet but seems I lack the right term to search for to find an answer. Hope you could help me.

My experience is that the steps/mm for X, Y and Z should be set based on the theoretical values (given belt and pulleys). A cube will not be accurate anymore, but it's not an issue of "scaling" (which the steps would correct), it's an issue of "offset" (fixed additional thickness). Basically, your dimensions will always be "expected + fixed amount" (typically half nozzle).

To be honest, I don't think 80 mm/s is considered normal printing speed, especially with a low budget direct extruder printer.

The 80mm/s should only affect "surface" or "stability" but not 3-4% dimensional "accuracy" . Yet I wrote that I also printed with 10 mm/s (and slower) without changes in regards to accuracy.

@FarO
Yes, this is what you could correct in Cura with a "negative horizontal offset" - but this also reduces thin walls so much, that eg a 0.8mm thin wall becomes a 0.4mm thin wall (so only one line of filament instead of two). And the 0.8mm thin wall would be printed very well.

I personally don't use those options, I just design my parts with a half nozzle or one full nozzle tolerance. Except for holes: I leave them as originally planned, so that the half-one nozzle smaller size provides plastic for directly screwing bolts (which thread the plastic themselves) in them. They are quite strong, unless you screw them too tight and you strip the thread.

I cannot design "around the flaws" of my printer (or FDM printing in general). I often print stuff for raw "prototyping" before sending them to professional services for final "printing" (laser sinting etc). For my private stuff I just make gaps a bit wider so stuff still fits.

You shouldn't calibrate the steps/mm for the X, Y, and Z axes. Just use the default settings which are based on the theoretical values for the given belts/leadscrews/threaded rods.
The mistake is in assuming that the error in the dimensions of the 20x20x20 calibration cube are purely due to the steps/mm setting. Due to a variety of reasons (inconsistent extrusion, measurement error, slop in the printer, backlash) no printed part will have its dimensions be perfectly accurate (no FDM 3D printer is capable of better than a few tenths of a millimeter accuracy in part dimensions). When you calibrate the steps/mm so that a 20x20x20 cube comes out "perfect", you are hiding all of these non-linear inaccuracies in a linear compensation of the steps/mm. When you then print a larger part, these inaccuracies (which are incorrectly compensated for in the steps/mm) get blown up.
Suppose your calipers had a constant error of +0.1 mm, i.e. every measurement reads 0.1 mm higher than it should. If you calibrate your steps/mm so that a 20x20x20 calibration cube comes out "perfect"; the actual size of the calibration cube would be 19.9 mm (which your calipers would read as 20 mm). If you then were to print a 100 mm part, it would come out as 99.5 mm which your calipers would read as 99.6 mm.
If you insist on calibrating the steps/mm you should do so by printing a part as large as possible. This ensures that the constant error is divided over a large part size, giving a better estimation of the actual steps/mm. However, usually the theoretical value is more accurate than what you can measure yourself, even with a part taking up the entire print bed.

10 cm filament ... and measuring how much was really moved

10 cm is a very short length; you would get a much more accurate calibration with a 100 cm length. However, calibrating the e-steps very precisely is kind of pointless. It is hard to do so precisely because extruding into free air (and at possibly a different speed than when actually printing) will result in a different amount of resistance and thus a different length of extrusion than during an actual print. You will need to calibrate for the diameter and flow characteristics of the actual filament anyways, during which calibration you can much more effectively compensate for small inaccuracies of the extruder steps/mm.
Perhaps it would be a good idea to look into the rigidity of the entire printer and how securely the parts are mounted. If there is a lot of play in the bed or hotend this could also explain why parts are turning out oversized.

10 cm is not so short: calipers can get at least 0.5 mm accuracy, meaning the final error would be 0.5% at most, which is ok. The other issues still stay, but 10 cm is not too short. Maybe I was lucky, but when I calibrate the E steps that way I always get spot-on extrusion.

How do you adjust extrusion multiplier? measuring wall thickness is even less reliable. Do you use the visual appearance of solid infill?

Thanks for your elaborative reply (@Oscar). The Frame is pretty rigid (tried fixed on a plate or just standing on some damping ground to avoid vibrations). If the "play" an axis has would affect it, then shouldn't the "precision" (not accuracy) vary? But as written the prints come out almost equal - with differing print speeds and differing materials.

Nonetheless... assume my extruder settings are off by a bit. Might explain the 0.4mm inner hole problem (which is half the nozzle diameter - multiplied by 2 as we have "left and right" borders - so more likely something slicers could handle, like Cura and others now offer optionally)).
Ok, so I print 96.5 instead of 100.00 millimeters.Assuming a double as wide extrusion as wanted: Shouldn't this lead to a "oversize" in X and Y direction?. 3.5mm is more than a simple "overextrusion" could explain.
I had the idea of "X * (small movements + error)" vs "1* (long travel command + error)". Hm.

@GWRon I'm not sure I follow the story any more. The Y axis dimension is coming out as 96.5mm with the Y steps set to 100? That is very extreme. Is perhaps the setscrew on the pulley loose?

If the pulley was loose, then the "travel movement" (just moving the axis without printing) would be inaccurate already - or not?. This is what I do not understand: a not-printing axis movement is correct while the printing one becomes incorrect - as if "printing" takes away some power from the motors.