Ender 3 extrudes plastic whilst at standstill, and while moving to start of print

basics first

The viscosity of plastic is temperature dependent: the warmer it is, the lower it gets and thus the more "runny". The lower the viscosity is, the less force is needed to move it.

In printing, a pressure is applied to the filament from the extruder. Pressure is the force by area, thus for our look pretty much the same: the extruder exerts a force on the filament, to overcome the viscosity keeping it in the nozzle.

A secondary effect is, that heated material expands, depending on what kind of material is in the nozzle.

what happens

The whole problem starts with shutting off the printer after the print: as the filament cools it shrinks. As the motors are turned off, the solidifying and shrinking plastic pulls at the filament. The filament can change its location or be pulled a little through the extruder, keeping the space quite well filled without cavities. Bowden style can change the mere filament path a little to compensate some of the shrinkings by shifting its path from hugging the outer wall to doing the same on the inner wall.

As you start to heat up the printer, there is no force applied on the filament from the extruder to push it out of the nozzle. But when you shut it down, there was some filament in the nozzle.

The filament melts and its viscosity drops, but at the same time, it expands. The extruder does not yet apply force, but as the material expands, it pushes against the filament stuck above it. Newton's 3rd law is the iconic Actioni contrariam semper et æqualem esse reactionem or as we know it short: Actio = Reactio, the force you exert in one direction equals a force applied in the reverse direction. Thus, the expanding filament pressing back against the extruder also exerts a force against itself down against the nozzle. The same is true for the nozzle, but the nozzle has one difference: it has a hole, where the forces are bundled to force filament out.

At some point, the force from the expanding filament is big enough to overcome the viscosity keeping the filament in the nozzle and it oozes out.

fixes

There are several ways to fix this in slicing, but I prefer the end-code method.

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

Example End Code

Watch line 2. This is what prevents my Ender 3 from oozing in the first place

G91 ;relative position set
G1 F1800 E-3 ; Retract 3 mm to prevent oozing on startup
G1 F3000 Z10 ; Move up 10 mm to clear the print
G90 ;absolute position set
G28 X0 Y0 ; home x and y axis to clear the print
M106 S0 ; turn off part cooling fan
M104 S0 ; turn off extruder
M140 S0 ; turn off bed
M84 ; disable motors

Example Start Code addition

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

G92 E3
G1 E-3 F1000
G92 E0


Typically a machine will rapid to find its software stop(s), retract and slowly find its mechanical end stop. Please regard the RepRap Wiki for general troubleshooting and basic technical information.


Sketchup designed "Block with hole" printed solid in Cura

Problem Statement
SketchUp does not always create STLs in ways that are closed, watertight manifolds - a block with a bore is, if created as a block first and then bored out, actually 2 surfaces if made with SketchUp:

a cylinder with its normals facing inside and no top and bottom
a block that has 2 holes in opposite surfaces

The two surfaces are not connected. As a result, Cura sees two non-manifolds and tries to fix each of them - the cylinder with the normals facing inside is considered an artifact that can't be fixed, the holes in the block are stitched and thus turned into a solid block.

Fixing
To repair the issue, you could load the item into for example MeshMixer, which allows to separate and show the different surfaces (shells) and run a rather good auto-fix.
Another program that, with a little handiwork could help is blender. In blender you can first import the STL, then merge the vertices at the edge of the bore and cut cube and thus turn the two shells into one neatly, then re-export it as an STL. I strongly suggest to just add it to your Steam library if you want to keep it up to date.


Pushing Text into surface - Google Sketchup

Definitely you have to perform substract operation.
Take a look here

Extrude text and then substract it from the object to etch in.


How to compensate for bad quality filament?

I am only going to answer the part of the question about how to improve the results from low-quality filament:

There have already been projects going on dealing with the issue of varying filament diameter. A sensor that detects the filament's diameter and sends its value to the printers firmware can compensate for the varying volume of the filament pushed into the hotend by simply changing the extrusion speed. You could think of an extrusion multiplier or a change in the steps/mm value. Of course this has to be calibrated for the distance the filament needs to travel from measurement to hotend.

A good first read can be found in the following project:
http://forums.reprap.org/read.php?13,222517

And the corresponding Thing page:
http://www.thingiverse.com/thing:454584


Design connection to motor shaft for printed gear

Design a different connection to the shaft, however I don't know of any

Use a shaft/flange coupler to be fastened to your shaft and to your printed part.

Without knowing the length of the shaft, you could connect a flange/coupler to design this into your gear. This is a good solution if you have to transmit larger torques. See e.g. this pulley that incorporates that concept.
Shaft flange couplers can be connected to your printed part and to the flat part of the shaft.
Metal flange couplers are available in many sizes:

A recess in the printed part houses the flange:

When assembled you can mount the pulley/gear onto the shaft, provided you have enough length on the shaft.


There are many variations of a product generically known as chalk spray. Some of them should be considered permanent or semi-permanent, while the Montana brand product explicitly states "temporary" in the description. There is a caveat in that it has to be a non-porous surface to be considered temporary.

The product is primarily directed at outside/sidewalk art which can be washed away or will wear away under normal traffic. As such, it is suited for matting shiny surfaces for scanning purposes. White is the best color for scanning as it will accept light and shadows better than the other choices.

I have a can of white and can attest that it will wash off. Some of the product will wipe off dry but the small crevices require washing, which should be considered when spraying your item.

The product is available at many online outlets and may be found at local art supply retailers.


The marching cubes algorithm can convert voxel data into a surface mesh. A global threshold to determine the surface in the greyvalues is used.
This article might be helpful.


PRUSA likes the bed to be cleaned with isopropyl alcohol. What else should I use?

Ethanol (Ethyl Alcohol) should work just fine as long as it's around 80% or more. It's very similar to isopropanol as a cleaning solvent. What you're basically doing is removing any stray grease from the bed with a solvent that evaporates quickly.

Methanol would also probably work. It's very poisonous though, and shouldn't come into contact with your skin, so it requires a bit more careful handling. Methanol also has the benefit that it can't be used for hand sanitizer (since it's absorbed through the skin), so supplies shouldn't run out.

Look for alternative sources, for example, methanol is often sold as de-icing agent for pneumatic brakes on trucks. Just make sure it's pure alcohol without anything funky added.


The RUMBA boards run up to 36 V, so reusing the (24 V) power supply from your printer should be fine. As the 2 extra steppers do not take much extra power (note you are ordering only 1!), your supply should be sufficient. Note that a 12 V heater cartridge is not going to work on a 24 V board (you'll get a massive overshoot and probably over-temperature warnings and printer shutdowns).


Fighting stringing will not work by increasing the temperature of the hotend.

There could be 2 possible causes for your problem,

the first is that you still have a too high retraction speed, too high for your stepper to follow (do note that the default value in Ultimaker Cura is 25 mm/s),
the second is that you retract too far and the cooled "hot" filament tip is deformed and causes extra tension/friction in the extruded liner.


My guess is that  particular brand of PLA is changing state inside the nozzle as it cools. Quoting from the manufacturer's page,

  Materio3D PLA uses the NatureWorks Ingeo 3D850 polymer, specially
  engineered for 3D printing. It is tougher and stronger than standard
  PLA and can be annealed for improved heat resistance and toughness!

If the residual material in the nozzle cools slowly enough (at the end of a print) to anneal, then by design it won't re-melt at the same temperature as the raw filament material.   I would recommend changing your gcode so that the extruder hotend is held at temperature after a print completes, and making sure to clear the nozzle with an alternate type of filament before allowing the nozzle to cool.

quoting from another page,

  To achieve a heat treat on a printed part, submerge in water (or bake
  in oven) at 200F for up to 30 minutes.

notice that's Fahrenheit, well below extruder temperatures.


From the picture, this doesn't look like an X or Y axis problem.  I wonder if it is a problem with the Z-axis positioning?
I don't have any specific suggestions, but I would start by, with the printer off and cold, manually turning the Z-axis motor(s) to assure that the movements are smooth and without any binding.  If the movement is smooth, then with the printer powered on, try some Z-axis movements, up and down, both listening and feeling for excessive vibration or jerkiness.
What may be happening is that the Z movement is binding for several layers and causing the flexure in the Z-axis to bend upward, permitting some plastic to extrude but forcing it into a wide bulge.  When the Z axis finally snaps upward, the build layer is too far below the nozzle, so the plastic does not bulge outward and necks down until it builds a base again.  This repeats.
It could be an electrical problem with the Z-axis drive rather than a mechanical sticking or interference, but you will feel that, too, by doing slow Z-axis movements and watching carefully, listening for irregularity, and feeling for any jerk or stutter.


Can any filament be used in with any 3D printer?

Is it possible to feed a TPU filament into the same machine built for ABS/PLA? Or is there no difference? Assume the diameters of the filaments are the same.

The question is not what the machine is built for but how it is built. Let's break stuff down some into why some filaments work better than others and the challenges with them.
Temperature range
The first obstacle is the temperature range of the printer. For example, if your printer's Extruder can't get over 220 °C, you can't print ABS. You need to make sure your printer can match your intended filament's temperature range.
TPU usually prints around between the same temperatures for PLA and ABS, so it should work from that range.
Heated Bed
Most Filaments work better with a heated bed, but some are almost impossible to be printed without. For TPU, a heated bed should be used but is not absolutely mandatory.
Heated Chamber
Some filaments can't be printed without a heated chamber, others like ABS highly benefit from it. TPU is ambivalent on this as far as I know.
Extruder Setup
There's basically 3 extruder setups. Pellet extruders are super rare, so we don't concern about them. The other two are Direct Drive and Bowden. In a Direct Drive, the extruder motor is right over the hotend, and pushes the filament directly into it. In a Bowden setup, the hotend and the extruder motor are connected via a Bowden tube. Both have benefits and drawbacks:
A Bowden makes for a lighter carriage, leading to faster printing speeds. A Direct Drive has much less trouble with elastic filaments and can do much better with retraction.
TPU is one of the filaments that works much better with Direct Drive.
Other considerations
Some Print services do print in machines set up for one filament type and that only, because it prevents cross-contamination of the nozzles, especially when a high-temperature print material remains in it when a low-temperature print comes next. Having for example a little bit of ABS left in a printer that runs PLA next can lead to very very extreme clogging.


TMC2208 drivers - Microsteps configured incorrectly

I don't have these controllers, but I read that with default settings the TMC2208 will interpolate the microsteps set by the I/O configuration pins to
256 microsteps. Please look into how you set up the dip switches / jumper caps on your board, it seems that only 2 are used (MS1 and MS2). Furthermore, can't you just decrease the count of the array  DEFAULT_AXIS_STEPS_PER_UNIT for the Z entry in your configuration file?


AnyCubic D (aka Predator) - Z-zeroing and first layer issues

I recently corrected a similar problem on a Robo3D R1+ printer. It is described as the z-offset setting.

An entry in the Thingiverse forum appears to reference this problem as well. The sensor provides reference information to the board, but the compensation is not always as it should be.

For the Robo, the command sequence was M565 Z0.7 in this specific instance, followed by M500 to store the value.

I'm not certain this is the answer for the Predator as the above is specific to the Robo3d.

An answer in this SE suggests that one can use M206 Zxx followed by the M500 storage command.

Further research regarding the z-offset for your particular board is warranted.


Can I use Bowden hotend instead of Wade for a direct extrusion?

You can use any of them, however the adaptor will be different to make it fit on your printer. I´m using the J-head on direct drive by removing the pneumatic connector; the distance from top to filament hole is close to 4mm, but does not affect the feeding. If the cylinder hasn't the pneumatic connector is possible to print a cap to mount the connector and make it remote drive


Ender 3 first layer of ESD PLA printing on raft fails

The gap between the raft and the first layer is too large (you need to switch to expert mode in Ultimaker Cura to see the values of the option before you can change them) and the hotend is too hot (normal PLA generally prints at 190 °C, ESD PLA prints at higher temperatures; you could aim for 210 °C as a start), This makes it difficult to precisely deposition the first layer on the raft as the nozzle drags the hot filament causing inaccurate first layer deposition.

Furthermore, PLA generally doesn't require a raft to print the part. The Creality Ender 3 has a rough bed (like a BuildTak surface), you could print directly onto the bed surface.

Source states:

  Extruder Temp:  Typically 210-220°C.  ESD PLA is a filled product and
  has a higher melt viscosity vs. unfilled PLA.  Therefore, it is
  sometimes necessary to print at higher temperatures than your standard
  PLA to allow the resin to flow properly.

This implies that a hotend of 220 °C mot not be hot enough, in that case the filament is too cold and viscous and gets dragged because the gap is too large.


At a nearly microscopic level, the herringbone belt/gear combination will reduce the whoosh effect of a square profile cogged belt forcing itself into a matching profile pulley. Consider a well-sealed drawer or similar shape. Push it into the cabinet at maximum speed and force and the air is going to have a difficult time exiting.

By the design of the herringbone belt, the teeth on the belt are eased into the groove in what amounts to a diagonal motion. This permits the air to be exhausted in a less-abrupt manner.

This is part of the concept of Goodyear Eagle belt systems.

Part of the sales pitch is quiet, another part is precision, which I expect falls into the self-centering aspect of the design. Yet another described characteristic is reduced vibration, certainly valuable in the 3D printer world.

I've had no luck getting email communications from the manufacturers regarding this type of drive system, but found that commercially available belts and pulleys do not go below a rather large diameter, making that aspect unsuitable for 3D printing. The belts are also high-load capable, very stiff and also quite wide.

You would not want to use TPU or other flexible filament (perhaps obc?)* unless you could be assured of minimal stretch. Any stretching of the belt would inject too many problems into the printer to compensate in practical terms.

*From MatterHackers web site:

  OBC (Olefin Block Copolymer) 3D printing filament from Dow Chemical is
  a breakthrough material that is both flexible when printed thin and
  rigid when printed.

As an anecdote, I desired to replace the x-axis belt on my laser cutter with a Silent Sync system. It is believed on at least one laser-cutter forum that the GT style belts cause oscillation which appears when engraving. I had hoped to discover that the Silent Sync belts and pulleys would solve this problem, but the lack of communications with the manufacturer threw a wrench in the works. It's unlikely that I can 3D print a 2.5 meter long segment of belt, as I don't own a White Knight printer, but it's interesting to think that OBC filament might do the job well enough. Too much experimentation, however.


How to improve printing over 100 mm/s with 0.8 mm nozzle?

There are no ready solutions. Check on Klipper Github to see if someone requested that, but I doubt it has been implemented.
100 mm/s with 0.8 line width and something like 0.3 mm layer height results in 24 mm^3/s. It's quite high already, since the Volcano is rated at about 20 mm^3/s.
What you could try to do is to take the GCODE you have, calculate the layer time and the total path length for each layer to get the average extrusion rate, and introduce at the beginning of each layer a M104 command with a temperature dependent on said rate.
For example, you could add 1 °C for each mm^3/s of extrusion rate starting at 15 mm^3/s.
If you want, you could also calculate the average extrusion rate not every layer but every 50 mm of extrusion. In this case, better anticipate the temperature command by one stretch, since it takes time to adapt.
Otherwise you need a Supervolcano, or a slight overvoltage of the hotend (remember that power goes with the square of voltage, so do not go above 10% overvoltage).


You do have hit the true home. You will have to physically move the endstop to alter that position. Your problem is, that the endstop-home is on the build area - and that is printer dependant. My Ender 3 has about 4 mm diagonal distance from the bed in its physical home, for which I accounted via a firmware swap, including a "virtual" firmware home.


A4988 become hot when a lot of current draw from them . If it is  more than 1.5 Amp. Also you will notice missing steps, missing layers, abnormal print and Stepper motor become hot .It automatically shutdown at max temp.


If you are using Repetier the code to test the endstops is m119 I think. If your z stop is triggered, you may have to invert it in the config.h file. I had this same issue for days before i figured out the control board was reading the switch as normal close instead of normal open. Hope that helps!


Temp Tower Setup Troubles -- Slic3r (How do you format G-Code {if} statements?)

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

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

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

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

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

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

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


The function of the front fan is keeping the cold end well... cold. :)  It should be spinning as long as the printer is turned on.

The right fan is known as "part fan" and its function is to cool down the plastic that has been just extruded, the idea being to solidify it as soon as possible.  As you noticed it is controlled by the gcode and it can be turned on, off and even made spin at any speed in-between still and full throttle.  It normally stops spinning at the end of the print (with some plastic like ABS it may be set not to spin at all even during the print).

If you take a closer look at your CR-10, you will see that the receptacle the air is blown into by the part fan has no bottom: that slit is where the air passes through, before being deflected 90° towards the nozzle.

On the CR-10 the standard deflector for the part fan does not do a good job (the air is not  blown where it should) and replacing it with a custom part is one of the most common upgrades performed on the printer.

Personally on my CR-10 I used a custom mount with an integrated "fang" that blew the air from both sides and worked really well.  It also had the advantage of reusing the hardware from the original assembly (= you don't need to buy anything, just print the part).


Print Nozzle Dragging and Smearing Filament while Printing

You stated your print of a 20mm cube came out spot on so I will rule out any z-axis configuration issues. It clearly seems like you are extruding too much plastic.

I use slic3r myself with repetier so I am familiar with the settings.

Print Settings - Advanced

All the values should be 0 except first layer sometimes is 100%-200% depending on your personal setup. Increasing these values may cause more filament to leave the extruder.

Filament Settings - Diameter

This should be set to 1.75 or 3 depending on your filament size. If you accidentally have it set to 1.75 when your filament is 3mm, it would probably be over-extruding since it pushing almost double the plastic with the same length.

Filament Settings - Extrusion multiplier

This should be set to 1 or slowly adjust it 0.05 increments to reduce overall amount of plastic leaving the nozzle.

Printer Settings - Nozzle diameter

This should be set to 0.5 since your nozzle is 0.5mm. Make sure your nozzle truly is this value.

EDITED 10/19/17 - OP has solved problem and his own answer made me realize I made mistake on how to measure and correct extrusion steps/mm. Ignore this below and see what OP wrote in their edit.

If all these Slic3r configurations fail or are correct and do not solve your problem, I think you may want to look into your motor step settings for the extruder. It may be too high pushing more filament than it should. To correct this, you need to do the length test where you will extrude 10mm or 50mm and measure the string of plastic. There might be some stretch so a 10mm may measure as 11mm but as long as your close it should be good. If you extrude 10mm and you measure 25mm, you need to recalculate your steps per mm.

Also for your first layer, make sure it is not being smushed to the build plate. You want it to be flattened a little to provide good adhesion but not too close to the build plate where it would constrict the nozzle.

Hope this helps, and good luck on your prints. May you never have to deal with thermal runaway error :)


3D printing bed size and selecting models

Yes, objects in thingiverse usually doesn't include their size and this can require extra effort to obtain.
There are several options to scale objects to fit your printer.  You can often do that in the slicer or using a separate program like meshmixer.
The bed size is not the only (or maybe even primary) limitation you will need to consider when printing an object.  You also need to think of your max height, nozzle size and for your choice of material your will need to consider things like you max extruder and bed temperatures (or even have a heated bed), nozzle type, etc.
You should be able to print just about anything on thingiverse; but, the limitations of your printer will affect HOW you will have to print it and whether you will be happy with the final product.

I have heard of plenty of people the have smaller printers and it was the right place for them to start.  Having a smaller printer that performs well for you will be a much better experience than a larger printer that performs poorly.

Whether the Monoprice Mini 3D v2 printer is the best printer is something only you can decide.  Read and watch the reviews, they can be a great source of "perspective". I know we all have limited budgets and there are certainly way more things you can print with a printer than you can without one.


Anet A8 with 3DTouch does not home X in the center

Your sensor offset for the X direction is incorrect.

#define X_PROBE_OFFSET_FROM_EXTRUDER -28   // X offset: -left  +right  [of the nozzle]

should be

#define X_PROBE_OFFSET_FROM_EXTRUDER 28   // X offset: -left  +right  [of the nozzle]

The hints in the comment already suggest that (left is negative, right is positive), your touch sensor clearly is located on the right side, hence +28 mm.

See also this hint in the configuration file:

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

Also, #define Z_PROBE_OFFSET_FROM_EXTRUDER -1.05 is not really necessary. Many prefer this to be 0 and set the value later by using M815 Z-1.05 (sent over USB or "printed" from .gcode file over SD card)

You also have not set the boundaries for the sensor to reach, I quote:

// Set the boundaries for probing (where the probe can reach).
//#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE
//#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - MIN_PROBE_EDGE)
//#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE
//#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - MIN_PROBE_EDGE)

This can be found in How to set the boundaries for BLTouch probing.

After a G29, the head is raised as instructed by the configuration file to employ clearance.

An M851 will report the actual value it is set to, if you have not set it (by using M851 Z-x.xx, or set it through the display using the menu) then it will report 0, that is correct.


Density of GEL-LAY and LAYWOO 3D print material?

I can't provide the end answer, but if you already have the material, you should be able to measure this yourself quite simply.

Measure and cut a sample of filament, and weigh it. For example, a 10 meter length with a 1.75 mm diameter will have a volume of:

  v = pi * r2 * l

  v = pi * (0.175 cm/2)2 * 1000 cm

  v = 24.05 cm3

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

  d = m / v

  d = 18.0 g / 24.05 cm3

  d = 0.748 g/cm3

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


What prints can I do to test/calibrate my printer for precision?

Any print you make can be considered a test print! But, specific test prints are easily found on the internet and lend themselves better for specific tasks. In order to improve your printer / print quality, you need to follow a meticulous series of tests and record the parameters you use to slice the model. Each test should be broken down into several print process parameters (and recorded) and tested for their effects (e.g. speed and temperature).

A general accepted strategy is to calibrate the extrusion process first and that look into the general accuracy.
Filament deposition calibration
An important aspect of printing is deposition of just enough filament (if you deposit too much the lines become wider, and so are the dimensions). To calibrate the extruder deposition of filament you can easily heat up the hot end, mark the filament with respect to a certain reference point and extrude e.g. 100 mm. Now measure the filament mark again with respect to the reference point to verify you actually extruded that same demanded amount.
Accuracy
For general accuracy printing of 20x20x20 mm cubes is usually fine. Note that the print accuracy is generally determined by the printer (construction) itself, but can be influenced by print speed. Large speeds in combination with a large mass of the printer head can lead to positioning inaccuracies (like overshoot). That said, you should also look into the printer itself. Does it have play? Are the belts tight enough, but not over-tightened? Is the bed skew, or are XYZ perpendicular?
This cube is frequently used to calibrate the dimensions:

Please do note that the poster of this picture probably produced a dimensional accurate print, but still faces under extrusion (as seen from the gaps between the lines)
If dimensions seem to be off reasonably, e.g. more than 0.2 mm (depending on the printer construction) you could change the amount of steps per mm in the firmware. Do note that the steps per mm is mechanically determined by the belt and pulleys.
More tests?
Even more tests can done to make specific filament adjustments. E.g. "temperature towers" can be printed to test the optimal parameters for filament flow and / or bridging (printing in air between two parts), or overhang (unsupported parts of the print). But, these last tests are not specifically designed for the issues you mentioned.
Tolerance test
Once you have calibrated the printer to the ability of yourself and to the capacity of the printer itself you could try to print a dimensional printing tolerance test. Such tests are usually constructed by cylinder shaped (or diabolic shaped) objects in a housing that is slightly larger that the shape.


What is the best way in SketchUp to align the bottoms of all objects to the x-y origin plane?

I would like a better answer involving automatic alignment, but this was my solution.

Make the object a single component.
Make sure the guide points are accurately located.
Cut and copy the first component to the origin.
Copy the component to the guide points.

What also worked better was to break the grouping of components into building blocks that could be put together to make the whole.  Once the building block sliced correctly, it could be made into a component.
Note: the more complex the first layer, the more this accuracy seems to be an issue.


Abrasive blasting is the only other method I can think of which you haven't said you don't want to try.

It is certainly the easiest method provided you have access to one.

Different forms of abrasive blasting include:

shot blasting (metal shot) - I suspect it would be far to abrasive but I've never tried it.
sandblasting - you have to be careful but this is basically sandpaper attached to a wand. I've used it with great success.
bead blasting - using plastic beads. It might actually be the best option but I've never tried it.
media blasting - usually uses ground up shells. Might work but I've never tried it.


Auto Bed Levelling - Printer not detecting, but sensor is triggering

Perhaps the culprit is a pull-up resistor on the board. Normally, endstops on 3D printers use the microcontroller's internal pullups. These have a resistance of around 50kΩ, which is far too high to be a problem. However, if lower value pull up resistors are used on your main board, this could cause a problem.

The resistor of your voltage divider form, when the output of the sensor is low, a parallel pair of resistors to ground, with an effective resistance equal to 1/(1/10+1/15) = 6kΩ. If there was (let's say) a 4.7k pull-up resistor on the board, you'd expect to see around 2.8V on the output (because the pull-up resistor, together with the two resistors of your voltage divider, forms another voltage divider).

I don't have the Anet A8 main board myself, but on pictures I do see a set of 6 resistors suspiciously close to the thermistor and endstop connectors.

You could verify my suspicions by unplugging the endstop, powering down the electronics and then measuring the resistance between the endstop signal and 5V pins.

Possible solutions:

Desolder the offending resistor. This is pretty easy with SMD parts: you just alternate between heating up both sides until it slides off.
Use a diode in place of a voltage divider. Anode goes to the endstop connector, cathode to the signal of the probe. This prevents the high voltage of the probe from being seen by the electronics, while allowing the probe to drain the current from the pull-up resistor.

With this last solution, make sure the reverse leakage current of the diode is not too high. If it has a reverse current of (let's say) 50uA, then 50uA flowing through the (supposed 4.7k) pull-up to ground would raise the voltage at the signal pin to 5.002V. This is unlikely to be a problem, but with higher value resistors or higher leakage you'd see the voltage raise higher above 5V (which the microcontroller won't like).


Another posting already discusses how you can change the pins to use spare stepper controllers for broken controllers by changing the pin layout. Assuming you are using a RAMPS board and using Marlin firmware, you should look at the pins_RAMPS.h file.

This file requires changes to address E1 to E0 and vice versa, please edit the file so that:

#define E0_STEP_PIN        26
#define E0_DIR_PIN         28
#define E0_ENABLE_PIN      24
#define E0_CS_PIN          42

is changed to:

#define E0_STEP_PIN        36
#define E0_DIR_PIN         34
#define E0_ENABLE_PIN      30
#define E0_CS_PIN          44

and also change:

#define E1_STEP_PIN        36
#define E1_DIR_PIN         34
#define E1_ENABLE_PIN      30
#define E1_CS_PIN          44

to:

#define E1_STEP_PIN        26
#define E1_DIR_PIN         28
#define E1_ENABLE_PIN      24
#define E1_CS_PIN          42

When the file is changed an saved, build and upload code to your board and plug the connector of the E0 stepper into the E1 header.


Ender 5 Slant or Leaning when printing multiple parts

If you want a more detailed answer, you need to give more details, e.g.; "What filament are you using?" "How old is the printer?" "What mods have you made to it?"

I can tell you two possibilities. Either your x or y axis is slipping which could be because of worn out belts, belts that need to be tightened, or because of too much jerk. The other is overheating of the stepper drivers so make sure the board is getting enough air over it.


Is there a technique for turning an image into a 2d model?

As you are already familiar with OpenSCAD, consider to use the projection() function to accomplish your goal.

If you allow for an interpretation that one can cast a shadow of the part on a surface below, it becomes a 2D representation of the part. This is effectively how projection works in OpenSCAD.

Note that the part image below is centered in x, y, z and the cut/projection action takes place at the z = 0 plane:

When the function is applied to this model, the result is a non-contiguous 2d image:

When the cut parameter is ignored or set to false, the image which results is effectively an orthogonal shadow of the entire object, rather than a selected slice:

It gets better, of course. In OpenSCAD, the translate, rotate and scale functions apply. One can tip a model over, resize it, spin it around, combine with the cut parameter and get any combination of 2d image from the original model:

It's important to note that OpenSCAD does provide non-zero thickness to these projections when rendered, or maybe when previewed. I always get those two swapped around. As your objective is a 2D result, you may be able to select from PNG (save as image) or Export as DXF or SVG.

Re-reading your post, I also missed part of a more useful answer. Once you have the profile you desire, you can use the rotate_extrude function on the profile you generate. Despite the non-zero thickness, it uses the zero-thickness aspect to create the model from that function.

That aspect of the answer is left as an exercise for the reader, as the options are many and results can be complex.


This is just a stub answer. I will try to expand on it later.
The 8-bit microcontrollers used on many 3D printers do not have a USB interface, and so a USB to serial interface chip is used to allow a computer to communicate with the serial port (UART) on the microcontroller. In order for the computer to communicate with the printer, a device driver is needed to allow the operating system to communicate with the interface chip.
The appropriate device drivers should be supplied with your printer, and you should install these drivers before you try to do anything else. The drivers will make the printer look as if it has a serial interface, and the highest speed that most 8-bit microcontrollers can manage is 112800bps.
If the software that you are using has a terminal interface, you can send any G-code commands to the printer. For a list of G-code commands, see here. Note that this list includes commands for CNC machines as well as 3D printers.
For normal printing, G-code commands are sent to the printer using a print manager, such as Repetier-Host. Some slicers may have built-in print managers.


Ultimaker Cura not always telling extruder to retract when traveling

You probably have the "Combing Mode" option under the "Travel" options enabled for each layer (All). Combing reduces print time by leaving out the retraction, but leads to ugly first and top layers by leaving "scars" on the surface. It can be disabled by excluding the bottom and top layer by changing the setting to Not in Skin or for all layers by choosing Off. The latter will increase printing time drastically!

Please note that as of version 3.5 of Ultimaker Cura the options of the combing setting have an additional setting. As of Ultimaker Cure 3.5.0 the options are named:

Off
All
Not in Skin (used to be No Skin a few versions ago)
Within Infill (new setting)


OK, I have my Ender 3 back to printing nice looking objects. It turns out at some point since the original bad E-stepper I must have pushed the "load settings" menu item. I set my E steps to 98 from 93. and then did a "save settings". I have no idea why going from 93 to 98.03 increased my extrusion from 40mm to 100mm (trial and error, because the formula said I needed to go to 232.5!).
For those that don't know, the "save settings" stores the current settings in EEPROM. These setting override the factory configuration setting when you reboot. If while you are messing with setting and you lose track of things you can do a "load settings" to get your previous settings back to start again. The "initialize EEPROM" reloads the stored configuration settings including the settings that you saved.
More intelligent explanation here:


The bottom of the printed objects has waves after replacing the nozzle

Without more detail is difficult to say with certainty what the root cause of the problem is, but it looks like too much material is being deposited on the bed.

A few things to try/check:

Make sure the nozzle is not leaking.  If it is, you should see fused plastic coming out from the seal nozzle/hot-end and/or hot-end/heat break and trickling down.  This is often the case when the nozzle hasn't been tightened enough, or it has been changed with the hot-end being cold, or if the internal PTFE tube has been dislodged upwards (does not apply to all-metal hot-ends).
Make sure you changed the appropriate setting for the nozzle diameter.  This is not "flow" it is a separate setting.  If you haven't, your printer is now extruding ~4 times as much filament as it ought.
Recalibrate your nozzle height.  This should be done at each nozzle change, as each nozzle is slightly different from the other, and it is possible your new nozzle now sits too close to the bed.

EDIT: also, the picture is too low-res to be sure, but looking at the skirt, it looks like the extruded plastic comes out in blobs.  If it is not due to leakage, then I would suggest to also check that the filament is not slipping through the gears of the extruder.  If you have access to a suitable thermometer, you could also check that the hot-end temperature is stable at the level it should.

Final thought: have you ever succeeded printing with that filament spool?  It is unlikely, but it may be for example a defective one, or a mis-labelled one (so your printing temperature may be wrong).


Relation between layer height and bond strength

My3dmatter.com performed a series of tests with PLA, using "a universal testing machine". They conclude:

  Layer height influences the strength of a printed part when it becomes
  thin. A printed part at 0.1mm shows a max stress of only 29MPa, as
  opposed to 35MPa for 0.2mm (21% increase).

  Past 0.2mm, the max stress remains fairly constant around 36 MPa (we
  confirmed this conclusion with an extra test at 0.4mm, not shown here
  because it was not part of the same batch).

Note: It is recommended to read the full article to comprehend the complexity of the subject matter.


Ender 3 Z-limit now unreliable - possible causes and solutions?

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.


Moving the Z-axis stepper motors below Z 0.0

To allow negative axis values, usually, the way is to use G1 S1 to disable boundary checks and G1 S0 to enable them.

Another way is to force homing Z, which means moving till an endstop triggers and then moving back up the specified motion via G28 Z

Another alternative would be to send G92 Z50 to set the Z-hight to 50, then G1 Z-50 F200 to move that much down, rinse and repeat.


Using KISSlicer from command line on Linux?

Apparently you require a PRO license for using the command line interface.

As of version 1.6 the following command line options are implemented:


Sudden deterioration of print quality on Prusa i3MK3S+

Figured it out. One of the grub screws that hold the motor shaft onto the belt drive pulley for the Y-axis had come loose, and the other had fallen out altogether. I've tightened the remaining one (and ordered replacements), and my prints are perfect again. Well, as good as I can expect, given that I'm using cheap filament.
Two points that might be useful to bear in mind; firstly, the printer was consistently reporting that the belt tension was fine, but clearly it was not. I'm not sure if this is an issue with these printers in general or mine in particular. Secondly, the printer was able to figure out that the pulley was slipping, but did not do so as part of its standard test/setup wizard. It's under Calibration > Self Test.


Layer Separation Where A Previous Layer Ends

Almost certainly the material that was supposed to be deposited there was lost (oozed out) somewhere else during travel moves due to no retraction, insufficient retraction, or retraction being skipped due to combing. Make sure retraction is on, at least 6 mm, and try disabling combing or setting the max combing distance very low, around 2 mm or less.

If your new firmware is Marlin 2.0, you can try enabling linear advance too. If tuned correctly, it will largely correct for this along with improving lots of other things.


How to make menus more responsive in Marlin 1.1.9

Supposedly, it's no longer necessary in a recent Marlin version, already the inline bool handle_adc_keypad() function from ultralcd.cpp has implemented a smaller (100 ms) time delay. You could lower the value of #define ADC_MIN_KEY_DELAY 100 to #define ADC_MIN_KEY_DELAY 50 to see if that has any effect.

Also, look for next_button_update_ms = now + 300; (4 instances) which employs a 300 ms time delay after buttons are pressed. Try lowering the 300 ms time delay.


This is very likely caused by an uneven bed. It's probably lower in that particular corner: the nozzle is further from the bed, so the filament isn't squished down as much and therefore releases more easily from the bed.

Your bed should have 3 or 4 screws that you can adjust, you should loosen the screw in the corner that is giving you trouble.


how to get infill on self created stl via onshapes

I don't use either of the two piece of software, but the first things to pop to mind:

Inspect the slicing preview: it should be self-evident if your GCODE is being generated correctly.  In my slicer the infill is red and you can discern the typical pattern within:

Check your settings: your shell thickness should be something reasonable (like 0.8mm / 2 shells) and your infill should also be below 100% if you don't want to print it solid.  For maximum strength, it doesn't help go much over 60%, typical values for light-duty parts are 20% and 30%.
Check your STL file: your mesh should be a closed surface, a "shell". Or the slicer won't be able to know what is "inside" and "outside".  Many slicers verify this for you automatically and have a built-in utility to attempt to "repair" a broken mesh.  I use slic3r Prusa Edition and this information is visualised at the bottom right:

Let the print finish: the wording of your question is ambiguous, but it sounds like you may have stopped the printer before the part finished.  Certain combination of settings can be deceitful.  For example, a layer height of 0.05mm and a shell thickness of 2mm means you will see the printer making 40 (forty!) layers of solid printing, before starting to create the infill.
Try another slicer: in case your slicer went berserk because of a bug (unlikely but possible), this should fix it.

On an unrelated note: the use of infill has a lot of different reasons besides "saving filament", for example:

relative to an empty print, even a very light infill (5%) provides a lot of added rigidity,
relative to a solid print, infill reduces weight and relief the tensions that are trapped in the FDM/FFF printing process
certain infill patterns allow to provide different responses to stressed in different directions (like for example a crash box that needs to give way in one direction but bear a load in another, or a wing that need to flex on its length but not on its chord)
infill provide support for top layers and other concave structures that may otherwise be non-printable
...


How can you calibrate extrusion multiplier value in Slic3r WITHOUT changing printer settings in memory?

Divide the amount overextruded by the desired amount. If you wanted 100mm but got 101mm, that's 1mm extra, or 1% over. Use an extrusion multiplier of 0.99 (1% under) to compensate - AND THEN DO ANOTHER TEST to confirm.

This modifier will be used by Slic3r to generate E values in your gcode without flashing anything.

I recommend saving this recipe with an intuitive name, like Acme Green PLA.


Is 3D printing feasible for a coaxial rotational joint?

Have you considered to use a service to have the part printed? You can print almost anything in one "pass" using selective laser sintering, typically done in nylon. I am currently un-boxing an SLS printer, so I cannot currently offer to print it, but the capabilities of SLS are substantial for parts of this nature. I've read of entire planetary gearboxes being printed, fully assembled, with appropriate clearances for operation, once removed and "dusted," or cleaned of residual powder.

The printer I hope to be assembling soon has 80 micron powder, so the resolution is quite high, although I forget at the moment the x/y/z figures.

Do you think such a method would suit your purposes?

Edit (add):

because FDM printing by nature causes "oozing" especially in the x/y directions, I would not be surprised to learn that your outer piece has a smaller inside diameter than your design has specified. You may have to make adjustments to the design to compensate. Those adjustments would be specific to a particular printer/filament combination as well. Calibration prints would make the task slightly easier.


How do I calculate the cost of a 3D print once it's done?

For FDM printing:

Both Cura and Makerbot Desktop (and perhaps others I'm not as familiar with) will give you a preview of both the length and weight of your print, including supports/rafts. Once the print is done you can weigh it on a kitchen scale.

PLA Filament currently runs about \$23/kg on Amazon, which works out to \$0.023/g. Multiplication can then give you a good estimate of materials costs for a print.

Only experience with your specific printer will give you an idea of how often you're going to hit a failed print, and how often you're going to need to replace parts. For wear and tear you could try using a depreciation model of 2-3 years, but that's only an estimate.


First time assemble of Anet A6 printer. Only fan works

This definitely sounds like a problem with your wiring if you have a genuine Anet A6, the genuine A6 comes with a 12864 full graphic display. For sure, you are missing 1 flat ribbon cable (see below). Maybe this is causing the LCD not to light up and the SD card not functioning. As the "fan 2" is working, the board is powered by the power supply (this fan is using the constant power feed of the supply of the board). What you are actually describing as a boot sequence is the actual boot sequence of a printer. Once you power the printer, the fan that is cooling the cold end of the extruder should start spinning and keep spinning while the part cooling fan usually spins up but then powers down to standstill. While this is happening, the LCD should come alive and show the boot screen and finally the printer menu. If your screen is not showing any light, this implies that your screen is either broken, not powered or wrongly connected.

You could connect the printer over USB and control the printer from an external program, e.g. Pronterface, OctoPrint, Repetier-host, etc. and see if the printer works (then you know that the display is broken).

From a search on AliExpress I found that there are auto leveling printers sold with the Anet A6 branding that differ from the standard Anet A6 as written in Chinglish:

  Different Auto leveling A6 and Normal A6:

  1.The auto-leveling version uses a proximity sensor to detect the aluminum print bed where the normal version of the printer uses a
  micro-switch to detect the end of travel for the Z-Axis movement
  (vertical limits).

  2.Auto leveling A6-L work with LCD2004 screen, A6 work with LCD12864 screen

The second remark from the quote above suggests that there is a 2004 LCD version that is only used by the Anet A6-L version (probably because they need a free pin for the auto leveling sensor). Such a display only has a single connection socket and needs to be connected to a single socket on the Anet printer board (named "LCD", not "J3")

Note that automatic bed levelling is not magic, and a little more complicated to start with, if you order a printer without an auto bed levelling sensor, you will be able to update to one later. E.g. from here:

  It uses the "LED pin" which is an unused pin on the A8 (using the
  stock 5 button 2004 LCD). That is the third wire counted from below
  (where the red marker is on the cable). I simply spliced the cable and
  cut that wire. This will be the servo signal (yellow).

If you have an Anet A6 adapted for auto levelling with a 2004 display

When the LCD does not light up, this could be caused by incorrect placement of the flat cable, be sure to use the correct socket on the printer board and take care of the orientation. Once you have checked this, and it does not work and you are in the possession of a multimeter, you could measure the voltage over the "VSS" and the "VDD" pin; also look into the voltage over the "VSS" and the "VE" (see pin layout below).
If there is power, but no light, the LCD is probably defective. You could try to hook up a computer to the board using a USB cable and use a program like Pronterface to interface with the printer to see if it works at all, the display is not required for printing (e.i. if you can access the printer over USB).

If you have a genuine Anet A6

It is advised to install an extra flat ribbon cable and check all the wires, please do check for correct polarity and correct installment.

Please do note the the installation of the Anet A6 LCD display (see this movie and the screenshot from this video below) requires 2 flat ribbon cables to function properly.

Sidemark on fan ducts:
Both the stock and most ring type ducts are not aerodynamically designed fan ducts. The stock fan converges too much, this narrowing of the duct causes extra pressure build-up which these fans are not able to handle, so they stall, causing a reduced flow output of the fan. The (semi) circular fan ducts usually also have a design problem. The (semi) circular ones all (but one that I have seen) have the same deficiency that the main passage area does not decrease when the duct loses air through a slot/ejector; this means that the velocity in the main ring decreases after each bleed slot! Note that these fans move air and do not build up a high pressure difference that is large enough to overcome the friction of those designs.


Big cracks on the Layer view in the Preview mode of Cura

You have coasting turned on. Cura shows the coasting locations (where extrusion is switched off) as gaps. The actual print may be fine.


Anet A8 reading 739°C from the extruder thermistor!

I had the same issue. Hot-end temperature reading stuck at 209 degrees even with hot-end thermistor disconnected  or swapped with bed thermistor on the Anet A8 mainboard.

After ordering and swapping the AtMega1284p (using jtagice3 and hot-air soldering station) and the 4.7 Kohm resistor (which measured 2.06Kohm on the board and 4.7kohm off the board) to no avail, the only component left in the circuit that could cause the failure was the capacitor.

Swapping the capacitor C47 fixed the stuck reading for me. I used a 10uF instead of a 15uF capacitor as indicated in the schematic. I do not believe it makes much of a difference, and they are much more common. Make sure the capacitor can withstand at least 10V, but I got a 30V one, because the price was similar.

To any body that runs into this issue, before spending time and money swapping components like I did, measure the voltage of the node between R41 and C47 with respect to ground. This is labeled T56 or test point 56. Compare this voltage to T54, T60, T58, and T62 where similar circuits are placed. You should get a voltage of around 5V ( the pull-up voltage) in the functioning circuits, since we are talking about DC voltage, the capacitor should charge up nearly instantly when the the board is powered, and behave as an open-circuit.

In my case, C47 was almost in full short-circuit, and I read a low voltage on T56 ( ~0.5v).

Since the capacitor was in a low impedance failure mode, the 5V supply voltage of the voltage divider circuit was not enough to power it, hence the fixed temperature readings of the hot-end thermistor ADC channel regardless of the thermistor being connected or not.

Good luck!


Ringing with Ultimakers, what is the cause?

have been used quite a lot for the past three years

The problem, even if belts and such seem ok, might be that other parts start to wear out. The part that contributes te most to ringing is the motion system. Grooves in rails or worn out bearings are a classic way that introduces some freedom in the system that can result in rattle and ringing. A photo of the rails and bearings might help to identify wear. Remember that most bearings need some sort of lubricant to work properly and reduce the wear in them, which should be part of the maintenance cycle!
Another source for the errors could be found in the extrusion system. For example, there might be an increased play in the gearing as springs under constant pressure can lose some tension, resulting in too little pressure on the filament, which typically would show up as under extrusion if the pressure is lost completely. On the other side, the hobbled gear that pushes the filament might be worn, resulting in a lack of responsiveness of the filament movement, again resulting in under extrusion after some point. Once more, photos of this area could help to indicate wear and tear.
Another source might be the mounting of the printer - it has been shown beneficial to put printers on a slab of concrete that itself is dampened on a medium density foam, resulting in even dampening that is usually better than the rubber feet of many printers.


Your trouble lies within the presliced G-code: the temperatures are rather low for PLA and upping both by 10 degrees would be advisable:

200 °C for the Hotend
60 °C for the Bed

Atop that, printing a raft for PLA is usually not advisable.

Get yourself a slicer (the most common free ones I am comfortable with using are Cura, Slic3r and Slic3r Prusa Edition) and either import a fitting profile and create your own profile, then slice the .stl-model yoruself.


First layer prints too thin causing gaps everywhere

From the picture it is clearly seen that the filament is not flattened properly. This implies that your nozzle bed distance is too large. Try decreasing the gap by leveling the bed at temperature and have a piece of "A4" or "Letter" print paper between the nozzle and bed have a little friction when pulled.

Also reduce the temperature, 230 °C is too hot for PLA (unless your printer temperature is way off, but that is not very likely), try 200 °C.

Another thing that you could check is if the extruded length is exactly what is instructed to be extruded; i.e. calibrate the extruder.


Ender 3 v2 Cura Profiles - Anyone willing to help/share?

Use the profile for any Ender 3 model, or better yet just start from scratch and put in the important properties that actually vary per machine - bed size, temperatures needed, etc.
Cura profiles for specific printers, especially the ones Youtubers are promoting, are almost always misguided if not outright wrong. They're a mix something like 5-10% settings that are actually physical characteristics of the machine, and another 5-10% dubious settings that are tradeoffs that might help avoid common problems for the machine at the expense of making other (often worse) problems, and the remaining 80-90% personal preferences of the person who made the profile. For instance, looking at Cura's base Creality profile:

Machine max accelerations are all wrong, at 500 mm/s². The machine can actually handle at least 3000 mm/s², and unless you've updated firmware to have Linear Advance, increasing acceleration is the only way to avoid inconsistent extrusion.

Z speed limit and acceleration are very low. This makes seam more severe and has no benefit.

Print speeds are random and differ per type (outer wall, inner wall, skin, infill, etc.) which doesn't work right on a bowden machine without Linear Advance firmware.

Z seam type is overridden. This is purely personal preference and has nothing to do with the type of printer.

Gaps filling settings are overridden. Same issue.

Retraction settings are botched, especially increase of window for max retraction count from 4.5 mm (default) to 10 mm, which will cause severe omission of retractions (thus stringing, oozing, and failed adhesion) in any print with thin layers and fine detail.

Enabling skirt. This is purely preference.

Lots of support settings. What's needed here is 90% of a function of the object you're printing and 10% a function of your machine's properties and there's no indication that the settings in the profile have anything to do with properties of Creality machines.

Etc. etc. etc. Most of the above dubious/wrong stuff was added fairly recently in Cura, taken from the "Creawsome" profile popular on Youtube and Reddit. Before that they had a more minimal profile that at least wasn't wrong.
The actual properties you need to set in the profile for your particular machine are:

Bed size/print volume
Heated bed
Filament diameter
Nozzle size
Retraction length (depends on hotend and extruder type, bowden tube length if bowden)
Retraction speeds (depends on extruder capability & friction in path, etc.)
Fan speeds (depends on how powerful your fan is)

Setting max speeds and accelerations is also useful to get more accurate print time predictions, but not necessary.


Writing G-code : swiping at start of print

What code we have so far
The code already made by Ultimaker Cura 3 (and then commented on) can be explained a little more:
G28 ;Home
This homes your machine to hit end stop positions, from now on your printer knows the coordinates of the print volume. This place it knows as <0-0-0> - check where that is: above the print surface or next to it!
G1 Z15.0 F6000 ;Move the Gantry up 15mm going fast
Instruct the build plate to move down, or in your case lift the head up 15 mm at 6000 mm/min
;Prime the extruder
This is a comment that the nex code will deal with priming the nozzle
G92 E0 ; reset extrusion distance
G92 sets the position of the extruder by resetting the current position to the specified value of zero
G1 F200 E3 ; extrude 3mm of feed stock
This will extrude 3 mm of filament at a feedrate of 200 mm/min
G92 E0 ; reset extrusion distance
This will reset the extruder length again to zero
Result of the code
Basically you will have some filament dangling on your nozzle now, or falling of as the nozzle is hot creating a fine string. You now are facing the possibility that the primed material will be dragged along the build plate to the start of the print.
Nozzle Preparation: Priming sequences
Ultimaker 3: 'blob'&swipe
An alternative I really like is the priming sequence of the Ultimaker 3. The hot end is instructed near the origin of the printer at about a height of 2 mm above the build plate when it starts to extrude plastic, once the extruded plastic becomes a puddle of about 6 mm in diameter the build plate lowers a few mm's and keep extruding for a bit. It then moves in positive Y direction (to the back) and raises the platform (this is the swipe action), then retracts and starts to move to the print start. Now the puddle of filament stays near the origin and will not be dragged.
You can easily make a similar schematic for your printer, I've done so also for various printers. Try and experiment what works best for you. The swipe action is the movement where the nozzle will be instructed to move near the build plate while moving in a certain direction (Y or X), a height of a few tenths is enough to swipe.
I don't have my exact profile here, but you could add (skipping feedrates):
G1 Y15 Z0.2 ; moves the nozzle backwards and down from 15 mm to 0.2 mm
G1 Y20 Z0.2 ; swipes the nozzle, this should cut off the "worm"
G1 Z1     ; raise for movement to start of print to add a little space to travel


How to prevent layer separation, when printing tall vase-like (tube) objects?

The best thing you can do for a large ABS print is to have an enclosure heated to 50C or better. For example, see this, this, this, and other search results.


With the experience I have with my 3d printer you can make (almost) everything you can draw with it.

0.6mm parts can be 3d printed but will not be very strong though.

For joining the 2 halves when they are so thin, I think the best solution is to glue them together. With the things I make for myself I mostly use small screws or small nuts and bolts but with 0.6mm parts I guess this wil not be possible.


The MKS GEN L board was added in Marlin release 1.1.7 .

According to the configuration file you've linked and previous Marlin releases, your copy of Marlin is release 1.1.6. While all Marlin releases before 1.1.7 had "010100" as "CONFIGURATION_H_VERSION", earlier versions had less features than listed in your configuration file.

In Marlin 2.0.x, the MKS GEN L is also available.

Since you said it was also unavailable in 2.0.x, please provide a copy of your entire 2.0.x setup.


What is a good strategy for removing 3d prints from an UNheated Glass bed?

Because you will be printing on unheated glass, you will be using some form of adhesive material. If you use an off-the-shelf glue stick, you will likely find it is water soluble. If the bed is removable, immersing it in warm water for a relaxing soak will provide easier model removal.

I don't have experience with various tapes, so will avoid recommendations regarding masking tapes or similar material.

Thermal cycling will also provide release. Not a heat gun, as that will break the glass, but a hair dryer applied to the underside near the model, then cooling. Repeat until it releases.

I have used the Fleks3D print plate on my Flux Delta printer in the past, and it releases "like magic" but I don't think they make monster sheets of your printer size. I had also purchased a pair of 20" square Fleks3D plates for a similarly sized printer that never materialized. I'd be happy to sell you the pair, but I think they are too small for your full plate.

It has been said that one can use sand-blasted acrylic, which I believe is the construction of the aforementioned Fleks3D plates. If you have access to 1/8" or 3mm acrylic and can apply a uniform blast of abrasive, you may be able to construct your own easy-release build plate.

It is practical to consider to use a raft for your large builds. Rafts are useful for small items, to provide a greater bonding surface and avoid release, but it also provides a "wedging" location for your release tool. You can more easily slice away the middle of the raft and deal with a thinner layer after the model is completely freed.

EDIT ADD: If the bed is not removable, one can build a dam around the model with clay to hold the water for dissolving the glue.


3d printer recommendations that can print fidgets?

Pretty much any recent commercially available 3D printer should be able to print that model. Only really old stuff, or poorly built DIY machines, might have trouble. It may take some tuning of slicing settings to avoid problems with the rings bonding together during printing, but a more expensive printer is unlikely to make the tuning any easier.

The printers you listed in the question are probably all decent choices. I have an Ender 3 and like it but it's a little over \$200. There are some printers well under \$200, like the Monoprice Mini Delta, but I don't have any experience with them and product recommendations are off-topic here anyway. Also keep in mind that you'll have to spend a little bit on consumables, at least one spool of filament that's typically around \$20 (slightly cheaper for no-name brands, much higher for fancy color/shine/etc. or special materials, but simple PLA should be fine for what you want).


Functional object in low poly - program and tutorial

Yes, you can accomplish threading easily with something like 3Ds Max, Blender, Maya etc. I use Maya personally so, in Maya, all you have to do is:

Create a cylinder. This will be the main body of your 'screw'.
To make the thread, you need to create a helix primitive. You can edit the number of coils and the coil thickness in the Maya GUI.
Once you have the thread, it is a simple matter of performing a couple of boolean operations. The first boolean (union) operation will unite the screw made in step 1 with the thread made in step 2. The second boolean (subtract) operation will cut out the thread from the object within which you want your screw to be driven into. When you print the two models, you should find that the screw nicely turns into the object from which you cut out the thread.

The point is: yes, it is easy to do such things in most 3D software packages. Maya comes with a nice selection of default objects you can use, so essentially you need to do no 'modeling' yourself to create something like the example you showed us.

Your next question, about editing models on Thingiverse. The reason why you cannot edit them easily is because most models there have been decimated and triangulated, which makes them very difficult to reshape or edit because the topology is no longer strictly manifold -- it is just a big mess of triangles!

If you want to edit Thingiverse models, I recommend something like ZBrush. You can import triangulated models and then rebuild the geometry into quads (using DynaMesh, for example), which you can then edit to your liking. Once done, you can simply decimate and re-export as STL or whatever extension you need.

Finally, low/high poly is not so relevant in 3D print outs, especially in mechanically functioning parts. This is because most models are created in high resolution (high polygon count) and then decimated + triangulated down to truncate file sizes. But the functionality and physical feel of the model should not change due to this process - it just takes practice and lots of experimentation.

Hope this helps :)

Hassan


The motherboard definition in configuration.h should be written like:

#define MOTHERBOARD BOARD_MKS_GEN_L

actually the word MOTHERBOARD was missing and there is no need to write  53 //MKS GEN L at the end.

The number definition is declared in boards.h - you just confused the two files, indeed you should not forget to define the motherboard constant itself. Do note that this is basically a RAMPS board, see pins_MKS_GEN_L.h.


Software for 3d model to arc/curve gcode?

I have been looking at this also. But I can't find a STEP to GCODE software. So the answer to your question is no, not that I'm aware of.

Using STL files, which are approximations of the actual model using triangular shapes, slicers will generate GCODE not including arc codes. I understand that either the printer controller should take care of creating the arc gcode by reading multiple lines in advance and calculate if certain consecutive "straight gcodes" could be replaced by "arc gcodes" or the generated gcode file needs to be pre-processed off-line by separate software, or post processing scripts of slicers.

With respect to reading multiple lines in advance, the 8-bit controller boards are not powerful enough to do all these extra calculations as the different firmwares already utilize the full potential of these boards.


Export STL from OpenSCAD command line, calling module within script?

OpenSCAD doesn't have such an option on the command line, but the general idiom I believe you want to use is have .scad source files which are modules include invocations of the module(s) at the top-level controllable by variables you can set on the command line or GUI customizer interface. Any such invocations will be ignored if the file is used (via use directive) in another file so they don't hurt its status as a library and make it easier to preview/test. So for example you could have:
wantOne = false;
if (wantOne) One();

and then set wantOne to true from the command line.


An NPN sensor is wired differently from a PNP sensor. The signal wire is the black wire, blue is the ground wire.

According to this posting, Don’t trust the internet (and how to add an Inductive Proximity Sensor to your 3D printer the proper and easiest way, you need to insert a 6.8 kΩ resistor in between the black and the blue wire, I quote:

  ...Indeed, all we need to do is add a single 6.8 kΩ resistor between BLACK and BLUE and all should work fine.

Alternatively, a diode in the black wire would also work, I quote:

  ... So I did test using a diode and that also works perfectly fine, simply because the direction in which the 12 V current would like to flow when the sensor is open will be blocked by the diode. The internal (or hardware) pull-up still pulls the Atmega’s sensor pin to HIGH however.

  ...
  But as soon as the sensor is closed, the diode would allow the 5 V current to flow in the opposite direction towards ground, which pulls the Atmega’s sensor pin to LOW.


Print speed and settings for printing below 0.1mm resolution on PLA

To answer this question for anyone who will find this of use, I printed this calibration cube at 25mm to a side (125% scale in Cura) with my Kossel Plus using the following settings:

0.08 mm layer height
45 mm/s print speed
200°C extruder temperature with PLA

Based on articles I read, I wanted to play it safe with the speed, staying well below the printer's rated speed of 60 mm/s, but still keeping the speed reasonably high to avoid any nozzle flow issues as describe in the linked question. The results were pretty good for a first test; the deviations, as measured with calipers:

X: -0.09 mm
Y: +0.38 mm
Z: +0.11 mm

This makes the average deviation across all axes about 0.13 mm, which is better than what I was hoping for, as that is about 5/3 of a layer's thickness. Whether or not running slower (or faster) or modifying temperature will result in better accuracy, I cannot be sure - but in this case, running the speed conservatively yielded positive results.


If you followed the answer to switch steppers in firmware to the letter, but changing X for Y, this should work.
I've looked into the pins files for you and concluded that your proposed changes should work.
This leaves you with the following questions:

Is the stepper driver for E1 working?
Is there a stepper driver installed?
Is the cable working/not damaged?

Swap drivers and cables to troubleshoot the problem.


Heat bed wires get hot (12 V connected to RAMPS 1.4 shield)

The PCB heatbed Mk2B has a reported resistance between 1.0-1.2 Ω. The current that is drawn from the power supply equals about 12/(1.0 or 1.2) = 10-12 A. Note that this amount of current requires cables that can carry that load, too thin cables heat up.

Note that you have wired the bed correctly for 12 V (see image below), the wires might have a too-small cross-section, try thicker wires. Personally I use AWG 12-14 silicone wires depending on the bed resistance.

AWG 12-14 size silicone, multiple threads (these are the best for the bed because they are more flexible), should be able to handle the load fine. Note that cables also have resistance; if there are heat spots in the cable or the connection, this indicates that the cable may be broken or the connection has too much resistance.


What are the pros and cons of writing nozzle size vs using e3d style dots on nozzle?

dots
First of all, reading the dot pattern: for all but the 0.15, the total number of dots is read, and there is only 1 dot per side. So a .5 nozzle has dimples on all sides. The only outlier where the dots are not all one next to another is 0.15, which has 2 dots but they are interspaced by one blank side.

0.25
0.3
0.35
0.4
0.6
0.8
0.5 (which was added after the .6 and .8 had already been established)

2 interspaced ones - 0.15, also added after the 0 to 5-dot group had been established.

dots vs. inscription
The inscription is, compared to the dot pattern, much more shallow and can vanish under scratches. Also, the dots are easier to recover from being caked in plastic.
On the flipside, the dot pattern isn't easy to read intuitively, it doesn't follow an easy pattern (the 6 and 2-interspaced-dots are later additions into the setup).


How to change temperature every 25 layers (or 5 mm) in Ultimaker Cura or G-code?

Every time you see a Z movement that matches the layer height (eg. 0.20 mm) you can assume that is the end/start of one "layer".
It should have a line like:

;Layer count: 17
;LAYER:0.  ; mine has this as the first layer
M107
G0 F2400 X67.175 Y61.730 Z0.250. ;  moves to Z0.250 mm for the first layer, with layer thickness 0.25 mm

Then later:

;LAYER:1
M106 S255
G0 F2400 X78.078 Y69.627 Z0.550 ; 2nd layer.

So search for "Z" or "Layer" and once you've seen 25 of these "small" movements (comparing to previous Z movement?), insert your line of code at the end of the layer commands.  Don't confuse it with large Z-movements, that may correspond to move up/retract filaments.
Depending on your goals for the print, maybe you also want to insert a wait time - say a minute or two for the new temp to stabilize?  Here is the line for that:

G4 P200  ;  Sit still doing nothing for 200 milliseconds.


OpenSCAD linear_extrude from multiple path svg import

Lame solution: creating stepped pyramid with offset. I realized that scale will not worked for motives with holes inside. Offset seems then more appropriate than scale for my application (creation of stamps)
It takes ages to render, but it could be enough for simple patterns. Any better solution are still welcome...
module buildPyramidalExtrude(height,maxOffset,nSlices){
    heightIncrement = height/nSlices;
    offsetIncrement = maxOffset/(nSlices-1);
    for(i=[1:nSlices])
        linear_extrude(height=i*heightIncrement)
              offset(r = maxOffset-(i-1)*offsetIncrement)
                children();
}

buildPyramidalExtrude(4,2.5,20)
   import(file = "Farm/cow.svg", center = true);


Where to enable user interface encoder in Marlin?

It seems that ULTIPANEL must be defined. The code for the encoder was included long ago with the Ultipanel (display and encoder) and does not exist on its own.

#define LCD_SAINSMART_I2C_2004   //  I2C LCD

#define ULTIPANEL                // enable code for encoder.

//encoder pins
#define BTN_EN1 37
#define BTN_EN2 35
#define BTN_ENC 31


What material should I upgrade the teflon tube to?

The Ender 3 (original, pro, or v2) does not need any modifications/upgrades to print PETG. Temperatures of 230-235 °C are sufficient for PETG and well under the 250 °C that's not recommended to be exceeded on a machine with PTFE lining all the way to the hotend. PTFE doesn't melt above these temperatures, but it does start to break down and release chemicals that can be harmful. Note that teflon pans achieve temperatures comparable to or exceeding what you'd print PETG at all the time while cooking, and especially if you burn food. The smoke point of peanut oil is roughly the same as the temperature you print PETG at.
If you did want to change it (I wouldn't recommend this) there is no different tube you can "upgrade" to. Instead, users who want to be able to print higher temperatures switch to an "all metal" hotend, which means the tube doesn't extend through the heatbreak to the hotend, but instead stops in the cold part, with a metal passageway for the rest of the filament's path to the hotend/nozzle. You still use the same PTFE before that, though. All-metal hotends are not necessarily an upgrade; they're a tradeoff. The PTFE tube all the way through is a highly desirable feature because it has very low friction and no ridge/boundary between materials for semi-molten filament to get caught on when retracting and unretracting.


SLA resin post-processing: gluing parts together

You can definitely use glue - however you can also brush some of the liquid resin along the edges of the two pieces, push them together and cure them, this will fuse them together.
You don't need much, and you need to watch for drip out while curing (don't your fingers in it)


Is inconsistent vertex density a bad thing?

For the most part, the exact level of vertex density doesn't matter too much. But it does depend on the slicer and settings. Some slicers (like Slic3r) will auto-decimate toolpaths to ensure that the rate of motion commands isn't too difficult for the old, slow 8bit processors in most consumer/hobbyist 3d printers. Having a large number of very small motion commands can bog down these motion controllers and cause pause-stuttering that creates little zits on the print. Most slicers simply reduce model detail level to safeguard the motion controller. Because the contours are decimated to a minimum motion segment length, very small model triangles are irrelevant to printer performance. At the most, they might add a marginal amount of slicing time.

On the other hand, some slicers (like Simplify3d) assume you have the correct level of detail you want in your model, and will pretty faithfully reproduce the model file's contours in the sliced toolpath. If your entire model is very high mesh density / poly count in general, or if your high-density mesh regions are crossed by a layer slice, this can produce a series of very, very short motion commands. Sometimes the motion commands are even smaller than the motion resolution of the printer, and simply take up processor time (to evaluate and drop from the queue) with no benefit to print fidelity.

In a more general sense, high-poly models are dramatically more difficult for the 3d printer to reproduce accurately. There are two big issues:

Each motion segment requires some processor time to read/receive, parse, and execute. But the shorter the segment lengths are, the faster the printer runs through them. A short move takes little time to perform but still has the same processor load as a long move. At a certain point, the processor can't keep up, and performance suffers. The printer may run out of queued moves to execute and pause in place, or it may violate acceleration limits and violently clunk through corners (or even lose position) because it didn't have enough time to iterate through the calculations that determine how fast it should move.
The algorithms used by most consumer/hobbyist 3d printer firmwares (Marlin, Repetier, Sailfish, Smoothieware, etc) are based on GRBL. And without getting into the math, GRBL uses the sharpness of the corners between motion segments to decide how fast to travel through the corner. So a 90 degree turn will trigger a considerable slowdown, while a series of small angles (such as many small segments comprising a curved surface) is not recognized by the algorithm, and it will try to barrel through the curve at full speed. On long, gentle curves, this is fine, but high-poly tight curves (such as a filleted edge or organic model detail) are traversed far too fast because no slowdowns are triggered. This means high-poly models must be printed at much lower feedrates / target speeds, because the acceleration algorithm can't figure out when to go fast or slow. Whereas a blocky, low-poly model can be printed much faster and the acceleration code will speed up and slow down as needed for good quality.

These are primarily issues with high vertex density versus low vertex density, not variable density. Small pockets of high detail are usually not problematic, as long as they are small enough that the motion planner queue (say, 16 segments) doesn't get filled with too many very small movements. A few small segments in a row is ok, but a few dozen is not.

These are limitations baked into the algorithms used by today's slicers and motion controllers. In the future, they may not be so problematic.


How do I give 3D-printed parts in ABS a shiny smooth finish?

Acetone can be used to smooth ABS.

The left has been smoothed by an acetone bath and the right is the original model. (Image credit: Andrew Sink)

Take note: acetone is dangerous to breathe in, so work in a well ventilated area. It is also flammable.

Warm acetone vapour bath using stove

This method involves suspending the model in a glass jar of boiling acetone that is heated up by a pot of boiling water.

Attach the model to the lid of the jar with some string, keep the string short, so the model is close to the lid.
Put a few centimetres of water in a pot
Place a rag at the bottom of the pot (to keep the jar stable).
Place the glass jar in the pot, on top of the rag.
Place the pot on the stove and heat to 110°C.
When the acetone is boiling place the dangling model into the jar.
After a few seconds, remove the model.

See here for a step-by-step guide with pictures.

Warm acetone vapour bath using printer bed

This method elevating the model in a glass jar of acetone that is heated up by the printer's heatbed.

Find a non-soluble object that the 3D model can stand on.
Put a teaspoon of acetone in jar.
Place the jar on the heatbed and heat to 110°C.
Place the stand into the jar.
Place the model on the stand, the stand should not let the acetone touch the model.
After a few minutes, remove the model.

See here for an example.


Default settings for first layer height in Slic3r Prusa Edition print profiles regardless layer height is 0.2 mm.

If you need to improve bed adhesion then try tips from this video 3D Prints not sticking anymore? Watch this! 3DP101 by Maker's Muse. It's about using glue stick and spreading it using paper towel and isopropyl alcohol.

There are other possibilities how to improve bed adhesion, e.g. Ultem sheet or other printing surface like BuildTak.


Selecting G-code files from SD with serial

You can send the G Codes to select and print a file over the serial connection.

List the files

  M20

Select a file name

  M23 filename.gco

Start/Resue the print

  M24

See https://reprap.org/wiki/G-code for more information M20 through M39 are the ones for interfacing with SD Card files.


Can I use a material other than PTFE to print PETG?

PETG does not need an all-metal hotend or alternate bowden/lining material. Unless you're trying to print at #speedboatrace-competitive speeds, the recommended print temperature range for PETG is 230-250 °C, and the temperature above which you should not use a PTFE-lined hotend is 250 °C.


Dimension-wise it's probably ok.

If you want to print it as a single piece it would be quite challenging because of the cylinders, overhangs and bridges present in multiple directions: overhangs and bridges result in lower quality and precision, while cylinders can be printed nicely only when their axis is vertical.

However I see that you could easily split the component into multiple parts, each one of which could be printed optimally.

You can glue the different parts together and you are done, see What glues for PLA? and What glues to use for PETG?


The issue occurring here is similar to a question asked over here. It looks as though this is a result of a hardware fault related to the stepper drivers. @DarthPixel recommended placing heatsinks on the stepper driver(s) and/or properly placed fans.

Depending on the design of your machine, some stepper drivers are going to be worked harder than others. For example, a MakerBot Replicator will work the X-Axis stepper driver more than the Z-Axis stepper driver. Therefore, you have a higher chance of overheating your X-Axis stepper driver.(Images are of A4988 Stepper Driver, not directly compatible with MakerBot Replicator)

Alternatively, I personally have seen the issue repeated by manually triggering one of the limit switches. The effects seemed to take effect on the next layer.


I believe the problem is not so much that the filament is sticking to the nozzle; it's that the filament is not sticking to the bed.
You've confirmed that you have correct clearance for the nozzle to bed distance. The next considerations are bed temperature and nozzle temperature. New brands often require new parameters.
Consider to raise the bed temperature 5 °C. If you're not using any adhesive medium, perhaps a bit of glue stick will help to have the filament stick better/properly.
It's unlikely that the nozzle temperature is incorrect, as too low would result in a nozzle clog, while too high would "drizzle out" and be everywhere, but don't reject too-high entirely.
If you can get the bed adhesion correct, your nozzle should remain clear.


Nail polish remover that won't dissolve ABS?

First of all, Nail Polish comes in 2 types: Acetone based, and acetone-free. The latter is based on Ethyl Acetate filled up with alcohol and water. Sadly, Ethyl Acetate also dissolves ABS, so it is not an option. However, the acetone-free nail polish remover can be used to smooth PLA to some degree. Anyhow, we look for something that is putting Nail polish into solution but not ABS, so it can neither be among the able ketones (like acetone), nor an acetate ester, nor be aniline.
Next up, Turpentine. Turpentine is a crazy mix of chemicals that we know to be able to turn most glues to goop and remove nail polish too. Sadly, Turpentine too can dissolve ABS, and it has been used in this fashion to create ABS Slurry/Cement as a bonding agent.
But what do we actually have in nail polish that needs to be put in solution? Well, to a good part, most nail polishes are a Nitrocellulose lacquer. To keep it in solution, Ethyl Acetate (already ruled out) and Butyl Acetate are used. Sadly, that is an acetate ester, so nope, no gains here.
So, we are left with one way: Mechanical removal. Nail polish is known to bond quite ok, but conventional nail polish lacquer (not the gel stuff) also is known to chip, and we can use that. Letting the lacquer harden and then using a sharp knife o remove most of the surplus, then polishing it up to very fine 1000 grit sandpaper is a possible way to go without needing to open the chemical toolbox. For the last postprocessing step, very short exposure to acetone vapor should restore the surface and put it to shine, including the lacquer.
Other fillers?
An alternative might be other filler materials. For a white filling, white Valejo putty might work, which is an acrylic bound marble dust filler, which can be wiped away with a wet cloth. It doesn't shrink, so gives flat surfaces. It could be colored with other acrylic paints, but the base color is marble-white.
Tamiya Basic Putty is based on Ethylbenzene and often used with ABS models as a gap filler. It is available in several colors. As a downside, it does shrink a little during bonding. Ethylbenzene is not a solvent but incidentally, the same stuff that is used for making ABS so should be safe for the model.


Extruder motor does spin - but not while printing

Extruder stops to spin
The problem you described seem to be reported elsewhere for TMC in relation to stealthChop mode (unsure, see below) and linear advance. For details look at this comment in Extruder stops during print (Bugfix-2.0.x) #17944. An advice from there is to supplement the G-code with (my interpretation):
M569 S0 E ; disable stealthChop for extruder (use spreadCycle)
M900 K0   ; disable linear advance

There is also another discussion TMC2208 extruder driver shuts itself off in spreadcycle mode with pressure advance enabled #1774 for Klipper. Above summary is just a result of my quick look through, I suggest to re-read these articles with more insight.
Also I propose to do following to doublecheck:

execute M503 (without parameters) before and after print, compare reports (especially: M92, M203, M204)
verify EXTRUDE_MINTEMP parameter in Configuration.h (I am not sure how does it behave during the print)
I also saw the remedy: "Then I changed the extruder stepper motor wires and the problem is now fixed", but it is the edge case.

Extrusion mode
I personally prefer to use extrusion in relative mode, because it allows to manipulate G-code or restart the print from any line. You would need to put M83 in starting G-code instead of current M82, together with enabling Cura setting (Special Modes > Relative Extrusion). I am not sure what happens currently with your filament between in your file's:
  M82 ;set extruder to absolute mode
  G1 Y60.0 Z0 E9.0 F500.0;intro line
  G1 Y100.0 E21.5 F500.0 ;continue line
  ...
  G1 F1500 E0

For me it looks like it's retreating 21 mm of filament just at the start of print? So it cannot really print for several consecutive G-code lines, does it?
Marlin settings vs EEPROM
When updating settings in Marlin like steps/mm you should be aware, that values stored in EEPROM take precedence. Reinstalling firmware will not clear the EEPROM settings. If you want to make persistent change, save to EEPROM and alter the firmware config, to have these values secured for future as "defaults".


Hmm I seen videos off people pealing filters off of lcd screens to let uv pass through.

I believe the sharp unit maybe popular because not all lcds have square pixels and have poor pixel alignment towards the edges, (the focus of the eye can only take in so much information why waste materials producing inperceptable rises in quality, much like having a 8k small screen unless the picture is static your hard pushed to notice difference).

There is also diffraction to think about, crystal size in the resin, oxygen membrane or delamination layer to stop cured resin sticking to lcd, I think there are projects of floating resin on another liquid (fluorinated oils work).

Even with better resolution(4k,) the voxel size does not increase in a linear manner, unless the uv light source is focused an colimated like in a lazer.

I don't know much its just info I've gleaned whilst browsing, I'm sure someone will correct any inaccuracies.


Do I need to manually enter in gcode to turn off the bed and nozzle?

Using Cura 3.0.3 to create the GCODE and OctoPi/OctoPrint 1.2.7 to print: By default the printer turned off the nozzle and bed, and also homed the X and Y axises.

You can set start and end GCODE in the preferences for the machine, like so:


This is not a problem specific to Visual SFM, but a general technical problem. The software cannot accurately determine the depth of the pieces which approach perpendicularity with the camera lens. The software uses those varying measurements and estimated angles to calculate the geometry. Check out the law of cosines.


Anycubic i3 Mega incorrect Heated Bed temperature Reading

The first value, which is in your pictures 179 and 184 °C, is the measured value. The 0 °C value is the set value. It looks like the temperature reading from the hotbed is not working correctly. So there are two possible issues:

The cable on the backside leading to the hotplate might be damaged. This seems to be a common issue with this printer. You could check if the cables show any obvious damage.
The hotbed thermistor is broken. On the leads on the backside you can measure with a multimeter the resistance between the green an blue cables. Typical readings are in the range of 100 kΩ. If you touch the thermistor, usually it is placed in the mid area of the heatbed, the resistance should change.


Slicer software capable of working with large filaments

After checking it up, Ultimaker Cura (and possibly most other slicers capable of multi-extruder setups) is able to handle multiple extruders of varying nozzle size and seems to be ok with 25 mm Nozzles or something ludicrous such as 200 mm filament. You should aid its slicing in some way:

Dedicate one nozzle to the support structure, that's easy.
Design your parts with 2 shells:

One is the main body with corners cut to the main nozzle's extrusion diameter.
The other is the corners and details.


Weld the fragment to the beginning of a new spool and use it that
way.  Most are made from metal so they aren't that easy to make
at home.  Here is another answer that lists other methods to
weld filament including using heat shrink tubing.
As you mentioned, you can use it for friction welding.
Use it for pin/studs/rivets/hinges in prints.
Throw it away.  1.75mm * 1Kg is about 330m of filament, 3mm * 1Kg is
about 110m of filament.  The leftover isn't worth much when you
consider how much is on a spool.


I had a similar problem with an Anet A8 once. The problem was, that the thermistor wasn't mounted right in the heat block, so the air flow cooled it while the print head was moving. You can check, whether this is a problem at your printer.