text:
Is it ok for stepper motors to be hot?
I have been running my i3 MK3 for about 12 hours now and the motor on the extruder is fairly hot, not too hot to touch but I'd guess its about 60c on the outside. Is this within normal operating temperatures or should I let it cool down before starting more prints?

I'm no expert on the subject, but would believe the motors would get hot after constant use, especially the extruder motor, considering it's connected to a heating element.

@Pᴀᴜʟsᴛᴇʀ2  I think he's talking about the stepper motor, not the feeder motor on the extruder head.

Might be worth comparing to the Y-drive stepper motor, as that gets roughly the same amount of work as the motor which runs the X-gantry.

@CarlWitthoft I'm talking about the one on the head that pulls the filament down in to the hot end. I thought that was a stepper motor as well.

you can add heat sinks to the motor to keep it cooler; use a thermal adhesive to affix.

The maximum operating temperature can be found in the specifications of your steppers. Usually the ambient temperature operating conditions are limited to 50 °C with a maximum operating temperature in the range of 70 - 100 °C. For instance, the steppers I use are limited to a temperature of 80 °C. It is however advised to keep this temperature lower, e.g. to max. 60 °C to prolong the life. Do note that very high temperatures could be a problem for "self-printed" stepper mounts of the wrong material (materials with a low glass transition temperature).
To answer your question: "Yes, steppers may get hot, but if you want them to get too hot is up to the mounting system and how long you want to use them."

While such temperatures may be OK for extruder motor itself (and probably for extruder body, since it is printed in PETG/ABS), but it can be dangerous for the filament that you are using to print your models. Heat from extruder motor can creep through shaft to Bondtech gears and start to pre-melt filament.
60 °C is enough to soften PLA. Your filament may warp or melt just above heatsink, jamming, and clogging the extruder body.
What you can try to do:

Open or remove enclosure;
Glue a generic heatsink on your extruder motor with some thermally conductive adhesive or epoxy;
Add an active cooling fan for your extruder motor (or for heatsink of your extruder motor). You can power it from Prusa PSU (then you will need 24 V fan), or plug additional PSU for fans and lighting;
Upgrade extruder motor to LDO / Moons motor. These run about 10 °C cooler than stock extruder motor;
Upgrade to Bondtech extruder. Bondtech extruder features 3:1 gearing ratio, and can be run with lower current (e.g. less heat). Also Bondtech extruder uses plastic gears, so heat can no longer easily move from extruder motor to filament.

I've run my Prusa3D i3m3s for 50 hour prints.  My motors get hot-ish but on my instance of the machine, they are not too hot.

50 °C feels very warm, 60 °C feels hot, 80 °C is painful.
I measured the temperature of the steppers on a Prusa mk3last week.  They were all around 45..50 °C, except the extruder stepper which runs around 55..57 °C.
The temperature is stable like that. Letting them cool down is useless, because they would quickly go back to these temperatures after starting the next print. Stepper motors tend to dissipate more power when they stopped or slow compared to when they run fast.
I would not worry about it.


text:
Screeching Noise when moving the Z-Axis Down
I have had my Prusa i3 clone for about two years and it has always made a screeching sound when the z-axis is moving down. I have tried many solutions for this problem like greasing the z-rods, printing a new top part (the holder at the top z-rods end) with a bearing to prevent the threaded rod from swaying, and even hot glueing bearing to the stock top piece. However, none of this has worked. I am not sure if it is affecting the print quality but the sound is very annoying when it is doing a lot of hops and I would like to fix it. Here is a video (with sound) of the rod moving up and down.
Video

I had this same problem. I attributed it to the linear bearings which ride on the 8mm travel rods. I did two things which ultimately eliminated the issue (since I did both at the same time, I'm not sure which solved the issue, but believe it's #1 below):

I replaced all of my ball type (stock) linear bearings with Igus Drylin linear bearings. I'm pretty sure the metal ball bearings were screeching along the 8mm metal rods. The Drylin bearings pretty much eliminated any noise on the rods. I replaced all of them for X, Y, & Z axis rods at the same time.
I used white lithium grease (just a small amount) on the Z-axis screw rod. This helped everything travel better. It should also help it last longer by preventing wear.

Since I've done this, I've not had any screeching anymore. You don't have to use Drylin linear bearings, as there are other printable options on Thingiverse.com.

All I had to do was clean up some of the grease from the threaded rods and flip their direction (so the bottom is now at the top). I didn't even put any more grease on to stop the squeaking.

source: Stack Exchange

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

authors: บรรเจิด วงษ์ทอง

sort: votes


text:
Extruder motor does not stop after G1 E5
When I send G1 E5, the extruder motor rotates, but does not stop. It keeps rotating until I restart the system. I am using a Ramps 1.4 board and OctoPrint.

How many steps per millimeter do you have configured in your Configuration.h file?

BTW - Welcome to SE 3D Printing!

Steps per mm = 200,200,788,200

If the printer is in absolute positioning mode (which is used almost exclusively), then the extruder will either wind back or wind forward to the last 5mm point. Effectively, the firmware treats the extruder like any other axis, and you can set the origin whenever and wherever you like (it doesn't have to be the home position). Use G92 to reset the extruder position as follows:
G92 E0 ; Set the extruder position to 0 (origin)
G1 E5  ; Extrude 5mm of filament
G92 E0 ; Set the extruder position to 0 again

This is the usual way to purge filament in the slicer's start and end code. Note that you cannot rely on the current position being zero.

Thank you guys. I will check as soon as i get home.

Steps per mm = 200,200,788,200

I ran G92 E0, G1 E5 and it is still rotating. I changed out the ramps board and the driver...

So... I switched out the stepper motor just to eliminate that variable... Same result. It must be in my firmware. I have reloaded the default I started with months ago...

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


text:
How to print an item the size and thickness of a laptop display?
I want to print a case for a laptop display that I plan to turn into a second display. I have the Ender 3 printer, with a print area smaller than the case's size.
I know I need to make it modular, but I am not sure of

the best way to print something that is so large and relatively thin, so the connectors between the pieces are strong enough to hold it together (due to the large size compared to the thickness, i don't think regular snap or plug conectors will suffice)
how to stop the layers from coming apart because the longer it is, the
more pressure applied to the join points if it flexes.

Any help you can give will be greatly appreciated.
Liam.

The answers to the first part of the question may probably found in the answers to this question , this question or this question

Design for fitting together with pegs, and glue.


text:
Prusa i3 pro b second layer failure
I just bought a 3D printer => Geeetech Prusa i3 b.
I build it myself and I'm trying to print the famous boat, the Benchy one.
Here's my settings (I've tried Repetier host and Slic3r or Ultimaker Cura):

And that's the results..

Any tips about the settings? The problem seems to be when I print every other layer but the first one which seems reasonable enough.
I used Slic3r with the settings taken from this video, eBay Prusa i3 slic3r settings (comment response video)
Now the first layer is almost perfect but I still have problems with every other layers, too much filament comes out and it's all messy, a bit like the picture I posted above.
A video of the print can be found here.
The steps per mm value for the Z shaft is 2560.

Hi and welcome to SE.3DPrinting! Please do not post links, instead post the pictures so that people do not have to click on them. SE websites are driven by questions and answers. Please read the [help], accessible through the button with the question mark at the top right menu. Please take the [about] and also have a look at the [ask] section!

Cropping the photos is a good idea too :-)

Can you post your printer settings. My guess: A mixture of bed leveling and maybe underextrusion.

You need to level the bed properly by setting the correct distance between the nozzle and the bed. Ideally, you need to be able to drag a piece of plain A4 paper between the nozzle and the bed when the nozzle is at Z = 0 giving you a little drag (you feel that by a stuttering movement). From your pictures you can clearly see that the nozzle is way too far from the bed when depositing the first layer (as seen from the video you posted in the comments) as the hot filament drops/falls down to the hot plate. Once it is too far from the plate, each consecutive layer is too far from the previous layer.
From the images you posted, it is clearly visible that you have a mechanical/calibration issue. Your belts are probably not tight enough too, but it is difficult to say at the moment as the products are way off from what they should look like.
Note that the printer configuration could be incorrect (although very unlikely as it is out of the box). E.g. the stepper motor needs to make a certain amount of steps to advance the carriage in Z direction. If the mechanical layout requires 400 steps per mm (which is typical for TR8x8 (p2) lead screws on 1.8°(200 steps per revolution) stepper motors and 1/16 microstepping) but is configured as 800, your layer height advances twice as much although the Z=0 level would be okay! I now read (from the updated question) that the value for the steps/mm for the Z axis is 2560, this implies that you are using M8 lead screws with a pitch of 1.25 mm on a 1/16 microstepping board and 200 steps per revolution steppers.
From the specifications of your printer follows that the Geeetech Prusa i3 Pro B uses:

Stepper Motors: 1.8° step angle with 1/16 micro-stepping

This image show the configuration of the axes:

So 2560 is correct!
Conclusion:
Your initial leveling and height setting is incorrect, when you printer is at Z=0, it actually is positioned higher. Hence your first layer has very bad adhesion and is not properly flattened and each consecutive layer shows the same problems of falling hot filament. When the speed increases on the next layers the hot filament deposition cannot follow the nozzle, hence the "spaghetti" looks.

But why does the first layer works fine? I adjusted the high with the paper before printing

@Miriam Your first your does not look fine. Also, how many steps per mm does your Z axis have. You should be able to get that from the menu.

If you mean "Lift Z" under "Retraction" section is set to 0 mm
If you mean "Z offsets" is set to -0.1mm
I've changed my settings with the ones on the video i posted and the first layer i'd say that is pretty decent ( not like the photo i posted) but on every other layers come out too much filament, looks like spray cream if you know what i mean. I will try to post a video in action as soon as i can

@Miriam I understand exactly what you mean, it sprays out because the height between the nozzle and the bed is too large, you hot filament just falls down to the plate, it is not pressed flat. With steps per mm I meant that how many steps per mm your stepper needs to take to advance a millimeter in Z direction, usually this can be found in on of the menus on the printer display, or found when you send the M503 command to the printer over USB with a connected computer using a terminal program like Pronterface for instance.

So ZSTEPS/MM = +2560
Here's a video of the printer at work
https://drive.google.com/file/d/1zn3WD3jqsaNsu4DusT7dAE_pYMaR5Uus/view?usp=sharing

@Miriam From the video you can see that my answer describes your problem. Your nozzle to bed distance is way too high (the filament drops down). The value of 2560 steps per mm is clearly correct if you have M8 (p1.25) lead screws.

Allright, i'll try to lower the bed distance even thou it's almost in touch as the first layer comes out ok! Thanks

@Miriam Your first layer is far from OK! You can see that from the video, at one point the filament is laid over a piece that is in the way and it is just laid over, not even squished! You need to either lower the Z endstop, or raise your bed; by the looks of it it could be a mm off!


text:
Print Software for Monoprice Dual Extruder
Back in 2015 I bought the Monoprice Dual Extruder 3D printer (I know it was a clone of a FlashForge or a Makerbot, but I don't remember which).
I played with it for a while but we moved and I never got back to it... Until now.
It still had the SD card in it with my last attempt at 3D modeling, and it printed perfectly on the first attempt. So the printer is fine after a couple years in a box.
I use SketchUp Pro and have installed the STL export add-on.
I have the following questions:

What is the latest Software I should be using?
Is there (more) current firmware I should update to?

That are two questions: one about a slicer, and the accompaning settings, one about the firmware. You should split it... oh, and welcome to the stack!


text:
Delta Printer: Slighty incorrect print alignment on the build plate
After building a Delta printer, I noticed that my whole prints are slightly tilted around the Z-axis in comparison to the slicer (e.g. Cura). There is no twist layer wise. This means, the prints themself look actually perfect.
I just don't know what could be the reason of the rotation. I do not believe it is a build issue of the printer, because I tried to keep the printer frame pretty stiff and symmetric.
Could it be, that the Auto-Calibrate Feature of Marlin can add such a rotation?
The picture below illustrates the problem. I expect the black alignment of the print and get the orange one. Note that the print is still a rectangle with ~90° corners.

I figured out that the reason is probably a slightly translated slider construction. Instead of using a proper centered slider as shown in red, I used a slider construction like illustrated in yellow. When all sliders are translated on each tower like this, the print should be tilted by the same amount. This seems to have no influence on the general shape of the object. However, for my next printer I will use a proper centered uni-body slider.

Actually, this side-aligned configuration is probably better for a multi-part slider, because a side-aligned slider is alignable consistently on all 3 sides, while a center aligned multi-part slider is harder to align correctly.

True, at first I thought such a multi part slider would be a nice idea, because of reusability. Later I got tired while doing the assembly (inserting press nuts, ..). Now, I would only suggest to design perfectly centered uni-body sliders.

Hi. Seeing as you found a solution maybe you should mark your answer as the accepted answer? Should another answer be posted in the future you could always change the accepted answer to that one, if you think that it solves/explains your issue in a better way. Thanks.

If I am reading this correctly, your prints are being either stretched or your prints are shifting / leaning on more complicated prints.
In this case, given that you are on a Delta printer, my answer is the same for all. I usually do Cartesian based 3d printing but the concept is the same for any drifting or leaning. You simply need to recalibrate your steps per MM for each motor, and tighten your belts. You will have the complication of the interaction of the 3 arms, that others will be able to answer better. But in the end, if each arm moves as it should, the belts are not slipping, and you do not have issues with moving too fast (jerking can cause the belt to shift, and a loose belt can cause whiplash / and other print artifacts). My bet is your steps per MM is off on one of the motors, or you could have an overheating issue (not likely).
There are many guides to help with Delta specific calibration.
I can provide a better answer with photos. See Stackoverflows guide on asking questions.
Edit with the diagram (not a photo), you issue might be caused by stepper over voltage and you will need to adjust your pololus. If you hear a repeating Thud noise, you have your voltage too high.


text:
Tevo Michelangelo nozzle below build plate?
I got a Tevo Michelangelo as first 3D printer today and already got a problem with the bed leveling: The extruder nozzle is way below the build plate. (When I auto-home the axes, which I've done several times). I thought to just adjust the plate downwards, but it was incredibly slow, and there was almost no progress.
Here's a picture, sorry for the bad quality:

Should I continue adjusting it downwoards via the screws (It's getting harder), or is there some other way to solve this? Or am I just making a dumb mistake?

Doesn't your printer have an adjustable Z-stop switch?  you really don't want to crank down the bed screws for fear of bending the plate.

Just move the Z-endstop up a little higher, also make sure the bed leveling screws are not completely screwed in.
So:

Move the head of the printer up.
Move up the Z-endstop so that the nozzle is a little higher than the build platform.
Home the printer.
Disable the stepper motors and move the head over the bed to a certain position (e.g. a corner without disturbing the Z axis), once you get to a new position of the bed, raise the bed by unscrewing the screws until a piece of paper shows noticeable drag when pulled between the nozzle and build platform.
Goto 3 until you have done all corners several times, also the center of the bed. It is advised to once in a while re-home the printer, this way accidental Z-axis movement is compensated again.

Thanks, bed is now leveled (Although I have to wait until my filaments coming). Follow-up question: Does moving the endstop upwards affect the maximum height of the printed object?


text:
Does moving the z-endstop upwards affect the maximum height of the printable object?
As moving the endstop upwards reduces the range of the z-axis, I was wondering whether it reduces the maximum height of the printable object, by the distance the endstop was moved. Or is this somehow (to a certain extent) beeing counterbalanced?
(Follow-up question of this question)

If you move up the end stop such that it raises the nozzle with respect to the build platform you lose height, so basically the answer is yes. But, as seen in your referenced question, your nozzle location is determined by the mechanical layout of the printer and the end stop had to be raised in order to print at all. This means that although you have less height to move the Z gantry, it can now actually print the full range the printer is designed for (the max Z to print is fixed in the configuration of the firmware of the printer and is always smaller than the maximum Z of the mechanical layout). Theoretically, if you ever make a lower profile hotend head, you would be able to lower the end stop and gain a little in height and adjust the firmware maximum Z height.
E.g. in Marlin firmware, for an Anet A8 3D printer,
#define Z_MAX_POS 240

in the Configuration.h file defines the maximum print height of 240 mm. If you would deliberately increase the Z end stop height and platform by let's say 50 mm, the printer thinks it still can print 240 mm, but in reality the gantry will crash against the top mounts and thus limit your printing height.

After adjusting the endstop check that the documented maximum height (150mm) is still achievable. Just move Z axis in the menu.

authors: กรรณิกา กุดสมบัติ


text:
Hollow wing for rc plane
I am trying to print a wing for a rc plane with my 3D printer. In order to make the wing as light as possible I need to hollow it (and afterwards put some stable structure there). I've tried the Blender Solidify modifier to do this but without success. The material on the sharp edge on the rear part of the wing gets thinner and thinner although the "Even Thickness" option is checked (see picture). When preparing this for printing, the slicer puts only one line of filament there instead of two. What I need is a brim on the inner side of the stl file with a constant spacing.

I've also tried the Meshmixer Hollow and Extrude modifiers. They both had problems with those sharp edges (see picture).

The third program I've tested was FreeCAD. But it crashed at all :-(
Can someone please help me? I would appreciate any suggestion or other programs which can handle this problem. Remodeling is no option for me as I have even more complex objects to hollow for example the fuselage.
The stl file of the wing can be found here: https://files.fm/u/5futezwj
Thanks so much for your help!

have you tried simply using a solid STL and then choosing "0% infil" in your slicer?

This will be very hard to accomplish with FDM printing as you are limited by the nozzle diameter, the slicer is cutting off the parts that your current set up cannot print

@Trish yes that works but I want to add some stable structure to the hollowed part with two holes for a carbon tube and wires

@PerplexedDipole that is no problem for me if the slicer is cutting off a small part from the rear part of the wing. My main concern is to get a constant thickness of the brim.

Would you outline your design process, as in which way you took? There are many ways to the same outline, some are easier to do this than others.

So do not make sharp edges in your design then. With a 0.4 mm nozzle and if you want at least 2 perimeter walls (so one in your slicer setup) at the trailing edge, the edge itself needs to be at least 0.8 mm thick, not thinner. Please explain what you mean with "brim", a brim is a first layer adhesion tool, not something for the whole trailing edge/model.

I am sorry to inform you, that the answer to "How do I fix the thickness" is "Remodel them" - especially in this case as the whole design is... awkward.
But you don't necessarily need to resign them from scratch, if you can fix it... But beware, fixing does only work sometimes...
First of all, Blender is NOT a good modeling software for designing parts that shall be printed, Blender is a 3D Artist program, not a CAD program. It can serve its course, but it can and will ruin your day. I suggest grabbing Autodesk Fusion 360, since it is mighty and free for small makers.
Step 1: Transfer into CAD software
For our first step, we want to take the surface of the Wing and export it as an STL. To do this, remove all interior vertices. ALL. Save as a work-project. Look for "BAD" areas - try to have as little vertices as possible. If several are in the same flat area feel free to remove some. The simpler, the better - compare these two pictures - left the bad side, right the good.

Export via File > Export > .stl.
Open Fusion 360 and import via the process outlined here: Insert > Mesh.
Now we need to turn our Mesh into a BRep like described here:

Deactivate the pickup of model history by right-clicking the project in the left, then "Don't capture design history"
Modify > Mesh > Mesh tp BRep
choose your object and OK
reactivate the model history by right-clicking the project in the left, then "Don't capture design history"

Step 2: assigning Thickness
We got a surface now... or rather several that are stitched together. We want to give them thickness...

create > thicken
click on one area, choose the thickness as a negative value. For example -1 mm
click on the body's lightbulb to make it visible again
rinse and repeat for each area not yet thickened

Hint: rightclick opens a context menu that offers repeat ..., where ... is the last used operation, in this case: thicken. This considerably can speed it up.

Step 3: Combining thickened parts
Now, we have several thickened parts, all of them intersecting or touching. like, what usually looks like this...

actually is these different parts (which I colored for showing only - it is totally unnecessary!)

It's easy to see these all intersect. And luckily, intersecting parts can be easily merged!

Modify > Combine
click one, then another. OK.
rinse and repeat as much as you can - some pieces will throw an "inconsistent edge-face-relationship" error. If these crop up, you need to start over, fixing the Mesh.

To state it clear after wasting 2 hours on this:
Your files needs to be done again from scratch.
In a proper CAD modeling software. Because what you have there is not fixable easily.

Don't design your part as hollow. Make it solid. Then put it in the slicer and chose the infill (i recomment cubic pattern in cura) you want. So you have a mainly hollow wing with a nice structure in it.

Why the negative vote?

@Greenonline maybe tactical downvote. saw this so often, that I have no more desire to even post answers in the future.

I upvoted you. Please don't be discouraged. We all have bad days, sometimes :-) I think that you were downvoted, because instead of a hollow wing, you suggested a clever alternative. I wouldn't have thought that it was a tactical downvote, tbh.


text:
Good alternative to HDPE for FDM
A while back, I had worked on building a Yostwerks Sea Cruiser. Now I'm thinking of trying to create a 3D printable (or 3D millable) version of the plans.
The original design uses cross-sections cut from a half-inch thick HDPE sheet. However, I am considering changing this out for one of the easier to print materials, but I cannot find any comparative information about stiffness of HDPE versus other 3D printing materials.
Can I get a suggestion for a alternative to HDPE that is as stiff or stiffer as well as same density or lighter. The Kayak frame is expected to be compressing the cross-sections.
An example set of cross-sections is as below:

Please note that I have also considering changing the shape of the cross-sections to make stiffer yet lighter cross sections, but that will require some trade-off between portable sized cross-sections versus the stiffness of the cross-sections.

According to the chart on this page HDPE has a flexural modulus of between 0.75 and 1.575 Gpa; meanwhile PETG has a flexural modulus of 2.20 Gpa, meaning PETG is the stiffer material.
HDPE, by definition, has a density greater than 0.941g/cc.  PETG has a density of about 1.25g/cc.
So while PETG may be denser (depending on the HDPE used), it is more rigid, while not being too rigid.
PETG is quite printable using FDM.  If you were printing at a higher temperature and high % infill, I could see it holding up well enough.  I've printed heavy duty parts with it using a 0.8mm nozzle.

Because of the inherent nature of FDM, material properties will most certainly be always lower than casted/extruded sheet material. Furthermore, your question implies to use the same geometry of the ribs, I doubt whether there will be a filament that is able to get close to your requirements regarding strength and stiffness (for the same geometry). Your best choice for filament would be a high strength filament type like PC, certain co-polyester and ABS. But, I'm more inclined to say that this whole question is more of a design issues rather than material selection issue. For that reason I struggled to vote to close as being off topic for this site. In aerospace engineering t-stiffeners are used to make panels, e.g. wing or hull sections, more stiff by riveting T-profile shaped aluminium stiffeners onto the panels, this is something you could consider (bolt on aluminium profiles), as well as incorporating these stiff ridges directly printed in your design, but that would change the shape of the ribs.

Yes, I considered changing the shape of the cross-sectional parts, but as I was looking at it from a materials viewpoint, I neglected to add that in. I will add in that into the question.


text:
How does one use a heat tower?
I've been asking around on how to choose the right temperature for a given filament. I noticed that with two different brands of pla I have to print at different temperatures, and the manufacturer specifies a broad range of print temperatures.
I keep hearing about heat towers, and have found various examples on thingiverse.
My question is how do I actually print one? And then, how do I judge the results?

I recommend doing some quick test prints, as manufacturers' recommendations are usually very wide.  You may get satisfactory results across filaments at a single temperature.

@CarlWitthoft exactly why I'm learning to print heat towers.

When you slice an STL of a heat tower, you need to tell the slicer that you need a different temperature at a certain level and maintain that new temperature until another change is requested.
The way I usually do it is by using a post processing script in Ulltimaker Cura, but you can do it yourself quite easily by changing the G-code file manually.
To get it to work in Ultimaker Cura is to:

open a heat tower STL model onto the virtual build plate,
choose the correct print settings, e.g. fan speed, print speed, layer thickness, etc.,
now navigate from the main top menu bar Extensions -> Post Processing -> Modify G-Code,
select Add a script and choose ChangeAtZ,
you now are presented with an option (called Trigger) that you can change options at either a certain Height or at a certain Layer No. number, you decide what you want to use based on the model and layersize used, but height can be chosen safely when you know the height changes in the heat tower model
set a certain height at which you want to change the print properties by specifying a height in option Change Height,
now put a checkmark in Change Extruder 1 Temp (be sure that the box Behavior is set to Keep value so that it maintains this value until you specify otherwise, else it is only valid for a single layer),
a new input box will be presented to you where you can enter the value of the extruder,
repeat this adding of "changes at certain height" e.i. instances of ChangeAtZ until you have specified all the temperatures for all the levels
now slice the model (if not done automatically) and save the G-code file for printing.

If you look into the generated G-code file (the snippet below is taken from a G-code file for an Ultimaker 3) you will see that the post processing script will add extra lines in your G-code file. E.g. the following snippet shows you 2 changes of temperature, one at 5 mm (extruder 1 @ 250 °C), the other at 10 mm (extruder 1 @ 245 °C):
...
;LAYER:48
G0 X93.4 Y132.161 Z5
;ChangeAtZ V5.1.1: executed at 5.00 mm
M117 Printing... ch@  5.0
M104 S250.000000 T0
...
...
;LAYER:98
G0 X93.4 Y132.35 Z10
;ChangeAtZ V5.1.1: executed at 10.00 mm
M117 Printing... ch@ 10.0
M104 S245.000000 T0
...

The bottom line is that the extruder needs to be instructed to be heated or cooled to a new temperature. This is also something you could have inserted yourself manually by adding the codes M104 SXXX.000000 T0 at specific levels where XXX is the extruder temperature you need for that level.
Basically this describes how to print the heat tower calibration prints, not the selection of the settings (e.g. extruder temperature) to use for your prints. When you created the print file you are ready to print the tower and observe the quality of printing. You can look at the print and visually inspect the temperature giving you the best aesthetic performance, the best overhang performance, the best "filling" performance, highest speed, etc. It is you that decides what is best for your application. Alternatively you could print some coupon tests and see which are structurally the best. Please note that additional towers for different settings like layer height, print part cooling and print speed to may be necessary to optimize the print process.

Sidemark, I prefer the use of parametric models (e.g. in OpenSCAD) over the STL models found on the internet, this way I can embed the exact printer setting in the tower for reference. See e.g. this answer.


text:
Marlin 1.1.8 on Geeetech A10 - G0 and G1 ignores coordinates, always runs to [0, -6, 0]
I've just gotten my Geeetech A10. I have a 3dTouch sensor installed. I got my offset and calibration set.
If I send a G1 or G0 command, regardless of arguments, it runs the print head off the front left of the bed [0,-6, 0]. I can send a G28 and it returns to the middle of the bed pretty much as expected.
For instance - I send G0 X10 Y10, it still runs to that same [0,-6, 0] position. Attempting to print anything is a no-go because every G1 or G0 sends it running back to that spot to spit filament off the edge of the bed.
I've rebuilt firmware from Geeetech's linked sources twice. Everything works with control from the dial, it just doesn't interpret G-code in any useful way.

Hi Kyle, and welcome to 3DPrinting.SE! What an unusual problem, are you sure the sources are correct? Maybe try another firmware. Please update your question with a link to the sources.

Help us help you! Give us as much info as possible! For example a link to the firmware. Do you run Relative or Absolute coordinates? (G90 vs G91) Also very helpful would be to show us what M503 gives as an output when connected.. http://marlinfw.org/docs/gcode/M503.html

Hi Kyle, does your control software or printer display [0, -6, 0]?  As Trish said, have you tested sending commands with relative vs absolute coordinates?


text:
How can I run two instances (or equivalent) of Slic3r on OS X?
I am modifying some Slic3r config parameters and comparing the results.  How can I have two instances (or equivalent: I would like to see two model windows with their associated configuration screens) of Slic3r at the same time?  I'm on OS X, but if there is a generic (e.g. within Slic3r) solution that will be preferrable.

Mark, The answer to your question is available here: https://stackoverflow.com/questions/47350555

Thanks Samveen, much appreciated!  I think you should consider that it might be useful here to answer questions related to running 3D printing software, such as slic3r.  There could have been specific slic3r commands or configuration options that are useful for doing this.  Cheers and thanks again!

@Samveen If you look at Game plan - What is on-topic? I'm inclined to say that this falls in the category of "Software issues" and should not be closed.

Yes, this could go anywhere including Ask Different, SuperUser...  however, we have an answer now, and everything is upvoted, so even if it is closed, then it will never be deleted :-)

@MarkHarrison however, this is very much purely a question of how to handle executables under OS X.  the fact that you are dealing with Slic3r is irrelevant.  Now, if you want to ask how to make Slic3r do two different slices on one object at the same time, then this would be on-topic.

@CarlWitthoft, good point... I've updated to reflect that I wish to see two model windows and associated configuration screens, without suggesting or requiring it be done by running multiple Slic3r processes.

From a terminal window, run the command
open -n -a slic3r

Each time the command is executed, a new instance of Slic3r is created.
As per Carl's note, keep in mind that both instances of Slic3r will be sharing the same configuration files, so it will be safest not to save configuration changes while both are open.

See comments about Prefs files under Greenonline's answer

You could duplicate the application by clicking on the application and pressing Command (⌘) + D, and then run both - although I'm not sure if that would mess with the preferences. I haven't fully tested it, but both instances opened up and worked, seemingly ok.

You could even rename them to something other than "Slic3r" and "Slic3r copy" to remind you which application is slicing which model, for example:

"TestCube" and "Benchy", or;
"Slic3r-TestCube" and "Slic3r-Benchy", or whatever.

However, Mark's answer seems much more elegant.

So far as Preferences and whatnot go: that depends on whether Slic3r stores all config files inside its own application folder or in /usr/lib/[whatever] .   However, if one follows Mark H's answer,  you'll guarantee that whatever changes to config or prefs you do in either instance will change the only existing prefs. files.   That makes your answer slightly safer!


text:
Cantilever snap-fits print axis
I'm new to 3d printing and need to design and print a case on an Ultimaker S5 using PLA.
The case is box like and consist of a top and a bottom part. I was thinking about cantilever snap-fits to join the two parts. I read that these snap-fits need to be printed in the X-Y-plane for better stability. However with the bottom/top side down the walls will be in the Z-axis and thus the snap-fits would be printed in the X-Z- plane. If I would print the part lying in it's side I would need a lot of support in the inside. How am I supposed to do this correctly?
Also what tolerances should I use to make the parts fit well while still being separable?

Welcome to SE 3D Printing!

I removed the printer as this is not a printer specific question.

Let's look at the general design.... it is a case... so a box of to halves. And we need some kind of connector...
How about splitting the connector into a separate C-shaped piece? That way the connector clip can be printed with the C to the plane, getting maximum durability out of either pice. You just need to print some short overhangs, the clip going around the central box, possibly in dedicated notches. Also, this is easily removable from the outside with a screwdriver. And easily replaceable. Also, both sides could be identical, if designed in the right way.
Or we use a slot in the lower body, and a Y shaped slot in the top, and make the connectors have a flat hook that matches into the lower body (push in from below) then the split top pushes through the top and latches in... This isn't removable from outside easily.
Third alternative: bolts. If the item inside the box - a PCB? - is going to be bolted to the lower case anyway, why not add extra long screws and have the top case be bolted to the lower case with the same screw that holds the PCB in place? Or, just use a pair of additional bolts and nuts on the corners.
Edit: Recently, Angus aka MakersMuse uploaded a video discussing snap-fit connections and how to make them 3D printable with the example of a backpack buckle.

I like the idea with the C shaped clamp. Is this better than pins on one part and holes on the other that make a press fit? This would at least be invisible. I have a PCB to put inside but I don't think it's a good plan to have the pins go trough the holes in the PCB because they could only be 2.5mm in diameter and would need to be about 18mm tall. Maybe I can make the case a little bigger and add Pins and holes in the outer corners?

C-clamps means, that your sides might be identical. also, some addition about using for example longer screws...

identical sides is not relevant for me because I'll need various cutouts anyways. Screws might be an option.


text:
What parts are suitable replacements for an Ender 3 Pro?
I'm new to 3D printing and I recently got my first 3D printer, an Ender 3 Pro by Creality.
I've tried to find information about the type of nozzles should I look for. I'm trying to find stainless steel nozzles but there are so many models (M7, M8, etc.) and I have no idea what nozzle type I should get.
I've tried searching on Google but the only info I could find is that the extruder is an MK-10.
I am also looking for a heating cartridge for the hot end, but I still cannot find no information about the size that I need (15 mm/20 mm/30 mm). Also looked for info about the heated bed so I know what kind of thermistor I need (I found two types and no clue which one to get).
Where can I find some technical information about these?

Welcome to 3DPrinting.SE! I not sure but this might get closed as a shopping question, although, you're looking for the parts list, not exactly where to buy them (or so it seems). Search for MK10 nozzle on Amazon. You should readily find them there. Size on those should be M6x13x6mm. Micro-Swiss HW-NOZ-MK10-04 is one example. I believe you can find most of what you need on Amazon, if for nothing else, finding the parts to buy elsewhere if you don't like Jeff Bezos.

Thank you! Unfortunately, I do not live in the US nor Amazon is available over here, so I need to get them from somewhere like AliExpress. I did search for MK10 nozzle already but I get multiple types (M7, M8) and I do not know what to get.

You may not have Amazon available for delivery, but you can use them for parts detection! :o)

Try looking at Chinese suppliers on eBay. FWIW, I've just started using AliExpress, and I find that the search mechanism is terrible, compared to eBay, although AliExpress is often cheaper than eBay

@Pᴀᴜʟsᴛᴇʀ2 IMHO this is not a shopping question, it is a question asking which parts his machine consists off. Considering the different parts that exist and Chinglish texts describing the parts, I can image that there is confusion. See also this recent meta topic.

@0scar It is a list question though. What part does he want information about? I see... nozzle... heater cartridge... heatbed... thermistor... ALL these parts would warrent a separate question like "Which dimensions has the heater cartridge is in an Ender3Pro?" etc.

@iamroot:  "M7, M8" refers to the metric thread size/gauge.  Regardless of the material type, you need nozzles with same gauge as your block uses.

Thanks to everyone, indeed I need the M6 nozzle and 20mm heat cartridge as @Greenonline and 0scar suggested!

I don't think that I helped that much, tbh, but I'm glad that you got an answer. Good luck, and keep visiting this site, if you have any more questions (or answers). :-) BTW, I think that you mean 20mm heater block, not cartridge.

The Ender 3 takes an M6 thread (metric 6 mm diameter). Measurement of stock nozzle shown.
Most sellers will list compatible printers Ender 2, Ender 3, Ender 4, CR-10, CR-10S, CR-10 Mini, CR-10-S4, CR-10-S5, CR-8, CR-7. Will Also Fit Any Other MK10 Heater Blocks.
I recently bought some titanium alloy nozzles as the brass one got closed over after crashing into the glass bed.

OTOH,  brass nozzles are dirt-cheap, so buy a dozen and swap in as needed.

You get what you pay for. Given my Ender 3 keeps nose diving the bed every now and then, I’d rather have a nozzle that costs 5 times as much and doesn’t need changing :) (I will be getting an ABL).

Heh ... was just considering a nose dive with a titanium nozzle on a glass bed ... crunch. I think I'd rather get the problem fixed as replacing glass beds I'm sure gets expensive after a bit.

@Paulster2: Funny you should say that. I switched back to my original Ender 3 bed after switching nozzles, only to gouge a long grove in the bed (after manually levelling)... Ender 3 really needs an ABL.

There is no such thing as a single MK10 hotend design. The Chinese aftermarket has mingled the designations.
If it has a MK10 like Makerbot hotend, then the nozzles you are looking for are M7 threads. It appears (see this answer) that your hotend is a cloned MK10 and has different dimensions, you have the M6 version.
Quote from link above: (this is about the Makerbot MK10)

MK10 was a complete change of the hotend. MK10 uses smooth OD thermal
  barriers with a larger 4mm OD 2mm ID PTFE liner. MK10 also uses M7
  threads, vs the M6 of all previous models. This is because a 4mm PTFE
  liner is barely enough metal to make the outer tube with m6 threads.
  MK10 is completely incompatible with all previous hotend parts. Every
  part is different. Mk10 still uses MK9 feeder parts.

You could measure your current heat block (the width of the Aluminium block); if you look at the MK10 drawings  of a proper M7 MK10 Makerbot (or derivative) hotend (below) you see that the width of the block is about 19 mm (which would be the length of the heater cartridge).

The CEO of ToyBuilder labs explains the difference between an "MK10" and an MK8 in this video:

As can be seen, your nozzle clearly is not an MK10.

Where did you get the diagram? The ender 3 is a MK10 hotbed but it is an M6 thread. Not M7.

@GoneCoding A true MK10 (invented by Makerbot) has these dimensions, if not it is a different MK10.

Thank you very much! You are also correct, I need the M6 nozzles and the 20mm cartridge!

@iamroot There is a lot of confusion, as there are more MK10 designs around. See e.g. the difference between an MK8 and an MK10 nozzle.

authors: Наталья Ветренко


text:
Ender 3 seemingly speeds up too much on straight long shell lines
After few good prints with my new Ender 3, I noticed that prints with longer shell straight lines (> 5 cm) have extrusion problems in the middle of those lines.
I figured that this might be because the printing speed (70 mm/s) and filament temperature (210 °C for PLA). So I increased my filament temperature about 215 °C and lowered print speed to 60 mm/s. I am using Cura v3.5.1. For the next few smaller prints everything was perfect.
Now I am printing a bigger 128 mm X 48 mm rectangular shape. In the middle of the 128mm line of the outer shell, I have signs of under extrusion. Looks like dents.
I also notice that the head is really fast during this 128 mm travel. No way ~2 seconds would take 60 mm/s to travel 128 mm. It is more like 1 second or less.
Why would my head travel at such speeds?
I am attaching my speed settings.

I am attaching the image of the printed piece and the defect generated.

Your travel speed is set to 120mm/s so it would make sense the 128mm travel takes ~1 second. You most likely have combing turned on so that it doesn't not need to retract on travels. This makes it ooze plastic as it travels and would mimic underextrustion.

Interesting point. Combing is turned on indeed. You might be right. I am not sure. I have a knob on the extruder motor and seems that is extruding during the fast move. I might be wrong. I have to reprint this tomorrow and take into consideration your suggestion, so I can accept your answer. Thank you!

@sanyi After looking at the image it doesn't really look like a combing issue, although i still think it is related to the travel.

Travel speed is the speed at which the nozzle travels when it is not printing. Print speed is how fast the nozzle travels while printing. At a print speed of 60mm/s, it should take just over 2 second to complete the 128 mm side. You also have more advanced speed settings, including inner wall and outer wall settings, that should effect the time to print the side.


text:
Adding additional extrusion to a raft (raft with a skirt?)
I started using rafts more often, to get better results with complex or fragile parts, but my Ender 3 consistently under-extrudes the initial outside line of the raft (for the first inch or two, where extrusion starts).
It is often very thin and does not adhere. This often leads to problems with the following pattern of raft layer 1 curling up (ABS) as it does not meet the edge line (due to the 1-2 inch gap in the perimeter).
Skirts avoid this problem by getting the flow going, but rafts only print a single outer line.

Is it possible to specify more than one outer line on a raft in Ultimaker Cura?
Is it possible to add a skirt to a print that has a raft (or at least some initial printing to get the flow going)?
Is it possible to add some initial G-code that will extrude a line, say from near the start position to the start of the print?

The latest update to Cura (3.6.0 at time of writing) added a printer configuration specifically for the Ender 3.
The Start G-code script now includes the following:
; Ender 3 Custom Start G-code
G28 ; Home all axes
G92 E0 ; Reset Extruder
G1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed
G1 X0.1 Y20 Z0.3 F5000.0 ; Move to start position
G1 X0.1 Y200.0 Z0.3 F1500.0 E15 ; Draw the first line
G1 X0.4 Y200.0 Z0.3 F5000.0 ; Move to side a little
G1 X0.4 Y20 Z0.3 F1500.0 E30 ; Draw the second line
G92 E0 ; Reset Extruder
G1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed
; End of custom start GCode

This prints 2 initial lines, right along the left edge of the print bed. This solves the priming issue completely and results in a perfect initial border on the rafts.
This would indicate this priming issue is a known problem with the Ender 3.

Oh, yes, there was such a nasty bug in Cura 3.0.2 when Ender 3 was configured as Creality CR-10 according to the manual, the generated Merlin G-Code did not contain the extruder reset G92 E0 command after the first line was printed. Definitely the time to upgrade to 3.6 after two weeks of trouble and pushing in the extruder by hand :-) thanks.

In Ultimaker Cura you can select only one of the the build plate adhesion options skirt, brim or raft. You cannot select multiple options.
There is no option available in Ultimaker Cura to increase the outline count of the raft bed adhesion structure. Basically the raft exists of a line support structure as can be seen in the figure below.

The line around the lines should be considered "the skirt", so if the nozzle is not properly primed (not sufficient molten filament available), you need to properly prime the nozzle prior to printing.
To prime the nozzle, you need to add some extrusion of filament in your start G-code.
Personally, I like the style of Ultimaker where prior to printing, a puddle of filament is deposited priming the nozzle adequately. Basically you need to move to a position where you like to deposit filament:
 G1 X10 Y10 Z2

Then you need to extrude material
 G1 F125
 G1 E10
 G1 Z3 E5

After that you can even wipe the nozzle.
Another option (that requires some copy/pasting from your side and would not be a recommended practice) that is possible is slicing the model with a skirt (with a sufficient distance to stay away from the raft position) instead of a raft and look at the generated G-code and copy the skirt deposition codes into the raft G-code file. You do need to take care of the proper length of the extruder when the skirt followed by the raft, so you need to use G92 Exx.xx where xx.xx is the actual length of the filament start for the raft.

Hi Oscar, dropping an ABS puddle in mid air results in a balling effect rather than it dropping away. I will investigate the follow-up wipe next. I don’t know g-code we’ll enough yet, but can you extrude from a given point continuously as a line on the bed ending where the print begins, or is extrusion always absolute segments at a given rate? I need a running start.

@GoneCoding Start extruding lower then, play with the height, you could even extrude and raise the nozzle at the same time. Ultimaker does use this priming method on the Ultimaker 3, works like a charm, even with ABS. It even works for POM, which is way harder to print and prime than ABS.

It's not necessarily the case that the apparent underextrusion of a small portion of your raft is the root cause.  ABS is notorious for shrinkage and peeling.  As a start, you should have a full enclosure so as to maintain a warm environment while printing.
It's also quite possible that your bed is slightly off-level or a few microns low for the first layer, either of which can cause adhesion problems.
Yes, it's pretty much trivial to add a few lines of gcode to extrude prior to the "official" raft -- or you could just toss a fake small object into your slicer to extend the raft over both the real and the fake parts.
FWIW, with a little care I've found a wide brim outperforms a raft for almost anything I print

I get the same gap in the perimeter with PLA. Thanks for advice on brim. I am printing very small parts, so was having issues with skirts and brims.


text:
Is my printer over extruding?

I'm getting some slight pooling on the end of straight lines on my Ender-3
Is this due to over extruding? Or some other issue?

Welcome to 3DPrinting.SE!

Please do post some of the slicer settings like temperature, speed, filament type, which slicer (Slic3r?), etc.

Is the result similar if you print at a lower speed?

It looks like you some of your layers are printing with 100% infill.
If you are noticing plastic still coming out at the end of lines then I think your pressure in the nozzle is high when it is getting to the end of those lines and that pressure is pushing out the extra plastic.
That could be because your over extruding, but if it is only happening on layers where you are printing with 100% infill it could also be because lines are too close together and so when your trying to push out plastic to fill all the gaps in the model the pressure is building up in the nozzle because the gaps in the infill are to small for the amount of plastic the printer is trying to push into them.
I would see if it is happening on all your lines or is it worse on layers where the printer is printing 100% infill. Then maybe try adjusting the amount the printer is extruding and see how it changes the print.
Adjusting the speed could also make a difference. And some slicers have a setting to tell the printer to coast at the end of a line so the printer will stop extruding just before finishing a line as well. If you think the other setting are all tuned as good as you can get them then trying the coast setting might help for the model you are trying to print.

What do you mean by "layers of 100 % infill", to me this looks like an aborted print where you look at the bottom layers and some of the infill of about 20 % layers. The bottom layers are 100 % infill as it is the base of the print object.

The extruded filament is very inconsistent in deposited line width, so this is potentially over-extrusion. It is advised to check and calibrate the extruder, see "How do I calibrate the extruder of my printer?".
It looks as though the positional accuracy is off (without knowing the actual print object; some lines are not touching), please check your belt tension.


text:
Creality Ender-3 slanted nozzle
I’ve just received my first 3D printer, the Ender-3 and while
assembling the unit I noticed that the nozzle is slanted and
not vertical on its holder unit.

Is this normal or do I have to try to make it vertical?
Did I receive a faulty nozzle unit?

This is not normal, the heat break (which is the cylindrical part between the nozzle block and the upper cooling part assembly is probably bent in your example) should be perpendicular to the 2020 guide beam (X-axis) so that the nozzle exit is exactly perpendicular to the (heated) platform.
You either received a faulty heat break, or too much force is exerted during assembly. You should contact the seller.
You could disassemble (after you contacted the seller) to see if the heat break is bent or something else is incorrect. Once you have the heat break out, you can measure the dimensions and order a replacement locally (for speed). It is advisable to have some heat breaks, nozzles, and even a heater block, heater cartridges and thermistors available as spares, these are pretty cheap to obtain through the regular Chinese vendor sites or auction sites.
If the heat break is bent, bending it back is not advised as this heat break easily tears open as it usually consists of thin walls.

Thank you so much for you answer.  It looked weird to begin with.  I bought it from Gearbest and I've just emailed them about the problem.

the heatbrakes can be replaced quite easily, but you'll have to get a replacement part.

I will disassemble it and have a look after I received an answer from Gearbest.  If its just the heatbrake that you would great.  Thanks

Please read this transcript from Creality (!)

They have finally agreed to send me a replacement part.  Thank you for your help.


text:
What are the most common 3D printing file formats?
What are the most common 3D printing file formats, and which one is more effective or used more than others?

There are two different meanings for "3D printing file formats"... 3D printing file formats could mean the files which are processed by the manufacturing software,  which for home FDM machines include Slic3r, Cura, and others, or it could mean the design files which hold all the design details.   The former usually has only the geometry,  while the latter has also the dependencies and relationships.

STL is the standard for pretty much everything out there.
EDIT: This is for models to be sliced and printed. Gcode is what would actually be executed, after slicing, to create the print.

tehnically wrong: the proper printing format is gcode (or a proprietary derivate)#

3D-Model Exchange Files
The most common file formats to exchange models for 3D printing are STL, OBJ, FBX, COLLADA, 3DS, IGES, STEP, and VRML/X3D.
Of these, STL, OBJ, AMF, and 3MF are the most popular formats according to All3DP. Pointing out which is the best is a subjective interpretation and not fit for SE sites. However, for many of the model sharing sites, like e.g. Thingiverse.com, many people share the STL file format.

STL file format is short for “stereolithography” and is a 3D rendering that is containing a single color.
OBJ file format, this format stores information about your 3D model. It encodes surface geometry of your 3D model and is also able to store color and even texture information.
AMF file format stands for Additive Manufacturing File Format, this is a relative new format for 3D printing based on an XML open standard. Like OBJ it can store color information. When compressed, the size can be reduced significantly to about half the size of STL files.
3MF file format stands for 3D Manufacturing Format. It is also a relatively new file format that aims to be a new standard for additive manufacturing. According to the 3MF consortium, it allows higher inter-operability between 3D modeling software and other applications, services, platforms, and printers.

Actual Printing Files
In the end, all these formats store the models of your products which eventually need to be transformed into 3D printer understandable instructions. These instructions are called G-code commands.
Lately I also noted that Ultimaker Cura stores sliced models in GZ file format for my Ultimaker 3 Extended, which is a compressed archive from the GZIP compression utility containing the actual G-code file.


text:
Problems with STL model in Ultimaker Cura
I want to print a piece of fruit modeled in Blender. It is an STL file.
Please note that I am an absolute beginner at 3D printing models.
What do these red zones mean? What is wrong about the mesh in each case?

The fruit has some low-poly seeds. These used to be a particle system but I then changed them into individual objects.

This view shows the base of the fruit, why is it colored red?

Welcome to 3DPrinting.SE!

Red areas indicate parts of the model where you should expect troubles when printing them. In most cases a support structure will make them printable.

3D printers cannot print in the air without a prior layer or a support structure supporting the new printed layer. For the picture showing the bottom of the fruit, the red area is the calculated area that requires support for printing, so please enable that in the slicer application.
For the top picture please post a detail or a zoomed in part. It is currently difficult to see what is the matter. It looks as though the STL model is incorrect and Ultimaker Cura thinks that the seeds are upside down, hence the red coloring also. This means that you need to fix the normals of the faces in the STL model. Please look into this answer and this answer for some hints.

Red is the color Cura uses to mark overhang areas. For the bottom that is normal, it can be fixed by using support.
For the top, the presence of red atop the seeds is a common tell of inverted normals in the seeds.
To fix, open your .blend file again, choose the seeds and flip normals. To make the whole thing even better, choose both the fruit and the seeds and then apply the union modifier on both.


text:
Ender 3 Z-limit now unreliable - possible causes and solutions?
I had a couple of recent nozzle/bed crashes, so I now frequently do a manual bed levelling. I do these while the bed is heated to allow for expansion.
Today I found, after levelling, a subsequent print could vary from having too much clearance (paper moves very freely) to less than no clearance (which left deep grooves in the bed as per the photo).

What are the possible causes? Is it just a dodgy Z-limit switch or something else? What solutions are available and at what cost? Obviously an ABL seems essential now, but requires a lot of hardware and setup.
It has just happened again so here are some more details.
Printing PLA this time:

Preheated bed.
Levelled bed all over and got a very good raft.
Print failed later so the print was aborted.
Restarted the same print job.
Nozzle gouged out a uniform depth trench around print perimeter.

The uniform depth of the gouge indicates a problem related to Z-axis only as the bed remains flat and level, but the height is off. That is to say, the bed is flat and level before and after this occurs.
Please note: I have done over 100 successful prints, prior to this issue, so I do have some knowledge about levelling the bed. I am interested in what could cause such a large variation. Initially I thought it was temperature as I switched to ABS at the time, but it now varies from one print to the next.
The machine is a month old and rock solid. The Z-axis is the slowest moving axis, controlled by the limit switch only, hence my suspecting that is the cause.
I purchased a couple of spare Ender 3's and will update various parts in turn to see what the cause is. The metal trigger on my Z-limit switch seems a little floppy sideways, but I am also starting to suspect the bed springs have lost their springiness.
I have the removal bed version and also a borosilicate glass bed. The glass is perfectly flat and the standard removable is dipped ever so slightly in the middle, but the difference is huge when it goes wrong. As you can see from the photo the trench it digs is quite uniform depth. That's why I keep coming back to the Z-limit switch. I have a spare switch now so will try that next.

I doubt it's the z-limit switch. I'd think two things: you aren't leveling your bed correctly; you've got some unaccounted for slop in your setup which allows the bed to come out of calibration after you've done your calibration.

Did the physical switch move? Can you check if the bed is flat? Distortion could be an issue. Did you test the physical reliability?

I do a 9 point check and get almost the same tension on a sheet of paper throughout. I was lucky to get a very flat bed (aside from the gouges now present of course!)

@Trish: I will check the bolts on the z-limit, but that would mean it has moved both up and down and up again. Thanks

I had similar issues on my XY-100 once - the Z-axis limit switch was indeed not tightened correctly, and would tilt a bit.
You may want to try reducing the Z-axis homing speed to prevent it from exerting too much force, or tightening the switch more.

Check this black plate sticker that is attached to bed. Take it off and look at bottom side. Mine one swelled up in some places. Replaced with piece of mirror.

It happened to me too, the z limit changed from one print when it was working well to the other where it destroyed completely the magnetic bed...
I didn't change any parameter between those two prints so I don't understand what happened!

bought a used ender 3 2 days ago, same issue. I just tried levelling it 5 times nad every times it went very flat on the Z-stop or raised up again by 2-3 millimeters, randomly different, regardless of where the bar was at prior to levelling. it's either the connections in the z-motor/rod or the z-stop which is supposed ot be failsafe. ill check the motor connection.

Would higher humidity allow the circuit to close earlier? Anybody know the voltage going through that? 5v? It shouldn't jump until completely closed, right? Does it make a difference if the sd card is in the machine when you turn it on vs. inserting it later?

The second paragraph and this comment contradict themselves. Regardless, did you manage to fix the issue?

@Greenonline Not contradictory as I was referring to the paper measurements varying on the same points after running a bad print. It did turn out to be a faulty z-stop. The switch had way too much movement in the metal strip. Replaced that and all was well again.

@GoneCoding - I'm glad that you found the issue and fixed it. As this is a quite a popular question, it would be great to have a verified solution. Would you like to post your comment as an answer and accept it (by clicking on the tick icon next to the answer, once you've posted it)? Thanks in advance.

This was killing me on mine. My problem wasn't the z-axis, it was the x-axis arm. On the right side, opposite the extruder gear, it had a lot of give (wobble). I could level my bed four times before starting a print and would still have problems, especially with the nozzle making deep grooves in the magnetic bed. The way it messed up was inconsistent as well, making it hard to troubleshoot.
I changed out the bedsprings, got a glass bed instead, changed out the extruder gear and Bowden tube; I was ready to give up.
How to fix the wobble, if that's your problem, if there's a lot of give / vertical movement on the right side of the arm:
You have to take the whole arm off. First, take the top bar off, remove the four screws. Second, disable steppers so you can take the x-axis off completely. I removed the cables once I had taken it off. Third, there's a plate with two holes to get to two screws - make sure these are tight! This is where the wobble was coming from. Four, reassemble and double-check. For me, the give was reduced drastically.
A video tutorial for help. There are English subtitles.

Are you the original poster on a second account?

No, I just thought my issue was also my z-axis and came across this several times in trying to figure things out and figured I'd post my solution in case it helps anyone else.

I've just bought an Ender 3 Pro and as a guess I would look at the Z axis stepper motor to see if it is not holding position once it stops... the stepper motor has power on it all the time it is stopped to hold it in position.
I would check the plug that feeds power to see if it is damaged or not making good contact.

Similar issue happened to coworker's Maker Ultimate. I'm gonna go out on a limb and assume that your Z-stop is a little mechanical switch, and there's an M3 screw going through part of the Z carriage that pushes said switch.
Check to see how much force it takes to rotate said screw. There's a lot of vibration happening in a 3d printer, and it takes surprisingly little vibration to make a threaded part do weird things, including making it back out against gravity if conditions are right. Redo your Z gap paper test, get everything lined up, and then slap a dab of blue loctite on the screw to make sure it doesn't move during your next print. See if that fixes your problem.

I had a similar issue, the first layer always ended up at slightly different heights, making the first layer too low or too high.
At one point, I was raising the Z height 100 mm in G-code, and while watching the gantry rise I noticed extremely brief pauses, then when I lowered to zero the nozzle crashed the bed.  I realized that the Z-axis threaded rod might be slipping.  I Sharpied some marks on the coupler, did the 100 mm rise again, and took a high-speed video of the coupler with my phone.  Sure enough, I saw moments where the coupler was turning but not the rod.  Even though the coupler felt quite tight.  So effectively the machine always thought the nozzle was higher than it actually was.
I tightened about as tight as I could without stripping. It got better, but I still had first layer inconsistency that suggested slip.  Replacing the coupler with a version with 2 pairs of grub screws allowed me to get it sufficiently tight.  I'm not sure how the coupler got loose in the first place, probably a crash.
Also, I found that the screws that hold the heat block to the heat break had loosened a bit. Surely this could cause issues and again probably resulting from a crash.
Finally, I think my Z gantry wheels may have been too tight. I think that would have relatively little effect on large vertical moves, but could cause some slight inconsistency in small moves or with vibrations; small but large enough to be the fractions of a millimeter that affect first layer quality.
Anyhow, one moral of this story I guess is after a crash, you can expect to spend a lot of time troubleshooting and fixing.  try not to crash.

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.

I'm having the same issue with Ender 3 V2. Everything tightened, Z-axis coupler not "slipping"... I noticed, that the error is made by the Z-axis end switch itself. I am not sure how that is possible but try homing several times and you'll see that the loud click when the switch is triggered occurs in a span of +/- 3 mm, which then results in a collision of the hot end and the bed, or the hot end being too high.
From what I noticed, the problem got worse after installing OctoPi. Strangely enough, I get very different results when homing "manually" (from the machine display menu), and when homing is done at the beginning of printing.
I believe that the problem has three solutions:

At least 3 skirt loops and adjust the bed on the fly. This is a very unfortunate solution, but that's what I have now.
I suggest some sort of speed regulation when approaching the switch (Z -> 0), thus making the switch always trigger at the same height. I'm a programmer, but not familiar with G-code, I'll make this solution publicly available when I get to it.
Change the switch. The tin "paw" that can bend is unfortunate when you need 0,01 [mm] precision. The video is unrelated to the topic, but run 10-15 seconds and you'll see what I mean: Z-axis switch replacement

Hello again. For anyone interested: 1) it was the loosened Z-axis coupler. 2) I think that the described software feature can be achieved with existing equipment using PID regulation.

I have just had exactly the same symptoms with different clearances b/w the bed and the nozzle after homing. In order to reproduce that, I simply had to do subsequent homings and measure the clearance. The variance was around 0.15 mm.
I was not moving my printer. No wobbling was found. If the printing cycle is started successfully, then I have no issues with the printing quality. No missed steps on Z or any other axis.
The solution for me was in software. I have followed the comment here saying "You may want to try reducing the Z-axis homing speed to prevent it from exerting too much force, or tightening the switch more."
SOLUTION: I have compiled Marlin firmware myself with the only changes made to the homing speeds. Namely
in Configuration_adv.h
#define HOMING_BUMP_DIVISOR { 2, 2, 10 }       // Re-Bump Speed Divisor (Divides the Homing Feedrate)

and in Configuration.h
#define HOMING_FEEDRATE_MM_M { (50*60), (50*60), (3*60) }

Now during homing, the Z-axis movement is so gentle that the endstop triggers reliably at the same position. It costs me only extra 10 seconds but saves a lot of time in restarting the print.
P.S.
It looks like my problem is a combination of things: speed of homing and some issues with the endstop. I am ordering endstops anyway but meanwhile... anyone who can compile Marlin may consider this approach as it requires no tinkering with the HW part of the printer and is easy to roll back or configure.


text:
Getting a Cura Raft to stick to the object more firmly (for ABS)
I have been have a problem printing ABS with Cura on an Ender 3.
I am getting good bed adhesion on the raft, but the object on top of the raft easily curls off it. See photo below.
Settings:

Bed 110 °C
Nozzle 260 °C
Fan 0 % speed

How do you control how strongly the raft adheres to the object in Cura?

Have you checked to see how straight your bed is?

@Paulster2: the bed is perfectly level, hence the very solid raft adhesion. Apparently it is the air gap setting according to Oscar below.

Please realize the difference between "level" and "straight". Have you put a straight edge on the bed to ensure it is flat all the way across, in all directions?

@Paulster2: I misspoke. I meant straight & level, not warped etc. The flat raft indicates that. The airgap suggestion below worked.

You should reduce the air gap option called "Raft Air Gap". Printing ABS optimally requires an enclosure of the printer, wind and draft cause temperature changes which could lead to layer separation.

Thanks for the airgap info. Will try that shortly. Re enclosures, my understanding is the problem gets worse the taller the print (further from heat bed). This print object is just a test, whereas the actual items I need to ABS print are under 8mm in height, so should be fine, but currently have the same problem.

Reducing the airgap appears to have solved the immediate problem of the object separating from the raft. Many thanks

strictly speaking, Enclosure is not needed but it helps

I had the same problem and this solved it. I also needed to reduce the "Support Z Distance" (distance from the top/bottom of the support structure to the print) to stop the supports from curling off.


text:
How to set the boundaries for BLTouch probing
I have just installed the BLTouch on my Ender 3 running Marlin 1.1.9 and I want to set it up so the probing does the 9 points in a perimeter that uses most of the bed surface area. At the moment the probe just covers a small area.

I read that to sort it out you have to change the section " // Set the boundaries for probing (where the probe can reach)." but I can't figure out what to set it as, my current settings are as follows:
 #define LEFT_PROBE_BED_POSITION 30
 #define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - 120)
 #define FRONT_PROBE_BED_POSITION 30
 #define BACK_PROBE_BED_POSITION (Y_BED_SIZE - 120)

When I try to set it so something like:
  #define LEFT_PROBE_BED_POSITION 30
  #define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - 35)
  #define FRONT_PROBE_BED_POSITION 30
  #define BACK_PROBE_BED_POSITION (Y_BED_SIZE - 35)

I get an error reading :
  RIGHT PROBE_BED POSITION is outside the probe region.

Any help you can give me on what I am doing wrong will be greatly appreciated.
The probe offset from the extruder are as follows:
#define X_PROBE_OFFSET_FROM_EXTRUDER -41  // X offset: -left  +right  [of
the nozzle]
#define Y_PROBE_OFFSET_FROM_EXTRUDER -5  // Y offset: -front +behind [the
nozzle]
#define Z_PROBE_OFFSET_FROM_EXTRUDER -1  // Z offset: -below +above  [the
nozzle]

For completeness, this is the G-code that I am using: CE3_square.gcode.

Please post the offset of probe with respect to the nozzle. That is #define X_PROBE_OFFSET_FROM_EXTRUDER and #define Y_PROBE_OFFSET_FROM_EXTRUDER

Please look into this answer and this answer. I think the latter answer answers your question.

Possible duplicate of Nozzle jumps off the bed when using Marlin Mesh Bed Leveling

I  have edited the original post to include the extruder offset.

As explained in this answer it is you that needs to calculate where the head (read sensor) is supposed to go depending on the amount of space you have left on the carriage shafts.
As can be seen from your configuration, your sensor is located on the left front (when facing the machine) at 41 mm left from the nozzle you are requesting the sensor to travel to a position that is outside the bed (35 mm), so you should at least subtract 41 mm from your X bed size.
As you have not posted a bed size, an assumed X bed size of 220 mm would mean that the maximum probing distance for X (i.e. RIGHT_PROBE_BED_POSITION) of 220 - 41 = 179 mm
In your case -41 mm would take it to the edge, so 30 mm extra would make it symmetrical:
#define LEFT_PROBE_BED_POSITION 30
#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - 41 - 30)
#define FRONT_PROBE_BED_POSITION 30
#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - 5 - 30)

Furthermore, it is way more convenient to set the Z distance between the probe and the nozzle using M851 Zxx.xx (where xx.xx denotes the offset as a negative value) than setting it with Z_PROBE_OFFSET_FROM_EXTRUDER.

Thank you for helping, the probing is now the right size, however now my prints are off from the centre, a try to print line to make a square roughly 30mm from all the edges and it prints the front line right on the edge

@Liam Great that you fixed the probing area. For centering: How to center my prints on the build platform?


text:
Can I use a 2D photo to get a 3D printing model?
Can I use a 2D photo to get a 3D printing model that gives a good result?

Rather depends on what you want for a result.  For example, look up "lithopane" for one specific application of a 2D photo to a printable item.

With just 1 2D photo, you can never get a 100% accurate 3D object. That is because you don't really know about the hidden parts.  Think of a photo of a smiling mischievous child that is facing you, and you can't see that they are holding a sling shot behind their back.    However, with multiple 2D photos, one can reconstruct a 3D object, provided all the parts are seen.  This is called photogrammetry.  You can search wikipedia and youtube for in-depth discussion about this.  It is an entire science.  There are applications that do this for you, but I can't recall the details right now.


text:
Ultimaker Cura problems with build platform size and overhang support
I am attempting to print an axial fan blade, and due to the size requirements, I have to angle it on its side (despite only being 7.44 inches in diameter...). I am using an Ultimaker 3, which I thought was able to print 215mm (or 8.46 inches). This leads me to two questions:
Question 1: If my diameter is only 7.44 inches, why am I unable to lay the fan blade flat (see below - notice the dimensions are within the bounds)?
Question 2: What is so wrong with the surfaces in red that Cura cannot print, even with supports? I am using PVA as a support material, yet there is something wrong with my model in Cura. I checked the X-ray view and nothing seemed amiss.

Change your Support Z Distance to match your layer thickness and see if that helps. This is a guess on my part, but thinking there needs to be something set there (mine has a set distance of 0.1mm on a 0.1mm layer thickness).

SE websites are driven by questions and answers, your question contains multiple questions which makes it more difficult to answer as there are multiple answers. Please split up your question by adding the other questions in a separate question!

@0scar moved this to meta https://3dprinting.meta.stackexchange.com/questions/368/multiple-questions-in-one-post

What is the status? Your second question is unclear, it would be best to copy it into a new question where people can ask you what you mean with "cannot print", e.g. have you tried printing it flat or upright? You can use extruder 1 as support extruder, the bed will be larger then.

Ultimaker Cura print bed size sizes (shrinks) when you enable skirt, brim or raft build adhesion options. Try to print without build plate adhesion option if you want to push printing to the limits of the build plate. Furthermore, you mention the use of PVA, using 2 cores, the priming print tower also needs space to be printed, this can be also limiting your build plate space. Note that you can define where to print the tower, you could try locating it in a corner where the fan does not reach.
From your screenshot with the fan flat it appears that you have selected dual extrusion. Note that the bed size depends on the amount of cores you use, from Ultimaker:

Left or right nozzle: 215 x 215 x 300 mm (8.5 x 8.5 x 11.8 inches)
Dual extrusion: 197 x 215 x 300 mm (7.8 x 8.5 x 11.8 inches)

As an example I have made a 7.44" cylinder of 2" height and put it onto the UM3E build plate to show the differences when you use dual extrusion.
This image shows the cylinder when printed with a single core:

This image shows the same cylinder, but now with enabled "Extruder 2" as the "Support Extruder" option:

Having an Ultimaker 3E myself, printing PVA might not be very good choice as you need to print a lot of support material when printing upright. PVA cooks easily even in the B core, it also needs to be very dry, PVA takes up moisture very fast and becomes useless after that. At work we have much better experience with break-away support material.
Another consideration why you should not print this upright is the orientation of the layers. It is generally known that the layer to layer bonding is less strong that the material itself, it at least provides a lot of notches from which cracks can initiate and grow. This means that if you want to print this, you should lay it flat, this way the centrifugal force is in line with the layer deposition direction.

With the correct layer height (read thin layers), you should be able to print this flat without support. I have printed similar structures like turbo turbine wheels with similar overhangs without support.


text:
How To Trace The Line Of A Print With The Nozzle (With No Plastic Printed)
I want to calibrate my printer for my new BLTouch (Ender 3 using Marlins 1.1.9), every time I adjust the values in the configuration.h and send it to the printer I end up having to wait for the nozzle and the bed to heat up, it also wastes plastic.
Is there a way to take out the values in the code that make the extruder turn without causing any damage.
the slicer that I am using is Cura and the print that I want to trace is this calibration crosshair. Any help will be greatly appreciated.

Which values? You only need to print it once, measure your offset and send adjustments over USB (or once in the configuration.h). I don't understand the waste of plastic. The square is designed as such that it prints very little material, just 2 nozzle widths for two layers. It is intended to actually print something, else you won't be able to measure the offset.

Sure. Comment out your E values and the temp set/wait lines:
...
M109 S245
M190 S120
...
G1 X123.113 Y95.644 E12.81357  F250
G1 X125.613 Y94.214 E13.06364 ; skirt
G1 X128.409 Y93.523 E13.31370 ; skirt
G1 X131.287 Y93.624 E13.56377 ; skirt
G1 X133.471 Y94.259 E13.76129     F250
G1 X133.771 Y94.384 E13.78949 ; skirt
...
Becomes:
...
;M109 S245
;M190 S120
...
G1 X123.113 Y95.644 F250 ; E12.81357
G1 X125.613 Y94.214 ; E13.06364 ; skirt
G1 X128.409 Y93.523 ; E13.31370 ; skirt
G1 X131.287 Y93.624 ; E13.56377 ; skirt
G1 X133.471 Y94.259 ; E13.76129     F250
G1 X133.771 Y94.384 ; E13.78949 ; skirt
...
Now the printer won't wait for any temperatures, and won't dispense any material.

You don't need to comment out the E values, if the extruder temperature is not set, and thus lower than the minimum extrusion temperature, the extruder stepper just won't turn (safety measure of Marlin). This means that only the bed heating and extruder heating needs to be commented out.


text:
Automatic leveling probe offset; adjusting for one side ruins the other
When I adjust the probe offset to get the proper layer height and adhesion, one side is set right but the other doesn't work. If I decrease the probe offset (say -1.100 to -1.050) the right side seems to print better; if I increase the probe offset (-1.050 to -1.125) the left side will adhere to the plate properly.
Before I added the BLTouch and upgraded the firmware to Marlin 1.1.9 I was able to print a perimeter square (with a little manual adjustment).
My Printer is the Ender 3 and I am using a glass bed and the model is this centre crosshair

I have had exactly the same experiences as you did with a inductive sensor on a Prusa i3 clone. It looks as though the bed leveling is not executed, or the level/mesh tilted. Please do note that automatic bed leveling is not magic, you still need to provide a build platform as level (and flat) as possible. A slate of glass is a good build platform surface as the glass production process ensures that the glass is very flat and easy to level.
What I did to solve the problem is that I re-leveled the bed and send the M420 S1 command over USB to the printer to enable bed leveling as I was under the impression that it did not use the grid obtained with G29.
On my CoreXY I also use a touch sensor (3DTouch, which is a BLTouch clone) like you do, even with that sensor I sometimes see that the automatic level is uneven (one side of the skirt has very thin/see through deposition, while the other side appears normal), this is most probably caused by the sensor accuracy (or an obstruction under the probe needle). There is a way to increase the probing accuracy by using double probing where the second probe is advancing slower to the build platform as can be seen in the Marlin Configuration.h file:
// Feedrate (mm/m) for the first approach when double-probing (MULTIPLE_PROBING == 2)
#define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z

// Feedrate (mm/m) for the "accurate" probe of each point
#define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2)

For double probing you require to set:
// The number of probes to perform at each point.
//   Set to 2 for a fast/slow probe, using the second probe result.
//   Set to 3 or more for slow probes, averaging the results.
#define MULTIPLE_PROBING 2

Side note:
From an earlier posting it appears that you are using the #define Z_PROBE_OFFSET_FROM_EXTRUDER in the configuration file to set the offset. It is much more convenient to set that through the LCD menu (Bed Leveling -> Z Probe Offset: -–-) or send  the M851 Zx.xx directly over USB or load through a .gcode file from SD card to prevent numerous flashing the firmware with alternative parameters. Make sure that you enable:
#define EEPROM_SETTINGS // Enable for M500 and M501 commands

in the Configuration.h file and execute M500 to store the new setting set by M851.

Might want to change the first paragraph to "...build platform as flat as possible"

@CarlWitthoft It is intentionally "level as possible", but it also needs to be flat, good point, I'll add that.

When you say to send a particular gcode command over USB, is that while it is printing the file (and needs to be sent every print?) or while idle (i.e. just after turning on) to turn it on permanently?

@Liam I did this when it was idle and was fiddling with the bed layer level, as you I had one squished side and the other falling down to the plate not adhering and I have no problems with bed adhesion normally as I use 3DLAC and the bare Aluminium plate to print upon, it regularly sticks too well and won't come off unless the plate is cooled down.

Thanks 0scar, your suggestions have helped massively, there was still small sections where the bed and nozzle came too close but I have fixed it now by adjusting the x-axis crossbar (it was at a very slight angle), it might have been something different but the problem has disappeared during my adjustments of the x axis.

From the looks of your test print, this is unlikely all or only due to levelling unless the glass plate is abnormally uneven. You may have to check your extrusion (speed, temp, feed) parameters and/or adhesion (clean with aceton and/or prepare with hairspray or glue stck)


text:
Is G-code read line by line?
I am trying to add the line

G4 P4000 G1 F4000 E-50

to pause and retract the print in order for the printed line to dry (printing in mid air vertically). Does the above code work or should i skip lines or does it not matter at all?

G4 P4000
  G1 F4000 E-50

Would the following line do the exact same thing?

G4 P5000 E-50

Basically,  only one "Gx" command per line. Everything following is a parameter list modifying the command.

Maybe you should update the question to explain what you exactly want to do, e.g. do you want to change to another filament, e.g. do you pause to retract during the pause? As it stands now the print pauses, you retract the filament after the pause and then the print continues without filament when inserted in between the code lines. Please explain where the pause is taking place.

Yes, G-code is read line by line. G-code is a numerical control programming language. It basically instructs the machine sequentially line by line to do a specific task. The printer than executes the lines one by one until it reaches the end.
If you instruct the printer to wait (G4 dwell), it will do the wait/dwell first and than will execute the next command to retract the filament. As such, your examples will not work if you want to retract the filament during the pause, you reversed the process if you want to achieve that.
To add a pause (simple) for e.g. filament changing, you should instruct the head to go to a certain position, extract the filament, and now insert the pause/dwell command. Give yourself enough time to insert and prime the nozzle and go back to the last location to continue printing.
You could insert something like (e.g. in between layer change, before G1 Zx.xx):
...
G1 X0 Y0 F2000 ; Relocate the print head
G1 F4000 E-50 ; Retract filament
G4 P40000 ; Wait for 40 seconds
G92 E50 ; The new filament should continue at this value
...
G1 Zx.xx

Depending on what happens after G1 Zx.xx, you may need to set the head back to the location prior to where it was before G1 X0 Y0 F2000.
Do note that there are pausing scripts/plugins available for e.g. Ultimaker Cura, and there is also a filament changing command M600 that can be enabled for certain firmware (if this is your ultimate goal).
Using a post processing plugin of Ultimaker Cura, a pausing script looks like:

...
G0 X137.692 Y105
;TIME_ELAPSED:707.873599
;TYPE:CUSTOM;added code by post processing
;script: PauseAtHeight.py
;current z: 5
;current height: 5.0
M83
G1 F300 Z6
G1 F9000 X190 Y190
G1 F300 Z15
M104 S0; standby temperature
M0;Do the actual pause
M109 S200; resume temperature
G1 F300 Z6
G1 F9000 X133.423 Y105
G1 F9000
M82
G92 E911.50045
;LAYER:24
G0 X137.692 Y105 Z5
...

Note that G0 and G1 are "move to" location instructions (albeit through a different way, fast move and linear move respectively). If you look closely, you see that after the pause, the printer returns to the X-Y position where it left prior to the pause (X137.692 Y105).

Side note:
Some firmware flavors allow buffering, but each statement is executed sequentially.

This needs to be on two lines like in your second example:

G4 P4000
  G1 F4000 E-50

See the RepRap Gcode Wiki for more info. https://reprap.org/wiki/G-code
EDIT: if you actually want to retract and THEN pause, reverse it:

G1 F4000 E-50
  G4 P4000

That will not work, G1 is executed after the waiting time, so now it waits, extracts filament and immediately continue, you should do it the other way around.

Strictly speaking you are right (wait and retract), but it would be useless if the printer continues afterwards without filament after this procedure. I guess the OP needs to explain what the goal of this sequence is and where it is located in his code.


text:
Calibrating E steps for new filament
Is it a good idea or do I need to calibrate my E steps after I switch to a new filament due to the different types I use (to make my prints accurate)?
E.g. calibrate when switching from PLA to ABS/PETG?

In general, the recalibration will be unnoticeable unless you're trying to print to less than roughly 100-micron tolerances.

No that will not be necessary.
However, you could use calipers to measure the diameter of the filaments (e.g. at 5 positions over a few meters) and calculate the mean diameter, if there is a significant difference between the new and the currently used filament you could change the diameter in the slicer (or the flow modifier), you do not need to calibrate the steps per millimeter every time you change filament.
You only need to calibrate the steps per millimeter if you change something in the extruder hardware setup, e.g. different extruder, different stepper driver, a new gear, etc. As long as the hardware is not changed a calibrated extruder setup will move a certain amount of filament regardless of the diameter variation (per rotation of the extruder gear an amount of $2 \times \pi \times (gear\ radius)$ mm of filament.

No, it is not a good idea to recalibrate the machine for each filament. Instead, use a different profile and adjust the flow multiplier to adjust to different polymers.
why
Steps/mm is a mechanical setting that is dependent only on the extruder gear. The diameter of the filament is independent of this: one rotation of the extruder still has the same length of filament moved.
To adjust for manufacturing differences, you adjust the filament diameter accordingly in the slicer. This is independent of the filament type.
However filaments behave differently on heating, and a good slicer does adjust for that already: if we assume PLA as a baseline, then HIPS will need a higher material input for the same print results because it has a different compressibility and heat expansion behavior in the hotend.

Could you elaborate: does HIPS shrink as it liquefies (and doesn't re-expand when cooled),  for example?

they don't "shrink"  per se, but (depending on filament & filler materials), the filament is able to to be packed tighter after the extrusion than in the filament spool (increasing the density)... I don't understand it fully myself, but some filaments just liquify in this strange manner.

The "effective" diameter the gear is biting into the filament changes, therefore there is nothing wrong with having an extruder calibration per type of filament.

@Estaworks3d Your edit was rejected, because a) it was a rant. b) it said exactly what I had said in the very first paragraph. c) it was a substantial change. Write your own answer.

It is normal to have different filaments with different hardness, therefore the teeth of the gears will bite at different depth in the filament strand.
As result, the effective steps/mm will change and you should have a calibration per type of filament.
Repeating the calibration for each new spool is not needed, if you only change brand or colour, but at the end... it just takes 10 cm of filament. Is it really an issue?

That above is not entirely true. Maybe in a perfect world but we are far away from that. Just this week I tested it with an All-Metal MicroSwiss.

Calibrated with PETG at 240 °C. Result E116
Calibrated with PLA at 180 °C. Result E96...

A huge deviation one can't control with the flow. The more smart way to calibrate the extruder would be to remove the heating and nozzle out of the equation. Just run the filament dry out of the end of the PTFE tube with the same calculation method. Unfortunately this is still unreliable.

Just to clarify, which (or whose) answer above is not entirely true, or do you mean both? If not both, please specify which. Thanks. Hi and welcome to SE.3DP, btw :-)

Also define what a huge deviation is and why it cannot be controlled with a flow modifier, this is possible, so explain why you mean it cannot. The shown example can perfectly be changed with a flow modifier.