text:
Z homing problem; starts printing in the air
I have a DIY 3D printer with Marlin firmware. I use an LJ12A3-4-Z/BY sensor for the Z probe. Recently I have had a ridiculous problem with Z homing.
In doing Z homing, it senses the bed, goes up, and stops, it doesn't go back to the bed...
In doing Bed leveling, it goes up without sensing the bed and in the next step goes even higher and higher.
If I ignore bed leveling, it starts printing in the air. If I still use bed leveling, the Z axis moves in long courses in every layer.
It looks like it is saving the wrong Z-axis position as home! These are some related settings that I think of:
#define Z_PROBE_OFFSET_FROM_EXTRUDER 0.25   // Z offset: -below +above  [the nozzle]

and
// Travel limits (mm) after homing, corresponding to endstop positions.
#define X_MIN_POS -3
#define Y_MIN_POS -3
#define Z_MIN_POS 0

and
// For M851 give a range for adjusting the Z probe offset
#define Z_PROBE_OFFSET_RANGE_MIN -20
#define Z_PROBE_OFFSET_RANGE_MAX 20

What changed to have this happen? Did you change anything? Have you checked and replaced cables, remounted cables to the printer board?

A few months ago sth in my power supply went wrong. It fried my MKS board and stepper drivers. I replaced them and I connected power supply earth to ground because I found some current leak in the Aluminum structure of the printer... I guess that was the reason it fried my board. Since then I have this problem randomly, sometimes. But now it is happening every time!

So you have this issue since you swapped hardware, but now more frequently, did you replace the PSU and board (and stepper drivers). This does sound like a hardware failure, please check, replace and re-seat cables and connectors. Personally I would have bought another controller board and rewired the printer to be sure. This is most likely not a firmware issue.

I replaced Board and drivers. didn't replace the PSU. It was happening frequently but it's been a while that happens every time and I can't print anything! still I'm not sure it is because of hardware failure only.

I have a PNP proximity sensor with a 7805 regulator... inverted logic in marlin. Using M119 z probe is open before z homing, gets triggered after, even though sensor led is off. It keeps being triggered!!!


text:
Why does my print have extra layer(s) which keep moving parts locked?
I just bought & received my first 3D printer and built it and tried my first print on it.
It is this printer ELEGOO Neptune 2S
I printed the following item (chip clip) as a test.
The top of the item looks exactly correct.

However, the bottom (where the print started) is slightly "bonded" (still connected).
If you look closely you can see the outline of the teeth.

Can you tell me what might have caused this?
Am I using an improper material?  (This was test filament that came with printer).
Was the printer not close enough to (or too far from) the bed?
Is there possibly something I should've changed in the settings of the drawing?  I left them the same as they were in the downloaded file.

Looking at the rest of the print, since that is the bottom, it looks like it might be "elephant's foot" (expansion of the initial layers). Can you [edit] in additional printer settings?

PLA will usually break eventually when flexing in a design like this. ABS or PETG works better when you want to flex the material.

You have "elephant foot".  Look at the left end of the grip section of the clip in your second image -- see how the thickness increases toward the top (which was the bottom, against the build surface, when printing)?
There are a number of causes for this; in your case, it continues for several layers, so the basic solutions (reducing first layer extrusion in slicer settings etc.) won't fix it; you probably have the same issue I do, with the Z axis not moving quite far enough on the first 3-4 layers after the initial.
I'd suggest you start looking for the solution by printing a calibration cube, and measure how much height you're losing.  You might also want to draw up some simple calibration prints with one, two, three, and four layers to see the actual height those first few layers are getting, vs. what your layer height setting is.
This will help confirm the problem.  Solving it might involve several kinds of tuning, but they'll all revolve around making the first few layer moves up from the start closer to their nominal height.  Once layers 2, 3, and 4 are right, once you get a good initial layer, your prints will be significantly improved -- especially print-in-place parts like this one.

This is good info & just what I needed to give me some ideas to begin troubleshooting this.  I will try the various things to solve elephant foot & see if it solves it for me.
And, very good explanation and for noticing and pointing out the "elephant foot" that is on the clip handle area.  Now that I've looked more closely it is evident that is the problem.  I will see what I can do to resolve it.  Thanks

As much as I enjoy that green check mark, it's usually suggested to hold off on accepting an answer for at least 24 hours -- that allows time for people who might not be awake or reading the site right now to provide answers that might well be better than mine (I've only been doing this stuff for four months, so I'm still pretty new, too).

On machines like this with springs under the bed, multi-layer elephant foot can sometimes just be a bed height issue, not a Z motion issue. So check both.

Or related to unbalanced printing parameters: heat bed temperature (too high) in combination with insufficient part cooling.

source: Stack Exchange

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

sort: votes


text:
Ender 3 V2 ignories Z-axis limit switch
My shiny new Ender 3 V2 seems to ignore the Z-axis limit switch, when I print a model. It moves the nozzle so far down, that it scratches on the bed and destroys the nozzle.
However, when I use the Auto Home function it lowers the nozzle until the limit switch clicks and than stops.
After disabling the stepper motors, the printing platform can be leveled. When after that a printing process is started, Z-axis comes down, the limit switch clicks, but the Z-axis goes about 1.5 mm further down ignoring the switch.
As a result, the nozzle is pressed with such force to the platform that no filament comes out of the nozzle and is grated with such force that the nozzle and the platform get damaged.
I checked the Z-axis offset in the software to be zero. I moved the Z-axis limit switch higher, to check if the behavior changes without success. The installed firmware version is 1.0.2.
Can someone tell me why it ignores the Z-axis limit switch during printing, when it reacts to it during the leveling process? I just want to print my first ever model.

Do you have a Z-offset limit active in your firmware? Be sure that when leveling the bed with inactive steppers, you need to make sure you home Z once in a while (when moving the head and bef by hand it is easy for the head to come down/up).

Has it ever worked ?  Could be the switch is not activating so never being seen ?   Test the switch in isolation using a multimeter with a continuity mode, or a small battery and a suitable light bulb.

I finally found the problem. The threaded rod of the Z axis was not mounted tight enough to the motor. This resulted in the slipping of the Z axis by large accelerations of the motor.
So... tightening the threaded rod connector socket and redoing the leveling solved the problem.

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


text:
Would it be possible to use an Arduino Uno to interface with my Ender 3 pro so I can program it to beep when done?
I had an idea to make a program for my Arduino Uno that beeps whenever a print is done, but I can't find anything about interfacing it with the printer as all Google gives me is stuff about making a 3D printer from an Arduino.

Yes you could. But, as an alternative to the Arduino Uno, it might be far easier to send a beep by G-code M300 (or here for Marlin firmware), this will bypass the need for an Arduino Uno entirely. You can even play the soundtrack/theme of Beverly Hills cop from this previous answer.
You can add the (set of) G-code(s) to the "end G-code" in your slicer.

I can't find a way to add a custom script at the end in cura

In Cura, go to your printer configuration and change machine settings, add code in the end G-code script.


text:
Is it possible to store skew correction values in printer.cfg file in Klipper?
The Klipper documentation describes how I should apply skew correction:

Print the test model (I printed this 100x100x100 3-dimensional model)
Make the measurements (I have got about 0.5...0.6 mm errors at all of the axes)
Send skew correction G-code at the beginning of the print

This does not look like the most convenient way for me. I'd like to add these values to the Klipper configuration file to make all my prints more straight. However, I did not get the idea of how to edit printer.cfg file properly.
I'm aware of the possibility of going beyond the printing zone. I suppose that for my case (only half a millimeter on a 100 mm model) can not lead to any issues with my printer mechanics.
In the documentation, this part is not adding any details.
Can someone post some examples or short instructions to make this possible?
If you need this information: I have the original Ender 3 (3 y.o. or so) with no kinematics or electronics improvements. Only head modification: V6 with BMG direct extruder.
UPDATE
I tried to append the following to printer.cfg file:

However after restart I see error message:

Is it even worth to correct for 0.5 mm over 100 mm? it's half percent and it could be even caused by measurement errors.

@FarO, I'm printing now two relatively large parts (200 mm in height) which should connect to each other. After I printed them in different orientations (I needed to orient them in this way) and the missalignment is clearly visible. So I try to fix this now.

You need to enable skew correction in the printer.cfg
[skew_correction]

You need to enter your skew numbers into the console and save it. This will save your skew profile to the bottom of printer.cfg.
SET_SKEW XY=141.22,141.15,100 XZ=140.87,141.34,99.84 YZ=141.12,141.26,99.94

SKEW_PROFILE SAVE=my_skew

Also, Klipper docs warns about skew correction causing problems:
https://www.klipper3d.org/Skew_Correction.html#caveats
You need to add SKEW_PROFILE LOAD to your START_PRINT macro and SET_SKEW CLEAR=1 to your END_PRINT macro. You can either add this to your macros in Klipper or slicer program.
My skew parameters may be different from yours. I recommend you to perform your own measurements. My printer is an Ender3 S1 with linear rails.
START_PRINT macro. Skew profile is loaded before the print starts.
SKEW_PROFILE LOAD=<your_skew_profile_name>

END_PRINT macro. Skew profile is disabled before the print is presented.
SET_SKEW CLEAR=1

It would be helpful (and searchable) if the 'code' was actual text instead of screenshots. Please use the [Edit] feature to improve your answer.


text:
Tronxy X5SA not working properly after Marlin firmware installation
Yesterday I installed Marlin firmware, 2.0.x bugfix version on my Tronxy X5SA (v6).
I did it in the way explained on GitHub, with Visual Studio Code, Platform IO, Marlin auto build. I applied the recommended modifications in the Tronxy example.
The firmware compiled successfully (the bugfix sources as the 2.0.9.1 source gives me an error - I may open another question for it), and is starting successfully on the printer. But, I have these 2 issues:

When the printer starts, the bed stays in a low position (about 20 cm from the nozzle) and I cannot get it lifted up to reach the Z sensor. When I want to lift it up, I can only lift it by 10 units, then it's on 0.00 and it does not move up anymore. I was used to doing the Z offset manually with the Tronxy firmware, by lifting the bed with the firmware tool. Here, I cannot do it. When reaching 0.00 it does not move up. I could not identify a parameter for it in the config file and/or tutorial.

I tried to start a print, nothing happened. Even the nozzle/bed warmup didn't work, nothing was heating up. I tried manually to enable bed/nozzle heating, and it worked.

Home position setting. Seems the home position is not correct with X-axis, despite the fact that I did set the printer dimensions in the file. How do I fix it?

As you probably already understood I cannot get anything to work properly so far with my printer and Marlin.
Maybe one of you already faced the same situation with that printer and Marlin, or you might maybe know a good place where I can find a tutorial matching my setup that I can apply the same. So far I was not able to find a thread helping me to get this fixed.

I downloaded the file corresponding to X5SA from GitHub, configuration.h, and used it. I just applied the recommended changes from the page of X5SA example (with the calculation) to it.
The reason why I used the bugfix source is that I was not able to compile version 2.0.9.1. It ends up with an error message I was not able to fix. Only the bugfix version did compile.

Sounds like you need to home the printer, otherwise, it has no way of knowing, where the actual "zero coordinate" is. The printer will "never" go beyond 0 for safety reasons.

Do you have the cables plugged into the correct ports on the motherboard?

What do you mean by "home position is not correct"? Bed dimensions have no influence on homing since homing put the printer to XYZ 000. And zero is always on the endstop.

Also, if you can post your config - Configuration.h and Configuration_adv.h, it would be helpful.


text:
Can the Ender 3 Pro be upgraded to use PETG
Is it possible to buy/upgrade the nozzle on my Ender 3 Pro to one that is suited for handling the higher temperatures needed to effectively print with PETG filament?

No hotend upgrade is required to print PETG on an Ender 3 (pro or any other variant). The stock hotend can be used at temperatures up to 250 ˚C, and 230-245 ˚C is the range typically recommended for PETG. I print it at 245 ˚C.
You may however want to upgrade the extruder. The stock extruder lacks both torque and grip, and significantly skips/slips when trying to print PETG at any significant speed. Going over 40 mm/s or so is likely to produced failed prints. Look for an extruder with gear reduction and a hob that's designed to grip the filament better (vs the flat one that comes with the printer) or even dual driven hobs.

would it be one made by the same company, im somewhat new to this so I'm not too sure where I would look etc

I'm not sure what kind of simple drop-in-replacement geared extruder is best for Ender 3 type machines these days. I have a rather fancy remote direct drive extruder on mine, which I'm very happy with, but you don't have to go that direction to get good results. I know a lot of ppl use Bondtech BMG or clones of it and recommend them, but there might be something designed for more direct mounting on E3 that's easier and less expensive.

would it be easier just to reduce the speed, or would that cause worse problems? I think I found one that is compatible but I'd like a second opinion lol Redrex Upgraded Aluminum Bowden Extruder with 40 Teeth MK8 Drive Gear for Ender 3 V2,Ender 3 Pro,Ender 3,CR 10 and Other Reprap Prusa 3D Printers https://www.amazon.ca/dp/B07DDGGN92/ref=cm_sw_r_apan_glt_i_KM48SA9GKYMGPXNEP7GD

I also found replacement grip gears for lack of a better term, that have solid reviews so that is probably a better idea.

@TristanAdams be sure to check that you can remove your hob before spending on a replacement.  My Ender 3 has a pressed-on hob, non-removable (without a wheel puller).  Cheaper for Creality, requires a new stepper if I want to replace the hob.

good point I'll check after my current print is finished. :)

@Zeiss Ikon yeah I'd need a new stepper thanks for the heads-up :)

Still not expensive -- seems to me they run around $20 for the stepper only.


text:
Automatically split a part for separate extruders
Hopefully this isn't too vague, but I have a question I just can't figure out:
We're in the midst of possibly designing a new printer.  I can't give too many of the details away except that its somewhat like an "IDEX" printer where different extruders will print different parts of a print.
Now I understand how to split an .stl into two and assign extruders to each area.  I have a Prusa with an MMU on it and I also have access to a J750 that does something similar. I've split things in Blender and imported them as assemblies of stl's, where each stl is assigned a material.  My question is more like:
-If I wanted to split a part by location and assign extruders, and I wanted to do this quickly in a slicing software (instead of in a cad software prior to getting into the slicing software), is this possible?  Is there a software (Cura/PrusaSlicer/something else) that already does this? I.e.  the 'right-most' part of the print will be one extruder, the 'left-most' will be another.  Something like this:

P.s. I know in PrusaSlicer you can "paint" where a material will be, but this would be more of a "chop"

Is this a use case that you are trying to solve for or is this only to test the printer? I'm struggling to see where you might use this function in a real print. Seems like it will just introduce print quality issue and Z-seam for no gain.

Also if you expect users to do this split with all models you will limit them to only slicers that can do this.

Slic3r/Prusaslicer has some tools where you call out shapes superimposed over the print, like resizable cubes, and these make zones where you can load separate slicing profiles just for what is in the cube(s). Maybe you could define a different extruder for two profiles and assign them to the part that way?


text:
Lead screw orientation
Wouldn't it be better to mount lead screws with the motor on top and the bottom end unconstrained? Compared to the conventional way (motor on the bottom) the lead screw would be under constant tension rather than compression and any misalignment would always be "pulled straight" and in this way minimize z-wobble.
Here is a image for clarification:

With the motor on top the load of the bed will help to move the lead screw in line with the mount. In the opposite case the load tends to further increase any misalignment.

Are you thinking of buckling of the screws? I don't think the mass of the gantry will be enough to cause the screws to buckle.

Is this from the perspective that the lead screw can flex more if the bed connection point is farther from the rigidly fixed motor side and that will allow for more misalignment? If so my answer may not be really valid.

See answer below Furthermore, the whole X-gantry is usually constraint in movement by the use of linear guide rods or rails. Basically the movement is limited in X-Y, only the lead screw imperfections can push it sideways, not the buckling of the screw.

In CoreXY printers the whole bed rides on the Z screws. In their case the main constraint is space, the corner areas occupied by the X,Y gantries and their motors, no room for extra motors for the table. But in that case they are constrained at the gantry end, no wobble there. Also, you want least wobble nearest to Z=0, as it will impact small, most precise prints. You can usually afford less precision for the top of largest prints occupying the entire build volume.

No, but the answer could depends on how you set up the lead screws, what kind of lead screws are used and how they connect to the stepper. Also it is important how you transfer the linear Z motion into the X gantry.
Note that regularly used TR08 (Trapezoid, 8 mm) lead screws are stiff enough to not flex under the limited load of an X gantry. So, putting them upright or down should not make a difference. Furthermore, the whole X-gantry is usually constraint in movement by the use of linear guide rods or rails.
Note that lead screws are not perfect, certainly the cheaper versions (ball screws are better in that respect). The imperfections can cause the lead screw nut to move in the X-Y direction. If the nut is firmly attached to the X-gantry, this movement can be seen in the print like e.g. waves in Z-direction we call Z-wobble. There are designs like these or these to mitigate that problem. Leaving one end free (so not constraining both ends) of the lead screw is also a mitigation as with constraining both sides, you over-constrain the screw. Note that the spring couplers you see applied frequently are great for misalignment of stepper motor shaft and lead screw, but are detrimental for the Z-axis. When using such couplers for shaft misalignment, you should constrain at least motion in Z-direction.

The motor is mounted in a fixed position no matter if it's on top or bottom.
You can imagine the lead screw as a rod hanging down and supporting the bed in the Z direction only, because all of the XY rigidity comes from the Liner rails the bed is attached to it works just as well if the stiff rod is under compression instead of hanging from the rod.
Any forces that might "pull it straight" are the same forces that can cause Z wobble so you would not want to even try to use the misalignment to straighten a bent lead screw.
The only thing this that really changes with this orientation is if the lead screw is under tension or compression. Even a relatively thin lead screw can easy counter the forces of gravity and the forces is the same in both directions. Its easy and cheap to make a smooth rod or rail straight but not so easy to make a threaded one straight.

thanks, I understand. My image above implies that the nut/gantry assembly  can slide left to right which in most cases is not true - so, as you already mentioned this will result in the same forces. though if you've had a kinematic coupling this might be a different story


text:
What does CRASH_RECOVER mean from Octoprint?
When watching the Raspberry PI daemon.log while running OctoPrint, I see contents like the following, which occasionally includes enqueing "CRASH_RECOVER" (but I do not see "CRASH_DETECTED"). This is usually preceded by "INFO - Got a resend request from the printer"
But what is it telling me when it logs enqueing "CRASH_RECOVER" ?
Sep 16 17:22:23 octoprint octoprint[413]: | Recv: T:215.3 /215.0 B:59.8 /60.0 T0:215.3 /215.0 @:65 B@:69 P:0.0 A:42.5
Sep 16 17:22:23 octoprint octoprint[413]: | Recv:   0 step= 1 mscnt=  30
Sep 16 17:22:23 octoprint octoprint[413]: | Recv: tmc2130_goto_step 1 1 2 1000
Sep 16 17:22:23 octoprint octoprint[413]: | Recv: tmc2130_home_exit tmc2130_sg_homing_axes_mask=0x02
Sep 16 17:22:23 octoprint octoprint[413]: | Recv: echo:enqueing "CRASH_RECOVER"
Sep 16 17:22:23 octoprint octoprint[413]: | Recv: T:216.4 /215.0 B:59.8 /60.0 T0:216.4 /215.0 @:49 B@:49 P:0.0 A:42.6
Sep 16 17:22:23 octoprint octoprint[413]: | Recv: echo:busy: processing
Sep 16 17:22:23 octoprint octoprint[413]: | Recv: Resend: 67875


text:
What is the optimal temperature for PLA+?
I'm planning on switching to using PLA+ and am slicing a few models, I'm wondering what the typical optimal temperature for PLA+ is with the Ender 3.

AFAIK every manufacturer has some suggested temperatures for their products. Beside of that the temperature you are printing with depends on your local setup. So it is a good idea to make some testprints with new filament. Print a temp tower and see which temparture performs best for yours.

There are multiple formulations for PLA+ and you have not specified a manufacturer, so we don't have enough information to give a specific answer that isn't a guess.

What is PLA+? How is it different from PLA?

Usually the filament spool will have a range of temperatures for the best nozzle temperatures and bed temperatures to use.  To answer your quesstion there are several considerations.

Not all PLA's are the same and that is probably even more so with PLA+.  That is where the temperatures written on the spool come in handy.

Optimum temperatures will vary for different printers.

Optimum temperatures will vary depending on the print job: large versus small; thick versus thin; short verses long; etc.

Optimum temperature will vary depending on print speed, as well as enclosure or lack of, and air circulating through enclosure with fans.

You may need to tweak settings to get the optimum print.

Also note that filament vendor's temperature ranges are usually specified assuming you're printing at snail speed. If you'll be going significantly faster you probably need to increase them. This isn't just compensation for an underpowered hotend not keeping up (which can be an issue) but for the heat that needs to be transferred to the previous layer to get the new one to bond to it, which can be reached at low speeds just by having the nozzle dwell in the vicinity for a long time but needs a hot nozzle at high speeds.

@R. I thought about this with 3, but it really belongs separate thus 4.


text:
Running SLA printer in the bedroom
How safe do you think it is to run an SLA 3D printer in the bedroom? I am planning to run Mi Air Purifier 3H/C while the printer is running, I am also thinking about adding this inside the actual printer (Elegoo Mini Air Purifier with carbon filter).
Is this safe or still too risky?

Ugh I wouldn’t sleep in a resin room. Any way you can put it in the bathroom and run the fan? Or garage, porch/balcony?

even with all this air purification?

Danger Will Robinson!
Fumes
SLA/DLP printer resins contain skin irritants inside the solvent, and those create rather noxious fumes. As described in Best way to deal with Resin Printers in your living space that can become a health hazard, and can result in pulmonary irritation. Those irritants are molecule sized organic compounds, and even the best filters require an industrial-sized filter stack to catch everything.
In industrial manufacturing, rooms with resin in them usually require PPE that includes at least basic breathing protection, so having it in your bedroom, where you spend on average 4 to 8 hours a day, does expose you to more than the maximum allowable dose for an industrial worker.
Spillage
Working with liquid resins is like working with 2 component glues: as careful as you are, you'll have some spillage or rests on trays. These need to be handled, and while with very high viscous epoxy one might get away without gloves and low-level PPE on a small level, the very fluid resin and the IPA used to wash your prints make spillage and droplets escaping the confinements where they belong a problem that is not just academical but bound to happen.
A dedicated wash-and-cure area for your resin 3D prints in somewhat close proximity to the printer and both outside of your sleeping environment is something that is highly advisable.
Conclusion
While lower irritant resins have come to the market since 2020 that have less odor and release fewer noxious solvents, the best way is still to minimize exposure and thus put the resin printer in a room that isn't your bedroom.

I'm running an Elegoo Saturn in a spare room, the smell is barely noticeable.
People tend to be over cautious about these things. Particularly Youtubers, because of fear of litigation, and because they tend to be at close quarters to resin for long periods of time.
It's perfectly safe to have a resin printer in a bedroom so long as you run the printer next to an open window, and keep the cover on.
My advice would be to store your resin separately (in a garage, for example) and to cover the tank with a proper snap on cover (or better yet to pour the majority of the content back into a bottle and store it outsides) over night.
Don't try to run the printer while you are sleeping. Not because of the fumes (which I would be concerned about) but because it will absolutely destroy your ability to get a good night's rest due to the repetitive noise.
For me, it's actually the IPA fumes which are the biggest problem.


text:
Need help printing a quality first layer, but having adhesion and fill issues
I am attempting to print a model that is too tall to print up-right and it has a large flat side that would be my first layer but ultimately would be the side of the object and I'd like it to look presentable.  I'm using wood PLA, so I intend to sand and stain it.
I've had no issues with adhesion when using a raft.  The slicer lays down a thick first layer that sticks beautifully.  Here's the first layer of a raft - nice thick lines:

But when I try printing without the raft (even when using a brim) that first layer is not only thin, but easily moves away.  Also the lines meld together creating gaps in the layer. And that's no skirt around the outside, that's the side of the model that doesn't touch the fill.  I have to imagine this would be awful rough and impossible to sand out if it finished.

By the second layer, the friction is picking up the first layer and it catches the extruder and bam:

I've done some research suggesting higher temps, both of the extruder and the plate.  I did see an improvement in the lines, but it still doesn't stick well.  And what is considered a good temp?  how do you know if you went too hot?
Any recommended settings in the slicer to make the bottom layer smoother?
The printer is a FlashForge Creator Pro.

I'm not convinced that the nozzle is too far from the build plate.  I have carefully leveled the plate, and watch the extrusion and it does lay it directly onto the plate.  Also would that cause the fill not to touch the sides?

Also would that cause the fill not to touch the sides? Yes, it would if there is too much space it would cut the corners, hence the hints to this distance (the images support the hypothesis). What are the temperatures, speeds, nozzle diameter, overlap with perimeter, what slicer, ...

The extrusions look great to me, it just appears to me the nozzle is starting too far from the bed. If you go in to your slicer and subtract 0.1 to 0.3 mm or so from the Z-offset that might fix your issues. Or follow the supplied directions on how to tram (level) your bed as this tends to include setting the starting Zgap.

If you did set the gap to your satisfaction I would recommend still changing the offset in -0.1 mm increments and checking if the print sticks better each time.
I would always recommend a thicker first layer for most any FDM printer. It conforms much better to any variations in nozzle to bed distance. For a more reliable bed adhesion.
On a 0.4 mm nozzle I use 0.3 mm for a first layer height. You may have to adjust first layers speeds to help with this. Something around half normal print speeds have worked well.

Bumping up temperatures as you have you have done is a way to get better adhesion but I feel this should be more of a last resort, you have other better options for bed adhesion such as a proper Z gap and thicker first layer.
20 °C is a large extruder temperature increase, this could cause cooling or warping issues later. I have spent a lot of time tuning my printers and have seen first hand the dangers of tuning out one issue only to find out later that change solved the issue I was focused on at the time but added two more issues at a later time.
I recommend adjusting settings that effect the fewest other unrelated aspects first. In this case that would be starting Z gap, clean bed surface (free of hand oils) then maybe bed temps. Unless you happen to be printing at a unusually low extruder temperature I would avoid adjusting print temperatures to solve bed adhesion issues.

Thank you for taking the time to answer.  I did find the Z offset in the settings, but before trying it I just jacked up the heat of both the extruder and plate, and increased the size of the first layer.  It printed much better... the fill overlapped the sides and the lines all touched.

Update my answer. I still feel the excessive Z distance is your primary issue, even if changing other settings has helped.

After some trial and error, the answer seemed to simply be to "add heat." I bumped both the heat of the plate by 15 °C, and the extruder by 20 °C.
I also increased the size of the first layer to between 0.3 mm and 0.4 mm and it's looking much better.

A layer height should not exceed about 75 % of the nozzle diameter, what nozzle size do you have? Furthermore, the issue of bed adhesion may be solved, but clearly there is something still incorrect if you look at the first layer.


text:
STL files and physical dimensions of a 3D printed object
I understand that an STL file contains all the coordinates of all the vertices of all triangles that a surface may be subdivided into. But it does not contain the physical dimensions of the model.
However, in Tinkercad, we create a 3D model with very specific dimensions in mm.
We then import the STL file into a slicer where it appears with exactly the same dimensions we set up in Tinkercad for the object. After converting the STL to G-code, the printer prints the 3D model with the dimensions we intended it to have.
How is all that possible if the initial STL file does not have information about the physical dimensions of the object?

STL is unit-less, but everything that cares about units will pick one.
Typically, the unit picked is mm.
But even if that's not the case, you can always scale it with a unit conversion ratio after importing it.

I see. So the slicer automatically assign "mm" as a unit to the STL geometry. thanks

If I say I want you to cut the string I give into 3 equal pieces, and then I give you a 12" long piece of string, where is the unit assignment taking place?  Do you assign "mm" to something?

But we pass a STL file to the slicer and the STL does not have dimensional information. So the slicer must interpret that dimension in a certain unit. user10489 mentions that the software will pick a unit...

So usually the unit is picked when the software is written, so like, it is always mm for that software.   But I had one software package that would say "This object is tiny, it looks like you drew it in inches instead of mm" and would automatically scale it without asking -- frequently incorrectly.

meaning that if say I programmed a slicer to use inches (I don't think there's a lower unit) the resulting G-code would result in a different sized print than if I processed it in say Cura?


text:
Slicing a non-closed mesh - extrude only on faces, no volume
I have a seemingly unique problem. I'm trying to design models that print with single extrusion walls and are not closed volumes. For example, a topographical map model printed on an edge. It has height and width, but no depth. I want the model to print with a single, non-closed extrusion per layer. Printing back and forth as it moves up the model.
When slicers cut up a model, historically each plane must result in a closed shape. The slicer then determines the tool path to create that shape. But what if, instead of a closed shape, the slice results in lines. No area or volume, just lines. Couldn't the slicer then create a tool path at each line?
Is there anything like this available anywhere?
Also, to be clear, I've been doing this 3D printing thing for a long time and know pretty well how slicers work and their resulting models. I've also been 3D modelling for a long time.
The simplest solution I can think of would be to modify a slicer or find a plugin or something that already does what I'm looking for. The second possible solution would be to find 3D software that can "extrude" an arbitrarily complex surface in such a way that normal slicing software with the "detect thin walls" setting enabled would result in a single extrusion resulting in the desired outer surface. I haven't found either in my searching.
The solution should work with nearly any extrusion width or any nozzle. You have a 0.4mm nozzle, you can print the part with wall widths anywhere from ~0.4mm wide to around 1mm. Your choice when slicing. If you have a 1mm wide nozzle, you could print the part with much thicker walls. It would be configurable in the slicer because the model only defines the surfaces, no volume data.
Like I said, this is a seemingly unique problem.

Use Cura to slice and check out the "Surface Mode" option (might be hidden by default; if so, search for and unhide it). Also known as magic_mesh_surface_mode. The "Surface" choice sounds close to what you want and might suffice.

This sounds very promising! Thanks for the pointer. I'll check it out!

Yes, this is what I want! I've been looking for something like this for so long and now you've found it for me! So exciting!

If you are designing a model that has single extrusion walls, you are constructing a design which has volume. A single extrusion wall will be dependent on the nozzle diameter and extrusion multiplier. For the sake of discussion, consider the theoretical nozzle 0.4 mm with a true 0.4 mm extrusion and a 0.2 mm layer thickness.
Your design should reflect this fact. You can/should design your non-dimensional lines to be 0.4 mm wide and 0.2 mm thick in whatever manner you use to create models.
Slicer settings can be adjusted to permit single extrusion walls. A common example is vase mode, in which the printer is directed to construct a single extrusion wall in a specified pattern, usually with an appropriately thick base.
The caveat in this case is that the model file was created to match these requirements. It will be represented as a solid with a thickness to the wall appropriate to the nozzle size.
If you create test models representing a small sample of your overall project and slice them with your preferred slicer, you can examine the resulting g-code, or use the preview feature common in slicers to determine if your objective is accomplished.
In summary, every 3D printed model has all three dimensions. This cannot be avoided, other than in a virtual/simulated environment.

You see, I don't care what the volume of the resulting print is, I only care about the surface I model. So no, I'm not designing a model with a volume, but a model with a surface. Yes, the resulting printed model will have a volume, but I'm not designing it. Conceptually, it is quite simple to take a non-closed model, and put an extrusion such that the surface of the extrusion matches the model surface, using the face normal to determine which side of the model surface the extrusion is placed. The extrusion thickness setting in the slicer can be used to determine the offset of the tool path.

You can also have a look at Chisel, it basically does what you want - creates G-code directly from parametric patches (Bezier, Nurbs), you have fine control over extrusion width in every part of your model (perimeter, infill...).
It's optimised for efficient structural panels so currently always expects 2 faces + infill configuration (could be none for hollow structure), but I will very soon add features like specifying arbitrary number patches with no infill, that way you will have full freedom to design part however you like.


text:
Marlin firmware 2.0.9.1 for X5SA example : MM_PER_ARC_SEGMENT Compilation Error
I have a Tronxy X5SA printer upon which I want to install the latest Marlin firmware v2.0.9.1.
I take the configuration example on GitHub for the X5SA printer and modify the lines in configuration.h as recommended in the guide (see this URL).
In Visual Studio Code, when I compile, I obtain this error :
Marlin\src\gcode\motion\G2_G3.cpp: In function 'void plan_arc(const xyze_pos_t&, const ab_float_t&, bool, uint8_t)':
Marlin\src\gcode\motion\G2_G3.cpp:154:7: error: 'MM_PER_ARC_SEGMENT' was not declared in this scope
       MM_PER_ARC_SEGMENT
       ^~~~~~~~~~~~~~~~~~
Marlin\src\gcode\motion\G2_G3.cpp:154:7: note: suggested alternative: 'MAX_ARC_SEGMENT_MM'
       ^~~~~~~~~~~~~~~~~~
       MAX_ARC_SEGMENT_MM
Compiling .pio\build\chitu_f103\src\src\gcode\sd\M20.cpp.o
*** [.pio\build\chitu_f103\src\src\gcode\motion\G2_G3.cpp.o] Error 1
========================================================================================= [FAILED] Took 71.95 seconds =========================================================================================

Environment    Status    Duration
-------------  --------  ------------
chitu_f103     FAILED    00:01:11.945
==================================================================================== 1 failed, 0 succeeded in 00:01:11.945 ====================================================================================
PS D:\TRONXY\Marlin-2.0.9.1\Marlin-2.0.9.1> echo "done" >C:\Users\myUser\AppData\Local\Temp\ipc
PS D:\TRONXY\Marlin-2.0.9.1\Marlin-2.0.9.1>

Here is the code in G2_G3.cpp on line 154, but I need some help to understand why it's wrong, and how to fix...
 // Start with a nominal segment length
  float seg_length = (
    #ifdef ARC_SEGMENTS_PER_R
      constrain(MM_PER_ARC_SEGMENT * radius, MM_PER_ARC_SEGMENT, ARC_SEGMENTS_PER_R)
    #elif ARC_SEGMENTS_PER_SEC
      _MAX(scaled_fr_mm_s * RECIPROCAL(ARC_SEGMENTS_PER_SEC), MM_PER_ARC_SEGMENT)
    #else
      MM_PER_ARC_SEGMENT // LINE 154 HERE!!
    #endif
  );
  // Divide total travel by nominal segment length
  uint16_t segments = FLOOR(mm_of_travel / seg_length);
  NOLESS(segments, min_segments);         // At least some segments
  seg_length = mm_of_travel / segments;

I have tried to compile the BugFix version successfully, but unfortunately the bugfix version does not work properly with my printer (I can't get the bed to lift to the probe. I have opened another post for the bugfix version issue).

The compiler can't see the definition of MM_PER_ARC_SEGMENT. Find the file that it is declared in and ensure that file in included in the compile command, as an include (#include) or path or whatever.
Looking at the current Configuration_adv.h on the Marlin Github repository, the definition is at Line 2033 in the section at Lines 2028-2041
//
// G2/G3 Arc Support
//
#define ARC_SUPPORT                 // Disable this feature to save ~3226 bytes
#if ENABLED(ARC_SUPPORT)
  #define MM_PER_ARC_SEGMENT      1 // (mm) Length (or minimum length) of each arc segment
  //#define ARC_SEGMENTS_PER_R    1 // Max segment length, MM_PER = Min
  #define MIN_ARC_SEGMENTS       24 // Minimum number of segments in a complete circle
  //#define ARC_SEGMENTS_PER_SEC 50 // Use feedrate to choose segment length (with MM_PER_ARC_SEGMENT as the minimum)
  #define N_ARC_CORRECTION       25 // Number of interpolated segments between corrections
  //#define ARC_P_CIRCLES           // Enable the 'P' parameter to specify complete circles
  //#define CNC_WORKSPACE_PLANES    // Allow G2/G3 to operate in XY, ZX, or YZ planes
  //#define SF_ARC_FIX              // Enable only if using SkeinForge with "Arc Point" fillet procedure
#endif

Ensure that you have ARC_SUPPORT enabled - do not have the following line (2031) commented out:
#define ARC_SUPPORT


text:
Are heated beds or auto-levelling systems worth paying extra for on an entry level filament printer?
I've been using a resin printer for some time now, and am looking for a filament printer to compliment it. It will mostly be used to print scenery or bases to match 3-6" models printer on the resin printer.
I'm aiming for an entry level printer, or possible a mid level one on black Friday sale if I can find one.
Should I limit myself to looking for one with a heated bed or auto-bed leveling, or should I mark these down as being bonus features that are nice to have but which are not essential for the kind of printing that I will be doing?
I will probably be using basic budget filament to print items under 6". Probably no more than 2 prints a week.

Most "auto-leveling" is not leveling but compensation for a non-flat or non-level bed surface. It's helpful to beginners who don't understand bed leveling or evaluating bed surface flatness and replacing a bad bad, for the sake of being able to get started without prints failing to adhere, but it will necessarily give you moderate to severe accuracy problems in the first cm or so of your print unless you manually level the bed right too. (This is as opposed to real three-point, three-motor leveling systems, which do really level and are great, but won't be found on entry-level printers.) Decide whether you want to spend money on that accordingly.
Personally, I find heated bed unnecessary unless you'll be printing ABS, ASA, or maybe PETG (it's hard but not impossible to print PETG without it). Heating the bed kinda makes PLA print worse (at least there are tradeoffs; it does help adhesion though), and flexible materials never need heat. However, pretty much all popular printers nowadays offer a heated bed anyway, so I don't think you'd be saving anything by going without it, and you're likely enough to want it at some point that you should just get it.

I can almost print PETG without a heated bed, but need to heat the bed up enough that the bed temperature stays constant during the print.  If the bed is not heated the printed PETG will cause the bed temperature to rise.

@PerryWebb: That sounds like roughly the same issue I described in https://3dprinting.stackexchange.com/questions/16337/insulating-bed-material

Both features are "nice to have" bonuses, BUT are worth it if you can afford it.
They will save you time and money from print problems and on occasion, disasters.
Both make your prints more consistent and have less issues with larger (or taller) prints by cutting a lot of prep time and also ensuring your first couple base layers are done correctly (if those first couple layers mess up, then your entire print likely will be messed up). They also help a lot with materials that have issue with warping or bed adhesion.

FWIW, what I consider the primary entry-level filament printer, the Creality Ender 3 (under $200 any, sometimes lower depending on daily exchange rates) is sold with heated bed included.
Beyond that, a so-called self-leveling system is IMO overrated.  For 20-25 dollars you can get a glass build surface, which eliminates non-planar build surface; combine this with proper tramming technique using a feeler gage set that costs under $10 and you can pretty easily achieve results equal to or better than what a "self-leveling" setup would give on a poorly trammed or warped bed.
Conversely, if your idea of "entry level" is the few sub-$100 printers, their tiny build volume and lack of any option to install either heated bed or upgraded extruders and hot ends takes them out of the running for anything other than toys.


text:
Under extrusion issue only in one vertical area but inconsistent
This is a new issue to me. I'm using Repetier and Cura to slice. I never had issues prior to this. What is throwing me off is the issue (Which appears to be under extrusion) only occurs on the front right side of the print (Has happened the last two prints) and it went away completely during one print for a good 20-30 layers. The other 3 sides are perfect. I have hundreds of prints on this printer and it's never occurred before and the fact that it is inconsistent has me baffled. Any input would be appreciated.

It looks like the bed is not planar to the extruder.

Why would it all the sudden print perfect for an inch of vertical surface and then revert back on the right print?  I just printed another one (just the bottom 1" to preserve martial/time) and the one at 50% scale looked fine, the one at 100% scale looked much better this time but you can still see some issues.  Both images are the same side, one is the front half of the cube and the second is the second half.  The second half is perfect as you can see. Maybe this closeup will give someone a bit more to go on? I'm trying to  post more detail but I cannot, is there a way to add more detail/pic?

What's behind/inside those walls? Are there supports? Differences in geometry at the layers it doesn't happen in? I suspect you have some massive oozing going on just before this wall is printed, leaving nothing in the nozzle for a while. You might also inadvertently have coasting turned on (never turn on coasting).

Did you get it fixed? I have faced the same issuee, always starting at some corner. I have read it is possible to adjust acceleration settings or jerk control.

I'd probably start with ensuring the bed is level (you can use a bubble/spirit level if done manually) and/or move any fans in the room as those could cause inconsistent cooling rates causing it to warp (among other issues).
To make troubleshooting easier on yourself and if you are able, try to only print 10 layers or so. This can be done by modifying the G-code by ending the print at a certain height, though some slicer software have a setting for that (I can't remember at this moment which slicing software allows this to be done easily).


text:
Are these normal surfaces from an Ender 3 Pro with PLA?
Prints are generally successful, but I always get a herringbone pattern on the top and bottom surfaces and striations on the sides. The herringbone is finer with finer print qualities, but it is always there. Ditto the sides. See photos.
Always there, regardless of temperature (using a heat tower), speed (even very slow), quality in Cura, etc.
Perhaps this is the best an Ender 3 Pro can do? If so, that's fine. I'm only trying to determine what this printer is capable of.
(Perhaps I can improve the top surface with ironing, but that isn't my question.)
Some things I've done with no effect: Run PLA spool from a drying cabinet; replaced extruder; reset Bowden tube; replaced nozzle; leveled bed numerous times.
One thing I haven't tried yet (will soon): using a better grade of PLA.

It's a heat tower, so the top surface was 190 °C. Speed was about 50-60 mm/s (don't remember exactly). With the belt tightened, the herringbone is much finer, but still there. The walls are much smoother, by still the layers are visible. I'm just not sure what to expect from this printer. Am I supposed to get surfaces that are perfectly smooth, or is some texture to be expected?

This looks as if the (top) layers are under-extruding, the walls don't appear to be suffering from the same problem. What are print speeds for the shell, temperatures, etc.

This is how it should look. You will see texture, but the lines need to touch each other, you may not see the layer beneath.

How many layers do you have for the top and bottom solid layers?

@Oscar: That's EXACTLY how my top surface looks. Very tight, regular herringbone. Not unpleasant for most purposes.

Not in your first image, that doesn't look correct.

I would suggest you some calibration. Top layers show signs of under extrusion. You should calibrate e-steps and maybe slicer flow.

With a replaced Bowden tube and better PLA, the herringbone is a little better, and the layering on the sides is more regular, but still there. So, based on this and photos from others here (especially @Oscar), I think the answer to my question is YES: These ARE normal surfaces from this printer.

Sorry, but your first photo isn't normal unless it is sliced as such. Maybe it is best to insert a photo of the new surfaces in the answer!

@0scar - I agree, but the OP should post their own answer, and not edit this wiki answer.

@Oscar -- I get the same surface that you showed in the photo you posted a link to. The herringbone is coarser or finer depending on the quality of the printing. But it is entirely regular and closed. What I was actually asking about is why there is a herringbone at all, and I see that in your photo.

The top image looks as if the (top) layer(s) are under-extruding, the walls don't appear to be suffering from the same problem.
The following image from a recent PETG print is typical for an FDM product. The deposited lines need to touch (actually, slightly overlapping, but the slicer will take care of that) each other:

You will see texture (especially when there is a non uniform surface, e.g. with holes, and without an option as monotonic fill in Cura 4.11 or similar disabled), but the lines need to touch each other, you may not see the layer beneath.
There are various reasons for this to happen, for instance: under-extruding because of speed or temperature issues or positioning accuracy. The walls seem to closely adhere, so this may find the cause in  slicing parameters for the filling in of the layer.


text:
OctoPrint suddenly no longer able to heat up hot end / extruder
My OctPrint and Monoprice Maker Select IIIP (A Wanhao i3 Duplicator Plus clone) were working fine, but suddenly today the hot end won't heat up anymore. I tried disconnecting the OctoPrint USB and resetting the printer power, and it still couldn't heat up the extruder, such as through the filament menu.
But then it got weird.
I left it off for a few hours and turned it on to see if it was getting 12 V to the hot end, and it was heating up again!  So I plugged in the OctopPrint and we're back to square one, the extruder has just been cooling down. I know the thermistor is working, because it's accurately following the temp, such as following the cooldown after the heating stopped working again.
Is it possibly I have a dead hot end and for some reason it temporarily started to work again?  Maybe an intermittent short?
I guess the next step is to open up the base and look at the connector to the motherboard, and or measure for 12 V

This has nothing to do with OctoPrint itself, the cause is related to the printer itself, not the print server running the printer.
This is a pretty commonly seen issue (usually seen at heated beds), this is caused by faulty wires/cables or connectors. This usually happens after a vast period of usage. You should (periodically) check the cables and connectors. You could even test if the heater cartridge works by connecting it directly to the power supply.
Considering the limited amount of costs involved to replace the heater cartridge, it is preferred to replace the heater with a similar specification heater element (voltage and power).

Measure your heater resistance of the heater in the heater block.  Approximate heater resistances are  4.8 Ω for 12 V 30 W and 3.6 Ω for 12 V 40 W.  See Proper hotend heater for Reprap x400 Pro V3
Note: you could have a heater measuring the correct resistance but have a poor connection in one of the connectors.


text:
What are the best DICOM files to print 3D hearts?
I am working on a project to 3D print (models from) human hearts. I want to know if anyone has done it before using DICOM files.

This software may be of some use to you,  For medical use - Dedicated series 3D printer, on the Dedibot website, which on page 4 states the following: MIR - scanned text. The relevant part (in text form) is this: It can be used to read DICOM format CT/MRI/Micro CT/Micro MRI/Industrial CT images and non-DICOM common image formats BMP/TIFF and so on. See also Conversion of DICOM files to STL files

I have some experience with VR visualisation of DICOM scans. I can tell you that these kind of scans usually are way too "hazy" to simply be 3D printed. To give you the best images possible you need to make a high-resolution scan of only the heart (smaller region scans make better quality images).
Siemens has had some fantastic result with their new range of scanners.
You also need some kind of software to convert it to a 3D model. This will need to make a pointcloud of the heart, clean up unneeded tissue and then make a polygonal model to be able to print it.
Or maybe did I misunderstand your question... in that case you need to look at turbosquid.com, thingiverse.com or cgtrader.com for example.

Hi Hacky, is there any way you can share your experience of VR with me. I'm new in the platform and I don't know if we can connect somehow.

I would love to discuss ideas and share experience with you. There is however no way that users on stack overflow can contact each other personally. Here is an interesting reading about the subject: https://www.andreasjakl.com/visualising-mri-ct-scans-in-mixed-reality-vr-ar-part-1-importing-data/
I suggest you post a new detailed question with the "virtual-reality" tag. (There is no VR stackexchange community)
You can comment here with a link to your new question, so I can assist you.

Don't leave email addresses - it could lead to account suspension/removal. SE is meant to be a repository of knowledge to be shared with everyone, not a site for people to just ask someone else to privately solve their problem for them. Read Of people posting Email addresses in Stack Overflow Posts

Yeah... I read the meta posts about the pros and cons to allow private messages. An opt-in system would need nice, but hey.. your job is to let us stick to the rules, I can appreciate that.


text:
3mf circles are printing as polygons
When I'm using a .3mf file from Fusion 360 the circles are coming out as polygonal shapes that are very easy to see.
When using a .stl file from Fusion 360 the circles are near perfect the polygons that make it up are small enough that you can't see.
Is there any way to fix this in Fusion 360 to export the file properly or is it a problem related to PrusaSlicer?

The problem lies in Fusion 360.
If you export using file export as .3mf then the refinement (poly count) is set to low. Thus it creates a low-quality circle.
If you export through the mesh tab, select 32d print and make sure the refinement is high then it exports a nice-looking perfect circle.

You seem to have quickly found your own solution. Please don't forget to mark your answer as the accepted answer, when the system allows you to, in 48 hours, in order to remove the question from the unanswered queue. Many thanks.

My understanding is all slicers will represent circles as polygons.  It's a matter of if they put enough sides on the polygon that it looks like a circle when it prints.


text:
Bed surface stability vs head movement efficiency question
I have an STL (Raspberry Pi 4 casing) that automatically places itself like below on the bed surface:

Would it be a better and more efficient print if I place it like this:

At first, I thought this is no-brainer, the bigger surface should be the bottom layer. However, the horizontal print might result a more efficient head movement.

I do not understand the use of "However", at first you conclude to print the casing as in the second image to mention that the horizontal print (second image) may result in more efficient usage (didn't you mean vertical instead of horizontal). Could you elaborate on that part of the question by [edit]?

@0scar - I think he means the vertical print (i.e. with the model standing on its end, rather than laying flat)... in that case, "however" makes sense. It's a strangely complex situation (i.e. the two different orientations) to clearly put into words... maybe "At first, I thought this is no-brainer, the bigger surface should be parallel with the X-Y plane. However, standing the print on its end (with the larger surface parallel with the Z axis) might result a more efficient head movement." is a better way of phrasing it..? Unless I have misunderstood the premise of the post.

The second placement is a better choice from an overall standpoint. In the vertical placement, adhesion is going to be more critical, although Prusa printers have good bonding for PLA and ABS, from my direct experience.
The other aspect of more importance is that the holes are going to be distorted in the vertical arrangement. The cut-outs in the smaller portion will also "droop" unless otherwise supported. If supported, you'll have greater post-processing labor and unsightly surfaces.
The design is quite well done, as the corners have radii which allows for smoother carriage travel, rather than abrupt stops with direction changes at each end.
Importing the model and having the result appear as in the first image means that the designing software swaps the z-axis and the y-axis, which is relatively common.

The more overhang is eliminated the better the print.

Distorted holes aren't always a problem: I've used the distortion to improve the grip of whatever's being put in the hole.

You've already got the correct answer, but I want to address an additional misconception in your question: head movement efficiency. Most 3D print jobs are acceleration-bound, not top-speed-bound. Without really cranking up the acceleration limits (which requires Klipper and input shaper tuning), the head will only reach the requested speed on long linear moves.
The orientation lying flat has a lot of those: the 4 sides are all long, and the diagonal fill line are long.
The orientation with the part standing up on one end has very short lines, and a lot more of them.

Long story short, laying the design horizontally is a lot less problematic when compared to laying it vertically. I'll explain:
[ Vertical ]

Bridging becomes more of an issue with the edge overhang. You'd need stilts to support the overhang which would fill the entire inside of your case.
Wear on the printer is a concern because of the short travel distance. You'd have to print along the grain which would result in a structurally weaker design.
Holes are very difficult to do vertically and may need to be cleaned up afterward.
Excess heat build-up from the printer head may be an issue due to it having to stay in the same area for longer, which may cause problems like melting or sharp hooks/spurs.
Vertical clipping is more of a concern as the printer head has more of a chance of knocking over the design (thus ruining the print and wasting time/materials). Also, less surface area for adhesion for the first layer means the design is more prone to falling over.

[ Horizontal ]

Bridging is a lot less of an issue other than the cable/power porthole on the side of the design.
Wear on the printer is a lot less of an issue because of the longer travel distance in either direction (printing with the grain or against)
Holes are much easier to create when laying horizontal.
Few changes to build up heat resulting in your print being more consistent, not warping or melting.
Low clearance and large base level surface area make it near impossible for the printer head to clip/catch and ruin the design.

In most cases, it's best to keep your design as low and spread out as possible, though I've had some prints where that wasn't an option.

Welcome to 3D Printing SE and thank you for your contribution. When you get a chance, please take the [tour] to understand how the site works and how it is different than others.


text:
BLTouch homing correct, but nozzle hits bed during print
So I have this exact problem as in this thread: BLTouch calibrated, nozzle still dives into the bed
But I don't see a clear solution to that question, or I don't understand. After correct calibration of the BLTouch, it is homing correct with the correct nozzle distance to bed, but when printing it hits the bed. It's supposed to be plug & play ;).
Here are the details of my setup:

Ender 5 with 4.2.7 silent board
TH3D Marlin 2.0 firmware (flashed it and then an EEPROM reset)
Cura slicer 4.10.0
BLTouch V3 from Trianglelab mounted on 5-pin, but end-stop on the micro-switch end-stop 2-pin. Also enabled this in Marlin. Offset -41, -11, 0

Could someone please help me? But be aware I'm quite new in programming stuff.

Did you set a Z-offset? (E.g. using the display menu to define it, or M851 Zx.xx if done over USB) Not the sensor mounting offset.

Try setting Z-offset correctly in configuration menu on Ender 5 display. If you double-click main button while printing you should have option to calibrate offset while printing, but it will only work for current print. So after this you have to use gained values in configuration menu and set Z-offset. This double-click function is called "Babystep Z".

Hi, I adjusted the nozzle height via Motion - Move axis -Move Z. Wrote down the distance. And then I set the correct distance with Z offet/babystep and saved it.  Off topic:  I do not get an email when there is a reply. Any idea how to set this?

Hi, damn just figured out what I did wrong. Or what the guy in de video did wrong. He said to adjust the z axis until the correct clearance. Note down the number and fill this in babystep. Now I watched a different video and he said to first set the z to '0' and then go to Zoffset/babystep and adjust the nozzle to the correct height. And that worked for me! Thanks guys for helping me out too! Appreciate it!

@user35400 Great that you found the culprit! But, please do not post answers in comments, post an answer below in the "answer section". This is a Q/A format website, questions deserve answers of which the best is voted on top. This way, for other people with the same question, they immediately see if there is a voted or accepted answer. Votes on questions and answers give you reputation which gives you privileges. Beware that comments are for requesting info to the poster of the question or the answer and may be deleted after time. Thanks

@0scar. You mean I have to edit my question and paste my solution under that post?

@user35400 SE sites are Q and A sites, so the question can be answered by others (or yourself) in the"Your Answer" section below. Comments are for other to comment on the Q and A's to ask for more details.


text:
What does the Fusion360 client app do?
I have a beginner question: Tinkercad is a fully cloud based and the STL files are/can be stored locally on our computer (STL files are not stored in the cloud).
Fusion 360 is also fully cloud-based. However, I installed a Fusion360 client app on my pc. Is the app I downloaded just a client that communicates with the actual Fusion360 software via the internet connection?
Could I use Fusion360 without downloading that app and just via the browser as we do with Tinkercad? I feel like the client app on my computer I downloaded is quite slow.

Yes, you can use Fusion 360 via the browser without downloading. You just need Autodesk account.
Here is the link.
However, if your computer was too slow for desktop app, you might also have problems via the browser.

Very well. I assume the Fusion360 client has some advantages compared to using Fusion360 only via the browser...

Just tried the web version and it wouldn't let me use it because I have to have an education account. The client software, however, is still free for now even for non-students.


text:
Any way to have slicer make a stronger lattice work?
I'm trying to 3D print a lattice work or truss, basically some beams forming a rectangle and additional beams forming the diagonals and where those beams cross, they should be fused.  So, something like this:

The problem is that any slicer I give a form like this to starts drawing triangles around the inner openings and in best case those triangles then touch if you use enough walls, but the pull strength you would get from beams in such a truss is lost because the opposite corners of the rectangle are not connected by a single length of filament laid down.  Here as example what PrusaSlicer does for every layer:

Basically this gives separate triangles at the top, bottom, left and right with some rectangular walls at the outside. Not bad, but I think that for extra strength it would be better if on even layers there would be long extrusions going all the way from the top-left corner to the bottom-right corner (and hence interrupting extrusion on the other diagonal) and on odd layers having just the opposite (so long extrusions from bottom-left to top-right).
So, my question: is there any way to tell the slicer to do something like that? So, having extra long (alternating) corner to corner extrusions next to the triangular "outer" walls that it normally puts down? Or, is there some other trick I could use to get a similar effect (while also having long extrusions between adjacent corners)?

Yes you can!
To have stronger prints you would have to choose the correct direction of filament deposition paths/traces. This answer demonstrates changing the direction of the filament path in Ultimaker Cura slicer.
To do this, it requires some tinkering of your model and choosing the correct slicer parameters (decimals aren't allowed in changing the direction in Cura, only integer or round-off degrees).
To recreate the experiment I have created a similar model in OpenSCAD:
union(){
    difference(){
        cube([100, 50, 1],center = true); // outer contour
        cube([90, 40, 1.1],center = true);  // inner contour
    }
    // add 2 cross beams
    for (i=[-1:2:1]) {
        // Note:
        // 26.565051177078 would have been exactly corner to corner, but
        // decimals aren't allowed in Cura, hence the choice for 26 degrees
        rotate([0,0,i*26]){
            cube([100, 5, 1],center = true);
        }
    }
}

Which gives you:

Create an STL from the code and load this into Ultimaker Cura slicer.
The trick is to direct the deposition of the top/bottom pattern [lines] and the infill [lines] in the direction you need (and for infill a high infill percentage). Remember the 26° angle of the cross beams, the definition of Cura line direction is different, so the angle of deposition needs to be ±(90 - 26) = ±64° which is denoted as [64, -64] in the slicer. Note the top and bottom contain 2 layers, the rest is infill. You can also have no infill by selecting very large top/bottom thickness, or, no top/bottom layers and only infill (this answer demonstrates both options, but you could choose just one).
Look at the bottom layer (see slicer settings on the right):

The second layer looks like:

First infill layer:

Second infill layer (needed to lower the top layer to a single layer to be able to display this):

As seen by the sliced layers, you can have an alternating pattern where the filament path is continuous for each cross-beam every other layer. This should increase the load (tension) the beam is able to support opposed to the given pattern in the question body.

I think this is the best option provided so far.  If the part would have had a second cross with different angles I assume you could add a modifier in the slicer to have different infill angles matching that second part's diagonals - unsure what the slicer would then do on the boundary between those two.  Still, it would be great if slicers could get an extra infill option to get the same effect automatically.

Maybe an idea for a Cura plugin: figure out the "longest pull" directions in a part, add setting-modifier objects to split the part so that settings can be applied per group of such directions and then set the infill directions for each of the overlaps accordingly?

If on even layers, the routing is in one direction and on odd layers, the routing is the opposite diagonal, you'll have a much weaker structure, as there will be no material after the crossing point.
Addressing that aspect, one could consider that the design is implemented in such a way that the nozzle creates the odd layer continuously from one corner to the other and then creates the "missing" segments from corner to center on the opposite diagonal.
I know of no slicer which will create such tool paths from a model imported to the workspace.
This leaves a relatively impractical option of creating the g-code manually. One of my clients is a machinist from the 50s who can look at an engineering drawing and hand-write the g-code for the machine center on which the part is to be created. Of course, that's not additive manufacture, it's the reverse and the cutting tool can remove far more material than a 3D printer can add.
It's not an impossible task, but would be quite tedious. One might create a python code to generate appropriate g-code, given layer heights and machine-appropriate data such as speeds and temperatures, etc.
Consider an alternative post processing specific to PETG, if PETG is an acceptable material for your project. One uses 100 percent infill in the model and then embeds the part in flour salt (finely ground salt), packing it in tightly. The salt-encased part is then re-melted. The part becomes "non-layered" removing the objections in the original reference. If you consider this method, some experimentation is indicated.
The above link is a six minute YouTube video showing the process for multiple models, one after the other. PLA is shown with possibly poor results compared to PETG, hence the reference to experimentation.

I know of no slicer which will create such tool paths from a model imported to the workspace. Cura can! See this answer.

The way I get rid of voids, like your triangular shaped voids the slicing program interprets as fill area, is to increase the  number of vertical/perimeter shells (the shells on the side).

But still that just makes extra concentric walls around those triangles and still no extrusions along the entire diagonals.

Have a look at Chisel infills there are very strength optimised, limitation is currently that they must be single line width, but multiple-lines thick infill will be supported soon.
After that, it's very simple, basically setting double corrugated infill with corrugation size 1 for your rectangle model.


text:
Are there any common household chemicals that will degrade or erode the most common types of resin from an SLA printer once cured?
Are there any common chemicals that will damage, degrade or erode (Causing pitting, for example) the most common types of resin used in an SLA printer once it has been cured?
For example, chemicals found in household cleaning products, paints, or motor vehicle maintenance, or hobby\crafts?

What do you count as common? Hydroflouric Acid is a commonly used chemical in the industry, but you will have your problems getting your hand on it - besides that it would eat your build surface.

I've amended the subject line to include the word "household", but I would think that the average reader would be able to determine the context from the examples given, which include household cleaning products and hobby\craft supplies. Though you might not realize it, hydroflouric acid is actually a common ingredient in cleaning products. It's used in pool cleaner and products for cleaning fragile ceramics.

HF in the needed concentration to dissolve resin is what is used to etch glass. As in concentrated HF. Only very diluted acid is used in metal cleaners, in concentrations that are far from what is used in the industry, and even that is a dangerous chemical.

This is getting a little off topic. I'm only really interested in whether there are common chemicals that might degrade cured resin. For example, whether the spray that you use to polish a display cabinet might damage prints in it, or if other hobby supplies might do something similar.

NOPE
UV-cured Resins are Duroplastics. Most of them are chemically inert to anything short of concentrated strong acids does nothing to them. Even strong acids such as sulphuric acid (battery acid) will take quite some time to work on it - if it works at all.
If you have access to metal or glass etching equipment, those acids might have a chance, though that is not exactly household equipment. My best bets would be concentrated phosphoric, sulphuric, nitrous, and of course hydroflouric acid. But you don't want to work with concentrated hydrofluoric acid if you can avoid it.

Acids used to create a patina on home made jewellery, check.


text:
How to determine the firmware and firmware version of a Frankensbox fx-800?
I recently purchased a used Frankensbox fx-800 3D Printer and I am coming up with little info on it. I've tried the website, Google, and their Facebook page looking for some kind of support.
I am curious about the firmware it has. If I can't get any info about its firmware and/or how to get in to it then I'm wondering if maybe I need to change the motherboard or maybe can add a chip in order to communicate with the current one.
How can I determine the firmware and firmware version of a Frankensbox fx-800?
Any info or insight would be awesome.

If the indicated question does not address your problem, then please [edit] your question stating why, and it can then be reopened. In addition, please post a new question about the issues that you were having with the pause button.

Rebranded Dedibot DF3
DediBot seem to produce the Moria software, that is included with the Frankensbox - primarily for medical purposes: according to the third page of this PDF on the Dedibot website, For medical use - Dedicated series 3D printer or 屏幕快照 2017-10-24 下午1.37.16.
Dedibot also manufacture the DF2 and DF3 printer/bot.
Given the above and also that step 3 on the support page states "select DF3 if needed" (see Poor Support below), then that would suggest that the Frankensbox software is just a rebranded version of Moria.
Backing this up, the Frankensbox is apparently just a rebadged Dedibot DF3, according to this post, Newbie seeking suggestions:

... just purchased a Frankensbox FX-800 3D printer. It is a rebadged Dedibot DF3 Delta printer.

Also worth noting, further down in the same thread, is this cautionary tip about the firmware (the emphasis is mine):

Edit: More info; after talking with tech support, they suggested 215 C for temp, and to update to the latest firmware. Important tip, do not try this from the software that is on their site, it has a bug that can render the printer useless. Don't ask me how I know!

Although, unfortunately, the poster doesn't provide a link to the suspect firmware, nor is there a firmware link on the sparse support page.
Nevertheless, given that the Frankensbox is a rebadged Dedibot DF3, searches for DF3 firmware (and other support) may prove to be more fruitful.

Changing the controller
After looking at the Moria DF3 user guide, the software interface does seem to be particularly limiting, and I am starting to understand why you would want to replace the board to maybe something more conventional (i.e. an off-the-shelf board, like RAMPS, or Melzi, etc.). Whilst that probably is possible, and maybe quite easy to do physically, if all of the plugs and connectors are the same, and the new board fits or can be easily mounted (if it doesn't mount easily, then some hacking and cutting could be involved and the printer may well begin to adopt an actual Frankenstien-eque character).
However, you would then obviously need to do some configuration of some firmware, i.e. Marlin, (which may or may not be straight forward for that particular printer).
This is all purely speculative of course - without seeing a photo of the original board and its connectors.
Nevertheless, this would be like (partially) going down a DIY printer route, and all of the work that entails. Totally possible, but maybe not super easy.
Reflashing the existing board
Another option is to reflash the existing board with an new image, i.e. Marlin or something else, if the chipset is supported. However, this is rather dangerous, in that, without knowing what is already on there, it could brick your board.
If you can get an image of the existing firmware, then it wouldn't be so risky as you could then just reinstate the old firmware and set the printer back to its original state. However, given the state of the printer's support, such an image could be difficult to find, unless the manufacturers, or dealers, were contacted directly.
It might be possible to get an image, or hex file, of the existing firmware from the board, that you could save for future reflashing. For example, if the board is Arduino based, then you could use avrdude, see how to download the current code from an arduino board?. For example:
"C:\arduino-1.0\hardware\tools\avrdude -p m328p -C C:\arduino-1.0\hardware\tools\avrdude.conf -c arduino -D -P COM5 -U flash:r:output.bin:r"

Although it might be a bit of a pain.

Poor support
You apparently have to use proprietary software for this printer. Presumably you have already installed the Windows software required to use this printer, on your PC. If you don't have a PC running Windows then you might be stuck. Even though the manual states that OS X is supported , there isn't any OS X software provided.
Apparently Moira and Cura are provided in the package as well.
From this page or this page, Moria is said to be firmware, but that would seem to be incorrect, and is in fact a desktop application (like Cura):

Question: Where can i get firmware?
Answer: Cura is a good one to use or you can use the manufacturers
firmware Moria. You'll have to look up Dedibot Moria. Also if you plug the SD card from the machine into your PC you can also download Moria or Cura from it.

From their support page (which Google throws up large malware warnings about because the security certificate for this website has expired):

Downloads
Download the latest Frankensbox fx-800 3D Printer software for
Windows:
64-bit: Frankensbox_V3.0.9_x64.exe
32-bit: Frankensbox_V3.0.9_x86.exe
Unsure which version to use? In Windows Search, type “about your PC”.
Look under “Device specifications” to see your System type.
Installation

Before installing the above software, it is recommended first to power on the printer and physically connect it to your PC using the
included USB cable. Windows will recognize the device and install the
appropriate drivers.
Install the Frankensbox software, along with any associated files. If Windows Defender or similar anti-virus programs appear, select
“More info” then select “Run anyway”. Also select “Yes” to User
Account Control, if needed.
Upon launching the software, select “DF3” as the printer model, if needed.
You should now see the main printing screen, with the printer status indicator at the bottom showing “Connected”.
Now it’s time to load the filament. First, remove the top cover by turning it slightly counter-clockwise. Next, feed a cleanly-cut end of
the filament into the printer through the feeding hole at the bottom
of the filament tray. Pull about 6 inches of filament through the
hole. While holding the filament with your left hand, squeeze the
spring on the extruder with your right hand. Now feed the filament
straight down into the hole at the top of the extruder. Proceed once
you are able to feed an inch or more of filament downward into the
white tube.
Close the printer door, and select Settings at the right of the top toolbar. Now select the Change Materials tab and select Feed Material.
Select OK to feed material. The printer will now heat up (to appx
220C), and begin to feed filament through the extruder, and down to
the nozzle. Click OK when feeding has succeeded. Wait several seconds
for cooling, then remove any loose material that was extruded.
Under the Machine Control tab, select Leveling Start. The default distance should be adequate for now. Once auto-leveling is completed
(appx 1 minute), click OK.

It would seem that as this is a printer aimed at beginners, perhaps they don't want you to access the firmware. However, there may be a setting or menu within the proprietary application that allows you to see the firmware version.
The support page is shockingly bad, with only the information being shown is the quoted text above. The reviews that I have seen, from experienced users of 3D printers, are quite damning as well.


text:
Is it possible to extract printed part with a fan?
I'm trying to figure out how to automatically extract the part after it was printed.
One of the ideas is to wait until the bed get cooled enough (let's say to 40-50 °C, usually the part can be just slide of at this bed temperature) and turn on the powerful fan blowing off the part to a tray or something.
Is this setup feasible?
I'm printing with ABS on an opal glass.

You can try removing the printed part with axis movement. It can be done through G-code. Check this video.

@kosteklvp I already have seen this video. This looks great. However, I'm not sure that this will work for CoreXY or Utlimaker-like kinematics. Probably I should tilt the printer forward and programm the ending G-code for each print personally to meet the print height and position.

If you can get the print head behind the print this will work for CoreXY and Ultimaker kinematics as well. This will also work! A fan should work, if powerful enough you can blow a car over.

Not using a fan but sort of related: Multiple unattended prints using extruder to sweep build plate?. See also Printed part auto-eject (automatic part removal) and How to automate printing of multiple parts continuously?

You can do this provided the part releases consistently after cooling. Your filament choice may cause problems, though. ABS is prone to warping and a fan constantly blowing on the part would make it worse. The second thing to consider would be the release agent. I assume you are using gluestick or something similar on the bed. This may be pulled off the bed after a couple prints.

In theory you could knock the item off the build plate and into a bin by positioning the print head behind the part and then pushing.
However your build plate would need to have a smooth front edge, so no clips in the way.
You'd also want to have some delay to let the bed cool down before attempting this, and have spare belts on hand for the day the installed belt breaks.
A fan may work IF you can control it to come on after the part has finished printing, AND your printer will release a finished part given time.  Also, your finished part must be strong enough to survive the impact and fall without damage, else what's the point?
Also, your effective print volume would shrink - there has to be enough space at the back to drop the print head behind the part using gcode, and then slide the bed backward until the part falls off.  You couldn't use the back ~75mm of the bed.
Personally I always have to use a scraper and occasionally a light hammer tap, so a fan wouldn't do anything.

If I were doing this, I'd either pony up and buy one of those Creality belt-fed printers that have a rolling platform, and drop parts off the front.  The CR-30 https://www.creality3dofficial.com/products/cr-30-infinite-z-belt-3d-printer or other manufacturers would have the same.
The other more homebrew option would be to consider where the bed ends up after job is done, and then have some kind of "wiper" mechanism that comes from the side and pushes the part over and off the bed.  It would have to be low enough to get any brim and priming lines out of the way too.  Since the printer probably can't control this, you'd be looking at an external controller like a computer running a print server, orchestrating the wiper and then starting the next job.
You'll also want a really big roll of filament, or a filament-out sensor so you're not printing air.


text:
Big permanent layer shifts on X-axis, looks like something is holding the stepper motor but its not
I have an Ender 3 with a 32-bits version 4.2.2 controller board (5 weeks old, <10 prints).
This is a video of what it does during a mesh bed leveling MBL (9 points):

I upgraded the firmware to Marlin 2.0.9.1 to get the MBL feature. Did a few short prints, 1-2 h, and everything was fine. When I was printing a 4 h print, sometime after 2 h I got a huge permanent layer shift in X-axis (5 cm) and it started printing mid-air.
Unaware of all the possibilities I generated the G-code again and checked belt and bolts for loose parts. Started the print again and this time I got the layer shift way sooner, like 30 minutes.
Then I started looking online for other solutions.
I swapped stepper motors and again it was the X-axis. Swapped cables and again it was the X-axis.
When the stepper was alone at the table with no belt it got the same "holding" that we can see on the video. It does a weird sound like something is holding it. And instead of moving the 10 cm for each point at the MBL it struggles to move 1 cm.
When using the "Move X" it goes smoothly with no problems; 0.1 mm, 1 mm, 10 mm all fine.
I tried to reduce the DEFAULT_MAX_ACCELERATION to 300 but nothing changed.
I also reinstalled the Creality Ender 3 firmware and the problem persists.
Now when I try to print a simple cube at the middle, it starts printing at the left side and with nasty layer shifts.
What could it be? I am running out of hypothesis to test.

When you say swap cables, do you mean just use a different cable on the same circuit (x driver to x motor/axis, y driver to y motor/axis)? Or do you mean temporarily swap x and y carriage to test if the problem is the driver, or the motor, or the axis (x driver to y motor/axis, y driver to x motor/axis)? Have you beeped (conductivity tested) the cable connections from the board to the motor with a multimeter?

@ChinchillaWafers I swapped both endings and the problem was always with whatever was attached to X socket at mainboard. I bought a multimeter and did the measures according to a creality video and the X driver is not getting proper voltage. The readings were 0.9 V for Z and Y but 0.003 V for X. Turning the trimpot change it from 0 to 0.007 V. Is my driver dead?

This is an issue I have had when doing maintenance on my printer. If your belt is too tight, it will cause resistance to the motor turning. In addition, you may not have properly set the motor current (tiny trimpot next to each motor driver).


text:
What is the operator precedence in OpenSCAD?
OpenSCAD User Manual's section on operators does not mention precedence. Quick Web searches found nothing. I assume the usual order of exponentiation, then multiplication, then addition does hold, but how does e.g. a conditional operator or unary minus interact with these? Is there an official document describing the precedence of operators in OpenSCAD?

I'm not sure if/where it's documented but I think largely they follow C or C++ precedent for precedence.

If you aren't sure, use parenthesis to force precedence.

@0scar That's what I'm doing, but it would be nice to know.

Within OpenSCAD expressions, the order of precedence is:

Operators
Description

() []
group, vector, or range

() [] .
function call, indexing, member lookup

^
exponentiation

! + -
unary operations

* / %
multiplication

+ -
addition

< <= >= >
ordering

== !=
equality

&&
logical AND

||
logical OR

?: function() let() assert() echo()
ternary operator and unary pseudo-operators

There are no bit-wise operators, and neither comma nor "=" are operators.
Source: openscad/src/parser.y


text:
Inconsistent layer widths and uneven outer walls
I have problems with layer widths and uneven outer walls on my 3D prints. Sometimes layers are squeezed and sometimes pushed outside. I noticed that these problems happen when there are retractions on layers. I don't have problems with round and simple objects without changes on layers or where all layers are identical.

I think that this can be linked with pressure in the nozzle or retraction. It looks like sometimes the pressure is too high and it's pushing too much filament and sometimes it's too low and it's not pushing enough filament. In this picture, layers in the first circle are squished in and it looks like there is not enough filament being pushed from the nozzle. In the second circle layer is pushed out and is wider than other layers. Looks like there is not enough filament being extruded at the start of the layer and too much being extruded at the end.

This problem happens always on the same layers, where there are some retractions on these layers. I tried to print the same objects multiple times and it always occurs on the same layers.

What have I did to fix this problem:

calibrated e-steps and slicer flow,
tightened belts,
different slicers (Cura, PrusaSlicer),
different filaments (e.g. PrusamentPLA),
disabled combing in slicer,
printed with and without infills,
different retraction distance (from 3 mm to 8 mm),
different retraction speeds (from 20 mm/s to 80 mm/s),
different retraction accelerations (from 500 to 1500),
different hotend temperatures (from 200 °C to 230 °C),
slow printing speed (up to 15 mm/s),
calibrated K-factor (also tried many values from 0.0 to 2.0),
calibrated junction deviation (also tried many values from 0.0 to 0.3),
printed with and without cooling.

I think, that disabling coasting and changes in retraction settings helped a little, but not too much.
My setup:

Ender 5, SKR mini E3 V1.2
Capricorn PTFE Bowden tube,
printing with PLA, but this problem also occurs with PETG.

The most similar issue I've found is this question, Inconsistent Layer Issues, but this didn't resolve my problem.
How can I get rid of inconsistency in layers widths and get smoother outer walls?

I calibrated K-factor with K-factor Calibration Pattern and discovered that lines are always thicker after retraction at the start of the line and thinner at the end of the line. Then I generated and printed test files to confirm this. My lines are always thicker at the start of the line and they get thinner later. This is the problem presented in the second picture.
I printed 3 cubes (dimensions of a cube: X=0.2 mm, Y=100 mm, Z=10 mm). This is the result.

This is the best representation of my problem. The order of printing was as follows: 1 -> 2 -> 3 -> 4 -> 5 -> 6 -> 1 -> 2 etc. There are under extrusions at the end of the second and third line (points 4 and 6) and under extrusion at the start of the first line (point 1). These under extrusions are before (points 4 and 6) and after (point 1) travel moves.
What can cause this problem?

200 is absolute min I'd ever consider for PLA, and 230 is what I normally print roughly-pure PLA at.

Are the locations of the inconsistency consistent between two prints of the same gcode? Or do they differ each time you print? One stupid thing it could be is filament with really bad diameter consistency.

They are always the same locations. Exactly in the same places. I tried to print multiple times the same gcodes and with different filaments. It's not filament related.

Based on the latest pics, I wonder if you have the bowden tube misinstalled (not butted against the nozzle correctly, or otherwise).

On your list of things you've done I don't see inspecting the Z axis for mechanical faults and contaminants. Faults that repeat consistently at the same height are usually caused by Z axis drive train having problems at these specific heights.

That kind of issues can be related to multiple causes:

Heated bed operated in "bang bang" mode (heater on until set temp reached, turned off until set temp minus threshold is reached, and so on), which causes periodic expansion and contraction. It is solved by using PID algorithm for bed heating

The slicer is set with a minimum layer time and the part is not big, resulting in a lower extrusion speed for smaller layers, and higher extrusion speed for larger layers (of course up to the value set in the slicer). When you have a Bowden system with single gear (like Enders do), the extrusion is not linear: the more you ask, the bigger the gap between what you ask and what you get. See this (orange line, from Testing bimetallic heat breaks):

In other words, slower (smaller) layers extrude more plastic and look fatter. The way to solve is to get a dual drive extruder and by improving the quality of the hotend, for example by installing a bimetallic heat break (see grey line above).

In your case, image 1 and 2 appear to be related to variable extrusion, and image 3 to bed heating.

I noticed that these problems happen when there are retractions on layers. I don't have problems with round and simple objects without changes on layers or where all layers are identical.

Based on the above, this is not a heat related problem. It's likely inconsistent amounts of material lost from the nozzle just prior to the affected walls. This could be due to oozing during travel without retraction (make sure combing is either off or has a "Max Comb Distance With No Retrace" set very low, < 1 mm) or due to inconsistently unsupported infill structure. One cause for the latter is discussed on this issue report I filed for Cura, though it could happen in other ways as well. This is particularly bad with bowden extruders; ever since I switched to direct drive it mostly went away. But to avoid it with bowden, I had to turn off zig-zaggify infill and use only infill patterns where each layer fully supports the one above it (e.g. triangles).

I edited my question. I was reffering to combing (not coasting) under things that I've already tried. I added also subsection about infills. I've tried printing with and without infills.

@kosteklvp: You should edit that to fix it because coasting and combing are completely different things. Can you confirm that you have coasting off? It's a very problematic hack and should not be used.

Yes. I meant combing, don't know why I've written coasting.

Noone ever talks about changing the order in which the outer walls are printed. Default settings are usually set to inner/outer, you should try outer/inner to see if that helps.

It would be helpful to know why changing the order would be beneficial.