Issues with direct g-code transmission via serial port Model of the printer is unknown, got it as present, probably something generic cartesian on arduino mega and ramps boards stitched together and with marlin firmware.

I've used accepted answer from here to try moving this thing from terminal.
How to directly send G-code to printer from a Linux terminal?

My first attempt to get access to low-level printer interface looked like that:

./baud.py <> /dev/ttyACM0 250000
tail -f /dev/ttyACM0 &
cat > /dev/ttyACM0

First it was fine: i've entered g-code, printer executed it and returned an ok message into my terminal.

Then i've turned the printer off and on again and repeated the whole process, but now tail -f didn't output anything and printer LCD displayed garbage in the status line after I ran the command.

I've also noticed that printer controller reboots every time the serial port is accessed, not sure if it happened in the first time when everything worked well.

The output of cat /dev/ttyACM0 after baud setting is a bit weird too - and there's garbage in the status line instead of standard "%printername% ready" as well:

start
echo:Marlin1.0.0
echo: Last Updated: May 20 2017 18:12:04 | Author: (none, default config)
Compiled: May 20 2017
echo: Free Memory: 3763  PlannerBufferBytes: 1232
echo:Hardcoded Default Settings Loaded
echo:Steps per unit:
echo:  M92 X80.00 Y80.00 Z3200.00 E97.94
echo:Maximum feedrates (mm/s):
echo:  M203 X50.00 Y50.00 Z2.50 E25.00
echo:Maximum Acceleration (mm/s2):
echo:  M201 X750 Y750 Z100 E10000
echo:Acceleration: S=acceleration, T=retract acceleration
echo:  M204 S500.00 T500.00
echo:Advanced variables: S=Min feedrate (mm/s), T=Min travel feedrate (mm/s), B=minimum segment time (ms), X=maximum XY jerk (mm/s),  Z=maximum Z jerk (mm/s),  E=maximum E jerk (mm/s)
echo:  M205 S0.00 T0.00 B20000 X20.00 Z1.00 E5.00
echo:Home offset (mm):
echo:  M206 X0.00 Y0.00 Z0.00
echo:PID settings:
echo:   M301 P22.20 I1.08 D114.00
echo:SD init fail
echo:Unknown command: "starto"
ok
echo:Unknown command: "SD init failstartuthor"
ok
echo:Unknown command: " (none, default config)50.00 Z2.50 E2rBy00.00 Y0.00 Z0.00echo"
ok
echo:Unknown command: "Unknown command"
ok
echo:Unknown command: " "starto"own comm"
ok
echo:Unknown command: "aximum XY jerk (mm/s),  Z=maximum Z jerk (mm/s),  E=maximum E jerk (mm/s)echo"
ok
echo:Unknown command: "PID settings"
ok
echo:Unknown command: "okechecho"
ok

The "SD init fail" line and everything after it appears when sensor data appears on the LCD, there's a delay before that during which the LCD is empty.

If you send commands to printer using something like echo "G0 X10" > /dev/ttyACM0, it executes them only on next serial port accessing (and therefore reboot) - or doesn't execute at all.

The interesting part is that Cura "Monitor" tab can actually manipulate the caret and the Cura itself can print things in general - but i want to be able to do it manually.

Mine is a wild guess, but judging from:

echo:Unknown command: "starto"
ok
echo:Unknown command: "SD init failstartuthor"
ok
echo:Unknown command: " (none, default config)50.00 Z2.50 E2rBy00.00 Y0.00 Z0.00echo"
ok
echo:Unknown command: "Unknown command"
ok
echo:Unknown command: " "starto"own comm"
ok
echo:Unknown command: "aximum XY jerk (mm/s),  Z=maximum Z jerk (mm/s),  E=maximum E jerk (mm/s)echo"
ok
echo:Unknown command: "PID settings"
ok

It looks like you may be looping back the output of your printer as an input to itself.  I am very suspicious of your line: tail -f /dev/ttyACM0 & as that seems to indicate your are trying to perform other actions in the same terminal window after you started to monitor the serial connection.

If this is the case, you should definitively open the monitor in a separate terminal (tail -f /dev/ttyACM0) and feed the input in a different one (note that yo must not use the final &).

Finally, you probably want to use cat >> /dev/ttyACM0 instead of cat > /dev/ttyACM0 as you want to append your commands without truncating the existing stream.


Slic3r - Can I add new infill patterns? Slic3r comes with a handful of infill patterns/algorithms, including Rectilinear, Hexagon, 3D Hexagon, Concentric, and Hilbert Curve.

Are there any patterns/algorithms already made and available that I can add to Slic3r? If so, how can I add them in?

Although the core of Slic3r is written in C++ a lot of other components such as infill generation are written in Perl. Since Slic3r is open source there is nothing stopping you from writing your own infill module in Perl and recompiling your own version of Slic3r.

If your considering doing this you can find the existing infill code in the Github repository at

https://github.com/alexrj/Slic3r/tree/master/lib/Slic3r/Fill

Instructions on how to run from source can be found at

http://slic3r.org/download

Here is a commit where a new infill pattern is added. This should show you all the parts of the codebase that must be modified to add a new infill model (some trivial C++ modifications appear to be necessary in addition to the Perl code)

https://github.com/alexrj/Slic3r/commit/2811af349ae17230a525ddcf819b1ddffaa250c9


How does the home position work on a Prusa i3 RepRap Printer? By what process does the Prusa i3 determine it's home position?

I have a feeling that it works like this, but I'm not entirely sure about it:

If none of the end stops are activated; assume you are somewhere between Max-X, Max-Y, Max-Z and the point 0,0,0.
do

For axis in Axies

If axis endstop not signaling

subtract 100 steps from axis.

while endstops are not signaling, or if point 0,0,0 not reached;

It works like you describe, but it does not move all axes at the same time. It first moves the X-axis, subtracting steps while the X endstop is not pressed. When the X-axis is is homed (the X-endstop is gets pressed) it repeats the procedure for the Y-axis and finally the Z-axis.


Print speed and settings for printing below 0.1mm resolution on PLA I recently purchased an Anycubic Kossel Linear Plus delta printer, and I'm interested in trying to print slightly below the 0.1 mm stated lower limit of layer height. I'm not interested in trying to push much below 0.06 mm, more just 0.08 mm to give some better surface roughness on critical parts.

I've found several articles that suggest that going below 0.1 mm requires lowering the printing speed, but the top answer on this question suggests that there are flow rates to consider in order to prevent jamming.

I'm referring to PLA in particular as I have read that the filament viscosity is also a factor, with ABS differing from PLA.

I'm interested in some benchmark settings, preferably for 0.08 mm printing. What is the ballpark range my print speed should be in to successfully print at that height?

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.


Ender 3 Pro + SKR mini E3 1.2 + BLtouch doesn't work with downloaded bin file I have a Ender 3 Pro V1. I installed the Bigtreetech SKR mini E3 V1.2 + TFT35 touchscreen + Antclabs BLTouch + a pre compiled bin from here .

the board works

the screen works

the BLTouch is erratic

A) it tries to exceed the X limits and makes the loud clicking sound while performing the bed leveling. it even tries to move past the X end stop switch.
B) when printing, it moves to the far right rear corner and extrudes off of the bed.
C) OctoPrint can no longer connect with the printer.

I think this is just a problem with how the bed size is setup and it identifying the limits of the print. I just can't figure out how to configure and compile a working bin file.

A) it tries to exceed the X limits and makes the loud clicking sound while performing the bed leveling. it even tries to move past the X end stop switch.

This tells me that the firmware you use is faulty - it has a faulty bed-size or home.

B)when printing, it moves to the far right rear corner and extrudes off of the bed.

This can be intended in the G-code, or bad homing, again, firmware home position.

C) octoprint can no longer connect with the printer.

This, again is a thing that happens if the firmware is not configured properly or flashed correctly.
You might have accidentally chosen the wrong firmware distribution - your config points to the Ender 3 - SKR Mini E3 v1.2 - BLTouch, not the Ender 3 v1.5 or v2 (slightly different hardware), and possibly adjust the proper homing position.


How to change temperature every 25 layers (or 5 mm) in Ultimaker Cura or G-code? I want to print this heat tower calibration test.

The instructions say to change the temperature every 25 layers. It also tells me to use G-Code command M104 Sxxx

First, is there a way to specify this command using Ultimaker Cura?

If not, how do I do so in the G-code file?

I see that the G-code file is just a plain text file with a command per line presumably. Do I just insert M104 S225 at one point and then M104 S220...?
If so, how do I know where the 25th layer is?

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.


Sketchup designed "Block with hole" printed solid in Cura When I export my SketchUp STL model to Cura it looks good in solid mode but in the layers mode some holes are filled up.
To find the reason why, I broke down the original model by deleting the parts that come out ok, and ended up with a block 50x100 mm with a hole 30x20 mm in it.
This simple stucture looks manifold, no double lines etc, and does not have red parts in Cura xray.

Cura shows the model as expected, but in layers mode the hole is filled up. I spent many hours to find out, but so far my only solution is to start over again drawing a complete new model and even then this happens again.

I'm using SketchUp 2019, Cura 4, Meshlab 2020

What goes wrong here? How can I repair this with Meshlab?

STL file available on request.

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.


Can I resolder a power connections with a partially burnt board Recently my RAMPS power connector caught fire while heating the heated bed. I suspect this was a defect caused by the connector, and de-soldered/removed it as best I could. I'm  not an electrical engineer, so I'm looking for advice on whether It is possible to re-solder the power connectors directly onto the board, or I'm just risking another fire. Here are pictures of the top and bottom.

Possible? Yes. Advisable? Perhaps not. Since it is the power connection, I would be tempted to solder the cables directly to the board. If the board is found to work, I would then install an external MOSFET for the heated bed, to reduce the amount of current that the controller has to handle.


Pololu - connect motor supply ground and logic supply ground Is it okay to directly connect together the grounds of the logic supply and the motor supply when using a Pololu style stepper driver?

If yes/no, why so?

That depends on how much noise you have on your motor power supply ground.  You definitely want the 100 µF capacitor to have a good high frequency response.  Motors turning on and off can be noisy, and that noise can cause false clock signals in your logic circuitry if you tie the grounds together.


How Do Tool Path Algorithms Decide Which Direction to Print a Closed-Loop Polygon I understand how slicer programs create sets of closed-loop polygons to print on a layer-by-layer basis.  For a given closed loop polygon which needs to be printed, the tool path generator will know the coordinates and how those coordinates are connected to each other, such that traversing a set of segments in that order will bring the extruder head back to the first coordinate to complete the closed loop.

My question is: By what mechanism does the tool path generator decide which direction to traverse the closed loop?  As it is a loop, that loop could be printed "clockwise" or "counter-clockwise", as it were.  Any details, and links to further explanations of how some of the big-name slicer programs determine this is much appreciated.

While this answer makes a valid attempt at answering the question, it is based on personal experience.

I went to the literature and directly to the source code in Cura to find the answer.  In the academic article "Identifying the Directions of a Set of 2D Contours for Additive Manufacturing Process Planning", Volpato et al. describe several methods for identifying the arbitrary directions of each contour in each layer, and additionally identifying which contours were "internal" and which were "external".  I quote from the paper:

  The information regarding contour
  direction, which is either clockwise (CW — internal) or
  counterclockwise (CCW — external), is needed for path
  planning for material processing.

They go on to explain the importance of identifying which contours are external, and which are internal, such that the path planning algorithm can later determine where infill should be placed.  Infill is placed internal to any external contours, and external to any internal contours.

  When the normal vectors in STL models
  are assumed to be correct, a simple way to identify whether
  a 2D contour is CW or CCW is to analyze the vector (cross)
  product between a normal vector and a vector obtained from
  two vertices of the facet.

This assumes the slicer has already determined intersection points between slicing planes and the STL file, and has sorted those intersection points into closed-contours.  This initial intersection point gathering and contour construction leads to an arbitrary directionality:

  As any line segment of a contour can be the first in the
  sequence when the segments are connected, its orientation
  will dictate the direction of the contour. Hence, the 2D contours
  formed are classified randomly, and an external contour, for
  example, might be assigned a CW or CCW direction. Therefore, this step is unable to correctly identify the directions of the contours generated.

  The ray-tracing method, which is actually based on the
  point-in-polygon test, determines which contours are
  contained by others, and the orientation of each contour is
  then alternated between CCW and CW, the outermost contours being oriented CCW.

So, the default directionality of a closed contour generated by a slicing program for FDM additive manufacturing turns out to be CCW based on cross products described above (and based on additional methods outlined in the paper).  Of course the standard directionality of a PRINTED contour does not HAVE to be this way, it appears to be a standard adopted by the AM community.  However, when a model produces contours inside of contours, the arbitrary directionality of those contours is determined, and then alternated from outside to inside, starting with CCW.

As confirmation, according to a simple comment in the CURA source code:

/*!
 * Outer polygons should be counter-clockwise,
 * inner hole polygons should be clockwise.
 * (When negative X is to the left and negative Y is downward.)
 */


Zortrax m200 skipping through menu options on it own and live print bed Out of the blue I’ve noticed my m200 has been skipping through menu options as if someone is pushing and scrolling the control knob randomly. Then getting a print off today I got several small electric shocks off the print bed through the spatula. Does anyone have experience of this or to I have a £1500 paperweight?

This sounds really concerning.
Instantly remove the machine from the power and check EVERY wire if it might be broken!
Check if your power supply is properly grounded!
Check if the connectors of the bed are undamaged!


How to increase the printing quality when using abs (slicer config)? I have checked several different sites giving different configurations for the slicer. Let's say that the average extruder temperature is 230°C. I know that the complexity of the object matters a lot for the printing quality. What I am concerning is the deposition rate (mm/min), and, the infill type (e.g. honeycomb, rectangular). Which impact the inner infill has in the printing quality? Due to time reasons maximal allowed infill is 50%.

I have a Geetech Prusa REpRap I3.

Thanks for you help guys!!

maybe this will help you out...

Iam using a Ultimaker 2+, only with ABS filament, and the software Cura. Cura is a good software but you cannot edit every option like in other slicers, Iam just using the default ABS profile.

Most of the times Iam printing in 0.2mm quality, speed varies, smaller objects get printed slower. My max speed when printing is 40mm/s.

The Buildplate heats up to 90°, I tend to increase the heat to 98° - 100°.
The more I increase that the lesser warping I will get. But Iam using bluetape also, so warping is no big issue anyway.
The noozle should be heated to 260°, thats the cura default.

On very small or thin parts I activate the fan immediatly, on big parts Iam not using the fan. I also print the small parts really slow.

I had no problems regarding the outer-walls and the infill (no cave building or stuff like that), but this is maybe dependent on the outer-wall-thickness. I mostly use a wall-thickness of over 1mm. Iam always using rectangular pattern, and mostly an infill under 30%.

I get good quality prints, and nearly no warping because of the bluetape.

Otherwise I didnt change any options in Cura, the flow rate is default.

Sorry for the late edit, here are my default cura settings:


Can 1.75 mm filament be used in a printer that takes 3 mm filament? As an extension from this question, is there any reason that you would not be able to use 1.75 mm filament in a printer that takes 3mm filament?  I know you would have to change the filament size in the slicing of prints but would there be any other problems?

Also, would using 1.75 mm filament be possible if the nozzle diameter was greater than 1.75 mm but less than 3 mm?

Typically an extruder and hot end are designed for one or the other, and cannot support the other without mechanical changes.

The extruder may not be able to grip a smaller diameter filament with enough force to assure even feeding and retraction.

The hot end, however, is much more complex. The filament has to be pushed with force into the melting zone, which means the filament has to slide along an area inside the hot end where the filament is plastic but still put pressure on the filament ahead of it.

When you put filament into a hot end, the filament softens before the melt zone, but since the walls of the hot end are just barely larger than the filament it has no choice but to continue pressing down on the liquid filament below.

With a narrower diameter filament, though, the filament can heat, soften, then travel backwards along the sides of the hot end and cool in place, jamming the hot end, or at least preventing an even continuous flow of plastic.

Some hot ends will accept a small Teflon tube that takes this space up and allows you to do this with fewer issues, and if you like to tinker you can experiment with this, but be prepared to learn a lot and fail a lot as you find out the hard lessons of hot end design.

Generally you should upgrade your entire extruder and hot end setup to the size you want to use.


How do slicers convert an STL file to G-Code? I was wondering how slicers work, how their code runs to generate a G-Code file. How is an STL file interpreted through a slicer.
How does the math work for generating supports, build plate adhesion?
I couldn't find any information, so can anyone help with this technical question
Ryan

Slicing in General
An STL is a set of triangle surfaces. A Watertight STL - for slicing purposes - has surfaces that always create closed outlines if cut parallel to the XY plane.
A Slicer does exactly that: it creates plane-cuts at the indicated Z-heights, takes the plane-cut's outline(s), and decides a direction and order in which to follow the generated path. Then it uses this outline to generate the infill pattern, for example, as explained here.
The more paths there are and the smaller the triangles that are cut up, the more complex the solution process becomes and the longer it takes.
Support calculation
A slicer usually identifies areas that need support by calculating at which angle an STL Surface cuts a given plane cut. Under standard settings, this would be about less than 60° to the XY-plane with the normal of the surface having a negative Z-component - which means that a needle poking out of that surface points towards the bed.
The most simple form of support generation simply generates a grid pattern between such areas and the bed or next surface below. Tree support on the other tries to generate a support structure that bends around the object without intersecting and only relying on the support of itself.
Build Plate adhesion
A skirt and brim are just taking the outline of the build-plate intersection and surround that with outlines.
A Raft is generated like the simple support case, but taking the whole base of the object, adding a little edge around it and then generating the support grid there.


How to attach bowden tubing to other side of extruder? I built a drybox to house the filament roll but now I have to figure out how to attach the PTFE bowden tubing to the other side of the extruder.

Currently the filament just feeds in through the countersunk hole on the MK8 CR-10 style extruder tension lever, but is too close to the Z leadscrew to tap the hole and put a PC4-M6 push fitting.

What is the preferred way to attach this?

THanks!

There are several ways to mount a PTFE tubing to the extruder's feeding side.

Connector solution

You'll need a pair of PTFE tubing couplers, a length of PTFE tubing and tapping tools for the mounting, and the lever should be metal:

Disassemble the extruder
Take the intake side lever
open up the intake hole to your PTFE tube connector's inner diameter (that is the diameter, where you cut the thread from!)
tap the hole
screw in PTFE coupler
connect to intake tube
Repeat 3 to 6 for the drybox side, possibly add a nut from the inside
Feed filament through the tube

If you have a plastic side, it reads like this, and you will need an insert that fits your adapter's screw:

Disassemble the extruder
Take the intake side lever
open up the intake hole to a bit under your insert's outer diameter
use a soldering iron to melt the insert into the lever
screw in PTFE coupler
connect to intake tube
Repeat 3 to 6 for the drybox side
Feed filament through the tube

free "inner" side

Instead of using 2 connectors on either end of the tube, the one on the extruder can just be "slid" into the block and then fastened.

disassemble the extruder
take the intake side lever
drill open till the PTFE tube can slide in snugly into its rest position against an inner ledge.

For REALLY hygroscopic material, drill through
drill a side-hole and use a small screw to fasten the tube in place
alternatively, use hot glue on the outside and secure the tube.


How to slice thin curved wall I'm trying to print a part with thin walls. I've designed it with wall 1.2 mm thick, so that I should get three 0.4 mm lines. This works just fine for the straight lines, but for the radiused corners, Cura 4.3 insists on trying to print infill. This infill is only added where they are going at a tangent to the curve, so it alternates corners on alternate layers.

Worse, it prints the segments entirely out of order, which adds lots of travel and hence print time.

I've tried setting the infill to 100 %, setting the wall thickness directly to 3 rather than the default 2. I've tried reducing the wall thickness by 0.2-0.3 mm. I've tried a few other things too - all to no avail.

Some layers it gets right:

So why can't it get them all right??

I presume that this is probably caused by the fact that the curves are actually a series of straight segments, and so the centre gap between outer 0.4 mm walls will not be exactly 0.4 mm all the way round, but is there any way to just force Cura to print three lines all the way round?

Now, I know that this will print OK, but the corners will obviously look messier than they need to, and this is not the first time I've come across this problem. I'd like to get this fixed.

I have found a similar question, but it's for an older version of Cura, and the recommended solution of 100 % infill doesn't help.

Even though each path, in theory, is concentric around the center point of the arc, the pathing does not always work out that way - especially around corners and radii.

While your 1.2mm walls should always allow for three 0.4mm paths, if the slicer rounds down the overall thickness to 1.19mm, it will not detect enough room for three 0.4mm paths - but three 0.39mm paths should still fit, even if the slicer determines the thinnest part to be 1.17 mm.


Proper settings for printing rubber and rubber-like materials? I am struggling finding how to print complex shapes made of rubber, tpu, tpe...
Are there any clear guidelines on how to print those materials without deforming and uncontrolled retraction?

The printer is not a problem, I can print on:

Delta WASP (the one I am specifically looking advice for)
Makerbot 5th
MB Z18
Sharebot NG
Ultimaker 2

Thank you!

First off, you need the right extruder design. Specifically, the filament path between the drive gear or hob and hot end must be extremely well-constrained. 1.75mm TPE filaments (thermoplastic elastomers) will buckle in an instant if given the chance. That means they will try to squeeze out of any little opening in the filament drive path rather than being forced through the nozzle.

Is there a gap >1mm anywhere between your extruder drive gear and hot end? Including the groove in the drive gear itself. If so, either change extruders or print something to fill the gap. Many popular extruders already have Ninjaflex conversion parts uploaded on Thingiverse or Youmagine.
Are you using a 1.75mm bowden drive? You probably shouldn't bother with the softer TPEs like Ninaflex. Harder TPEs like Semiflex may be ok, but it's still difficult. 3mm bowden drives may perform ok. Direct drive extruders are highly recommend.
TPUs (thermoplastic urethanes) in particular can be sticky in the filament feed path between the spool and extruder. Try to minimize corners and turns (even inside PTFE tubes) between the extruder and spool. As a general rule of thumb, don't exceed 180 degrees of cumulative tube curvature in the entire path from the spool to the nozzle.

Once your filament feed path is fully enclosed, the filament will be constrained and unable to squeeze out the side or wrap around your drive gear. That's the most important step.

The next problem is simply loading the filament. Purging out PLA or ABS with a soft TPE can be challenging because of the force required to purge the old material. Many default loading routines are actually too fast for TPEs and will cause the TPE filament to bunch up rather than purging the previous material. It tends to extrude better when there is nothing else in the way. Some tips:

Do some cold-pulls to clear out the hot end as much as possible before loading the TPE. (Nylon is ideal for this. Preheat to nylon temps, run through some nylon, let the extruder cool to ~180C, and then forcefully pull out the nylon. If you can't pull it out, pull hotter. If it leaves nylon behind, pull colder.)
If you have a high-melting plastic like PET or nylon in the hot end, purge with a lower-melting solid filament like PLA first. This will reduce the viscosity of the old material when inserting the TPE.
If your printer has a fixed loading speed, consider making a gcode file with nothing but a preheat and very slow extruder move as a custom loading script.
If you fail to load and jam up the TPE, try again! Sometimes it takes a few load/unload cycles to get the old material purged and a clean feed going.

The final issue is print settings. You ever hear the saying, "you can't push a rope"? That's kind of what you're fighting with TPEs. With a properly constrained feed path, you can push rubber, but not very hard. So minimizing extrusion force is the name of the game.

Print SLOW to start. Like 10mm/s. You can dial it up once you're getting good results. This will minimize nozzle back-pressure and reduce the amount of "pushing a rope" that the extruder drive must do.
Retract as little as possible. Turn off "optional" retractions in your slicer, such as during layer changes. Some people even print with no retraction at all, and use high travel speeds and coast/wipe features to minimize stringing. That's overkill, but it can help with marginal extruders. I personally add about 50% to my normal ABS/PLA retraction distance.
Print on the hotter side of the recommended range to start, then dial down the temp as needed to reduce stringing and oozing. Printing hot will reduce nozzle back-pressure.

With all that, it should be possible to print the softest TPEs with reasonable success. But if you really can't get it working right, plenty of higher-durometer TPEs are available now that are significantly easier to extrude.


Trouble with sizing in Fusion 360 I had imported a .stl file into Fusion 360- from Blender, but I couldn't size it to my required dimensions. Then I tried to make an object in Fusion. It works but when I want to size it (by hitting the D key) it says:

  [Error: Sketch geometry is over constrained]...

I realise if I add a sketch, that is flat I can size with D key but if I extrude it I couldn't size it any more. Same thing if I add a 3D object for example a box. Anyway I add a point on a face of that body (in the middle), then I could size it from that point to a edge but that all.

What did I do wrong and why I couldn't I size that body?
How do I suppose to size it?
With the .stl file imported from Blender or with the body made by me in Fusion 360?

Please help me understand how this site works with size...

Welcome to SE.3DP!

First off, F360 isn't the best with STL files. If you're having trouble with constraints and dimensions, I would suggest watching this Maker's Muse video first: How to use Constraints! CAD for Newbies with Fusion 360.

Second, Fusion360 is very tricky with importing STL's. My steps below should help.

In the lower right-hand corner, at the rightmost end of the timeline, you'll see a little gear. When you click on the gear, click the very top option: "Do not capture design history". This puts you into Direct Modelling mode.
In the top left-hand corner, where it says "Model", and select "Mesh" from the menu.
Along the toolbar, in the "Create" section, click "Insert mesh". When that's done, go back to the top left where it now says "Mesh" and use the menu to go back to "Model".
Now that you're back in "Model", go to the "Modify" menu. In there, find the "Mesh" section, and in that box, click "Mesh to BRep". That will convert your STL into a Fusion360 file that you can edit.

Now, if you want to use constraints, I would suggest sketching out your object entirely in Fusion, making constraints and dimensions along the way. I know it's annoying, but it'll be easier to modify it in Fusion.
Hope that helps!


Smooth transition between a PTFE tube and the back of a push-fit coupler I'm creating a reverse Bowden setup to guide my filament from spool to extruder, through a path which contains two couplers in the middle as follows:

[spool] --- |#= --- =#| --- [extruder]

So I have to connect a tube to the back of a coupler (---=#|) and not just to the front (---|#=). That's the end that contains the screw thread, and it's not designed to take a tube. I can't manage to make it a smooth transition. When I try to push my 1.75 mm filament through, it will often get stuck there. After it's through, the extruder seems to have no problem with it anymore.

Is there a trick to making this a smooth transition?

The solution might be to countersink the opening at the threaded portion within the tube. There are various angles available for countersinks, although the more common angles are 82 degrees and 90 degrees.

Drive the countersink to the point where the wall thickness is zero, unlike the drawing below showing some material outside the beveled area.

For your purposes, you'd want the steepest angle possible, the 60 degree tool.  If you decided to purchase a countersink, pick a diameter slightly larger than the outside diameter of the wall thickness of the coupler. You could use a countersink of the same diameter as the outside diameter of the threads.

Center drills are available with 60 degree angles as well:
Amazon specific item

The second smallest center drill listed here has a 1.5 mm center point with a 4 mm drill point. If your coupling is larger than 4 mm, the next size up will not work as well, as the center point is 2.5 mm. You'd have to resort to a countersink only.

If you are near a machine shop or have a friend with a mill or even a decent drill press, those resources may be able to perform the countersink for a minimal (or possibly zero) fee.

I have a mini-mill and a collection of countersinks as well as center drills. I found my bag of unused couplers. They are for 5 mm tubing and were flat on the threaded end. This is the result after a quick trip to the mill. It appears in the close up that I could have driven the center drill deeper into the fitting, and also cleaned off the swarf a bit as well.


What are some good FOSS or free tools for editing STL files for 3D Printing? I'd like to customize and modify some parts on Thingiverse, beyond just simple scaling for 3D printing.

I've been looking for some tools that convert the STL files into something that is easily edited, but so far all that I've found are really buggy and crash frequently as soon as one loads a reasonably complex model.

Are there any free open source software tools that people can recommend that handle STL importing and editing? If not FOSS, what about just "free or nearly free for hobbyists, ed, non-commercial?

You can use OpenSCAD. It's a script based powerful CAD open source software under GPL.
On Thingiverse, a lot of things are made with this CAD software (the Customizer flagged ones) and you can just download their source code (.scad) and directly edit them !

You can also import existing STL and edit them like they were a primitive shape like a cube. You can then interact with them by doing binary operations, adding parts, etc.

It is hard to start with if you have never coded, but that's worth it :

  OpenSCAD is a software for creating solid 3D CAD models. It is free software and available for Linux/UNIX, Windows and Mac OS X. Unlike most free software for creating 3D models (such as Blender) it does not focus on the artistic aspects of 3D modelling but instead on the CAD aspects. Thus it might be the application you are looking for when you are planning to create 3D models of machine parts but pretty sure is not what you are looking for when you are more interested in creating computer-animated movies.


Is it safe to use photon-resin-calibration for Epax printer? This repository contains a calibration test for DLP printers.

As its file Instructions.txt says, it is an ANYCUBIC RESIN EXPOSURE FINDER by X3msnake.

Are all the files, both .photon and .gcode, compatible with the Epax X1 printer?

Yes, it seems to be.

I tried the test and it worked well.


How do you remove rough edges from completed prints? All of my completed prints come out with rough edges. What are some methods for removing rough edges from 3D prints? Also, are there any ways to reduce rough edges on prints? For reference, I use a FlashForge Adventurer 3 and PLA filament.

To remove unwanted residual material:

You can scrape with a knife
Use sand paper
use files
Very fine sandpaper or files can smooth out the rough surfaces left from filing or sanding.
Dremel tools tend to be aggressive.  They tend to melt the surface if too fast.  Buffing wheels are probably the most useful on a Dremel.  Dremel tools are good for cutting.

A deburring tool can remove sharp edges such as parts of the brim that don't want to come loose.  However, it's not unusually to need to scrape off flat surfaces as well.

If you want to smooth out the surfaces left from layers, you can:

Carefully use a heat gun or heat from other soldering tools; not spending too long in one spot.  The difficulty with using heat is most prints have fill rather than being solid; so, with only two or three outside layers, it's easy to get the surface to deform into the fill. Also the print material will tend to stick to solid surfaces hot enough to melt the material.
Use acetone on ABS.  Don't breath the fumes or dissolve your print.
Paint the surface as the comment from user77232


Is there a way to save a multi part print if one fails? I'm printing 6 separate parts in one go, after 4 hours of printing one part failed, but the other 5 are printing nicely.
Is there a way to prevent the print from printing the failed part and continue printing the other 5 parts.
I'm using Cura and an Ender 3 printer.

If you use the OctoPrint print manager, you can exclude regions to be printed using the Exclude Region plugin. The description states that it can be used to rescue partially-failed prints:

The intent of this plugin is to provide a means to salvage multi-part prints where one (or more) of the parts has broken loose from the build plate or has otherwise become a worthless piece of failure. Instead of cancelling an entire job when only a portion is messed up, use this plugin to instruct OctoPrint to ignore any gcode commands executed within the area around the failure.

Other print managers may provide similar facilities.
I'm not sure if it will enable you to rescue your current print job.


How can I convert .STL file to .OFF to use in CGAL? I want to skeletize the surface mesh. For that I need to export .STL from Solidworks and then convert that into .OFF file to be able to use it in CGAL library for skeletonzation. How can I do this?

If you can handle a single intermediate step, you may find that OpenSCAD will perform as required. As a test, I created a cube 10 x 20 x 5 within OpenSCAD.  I kept the model simple, hoping the code generated would be short.

The results:

OFF

8 12 0

0 0 5

10 0 5

10 20 5

0 20 0

0 0 0

10 0 0

10 20 0

0 20 5

3  4 5 1

3  0 4 1

3  0 7 4

3  4 7 3

3  0 1 2

3  7 0 2

3  3 6 4

3  4 6 5

3  5 6 2

3  1 5 2

3  7 2 3

3  3 2 6

In your example, it would be necessary to use the import_stl feature of OpenSCAD, then render the model. Once rendered, use File, Export, Export as OFF to create the file you need.

I cannot provide certainty of the exported code, however, as I am not familiar with the format you seek.

Openscad


Remove broken heatbreak I'm trying to replace my hotend with the E3D Hemera direct kit. I got to the final step of hot-tightening the hot side and managed to snap my heatbreak. The part that screws into the heat-sink is stuck, though I was able to remove it from the heater block section.

Below is a picture of the heatbreak. The red square shows what it in the heat-sink. It's mostly thread (with thermal compound) but a bit of the unthreaded metal is sticking out (above the disk shown).

I've tried removing it with a jeweler's drill (which is how I removed the heater block portion, but I cannot get a good grip on the long threaded piece. I've also tried pliers and rounded needle-nose pliers. Neither worked. I couldn't find my regular needle-nose and will go to the store to try that. Are there other options to break this free or am I stuck with buying a replacement heat-sink? I already ordered a replacement, but it'd be nice to have a backup in case something else goes awry (as has been the case with this modification; this is snafu number 4).

Broken screws or screws with damaged screw heads are typically removed with screw extractors. Since there is already a hole you could "drill" (unscrew) it out with a screw extractor, as it is counter clockwise, it is about creating enough friction to unscrew it from the threads. Beware that it is not drilling and spalling material, turn slowly.

Alternatively, a grip vice pliers may work if there is enough "meat" to clamp on.


Rectangular pattern constraint is lost when applying a fillet to the sketch object I'm working on a model in Fusion 360 that has part of the 2d sketch duplicated with the "Rectangular Pattern" tool.  If I try resizing the original object, the duplicates update as expected.  If, however, I try applying a fillet to the object, the pattern constraint is immediately lost and the duplicates don't update.  I'm not seeing any error/warning, but I'm assuming it's running into a similar issue as if you were to delete a line that was part of the duplicated pattern (doing that shows a warning "Deleted geometry is part of a pattern, suppressed the instance or dissolved the pattern.")

Is there a way to alter the object (specifically apply a fillet) and have the duplicates automatically update?  I've done a bit of searching around and I found some suggestions saying that patterns should generally be done on the 3d model instead of the 2d sketch, but in my case I'd like to keep this in the 2d world since there are other sketch pieces that are based on the duplicated portion.

Here is a simplified version of the problem I'm running into:

Start with a simple rectangle

Using the "Rectangular Pattern" tool in the sketch menu, select the rectangle and create a pattern

Using the "Fillet" tool in the sketch menu, click on a corner of the original rectangle.  Notice that the "Rectangular Pattern Constraint" icon is no long below the original rectangle.

Finish applying the fillet.  Notice that none of the duplicate rectangles have been updated.

In some CAD packages, this is exactly what I would expect.  Models are constructed by applying operations in a specific order.  The fillet is a separate operation, and is not part of the base rectangle.

The base rectangle is defined.
You pattern the base rectangle.
You define a fillet using the base rectangle as the reference.  The fillet affects only that one rectangle.

OTOH, when you modify the base rectangle all are changed because the base rectangle is defined before the patterning operation.

If you can apply the fillet before the patterning, it may work as you wish.


How does the Filament production process work? What are the steps in the production process that factories that produce filament have to take to get from pellets to a full spool of filament.

Which of these steps are critical for quality (thickness, roundness, long shelf life,..) ?

Some general comments about the process used (plastic extrusion):

The plastic extrusion process is not simple- many textbooks dense with equations have been written about it. The lowest cost industrial extrusion processes do not use pellets at all- because pellets have already gone through an extrusion process so they are more expensive than powder resin. There is typically a 'compounding' stage where colors etc. are added before extrusion.

Significant heat is generated by the screw (which often has a complex geometry) via shear action that is itself temperature and pressure sensitive, and the heat is added to by external heaters in various zones (or subtracted by water cooling and chillers in larger extruders). In some cases we were able to operate an extruder adiabatically- the heat created by the screw motor matched the heat loss as the product left the die and no heating or cooling was needed once the process was stabilized.

The end result is that you want to plasticize (melt) the plastic and achieve a certain pressure at the die. The plastic is deteriorating the higher the temperature and the longer the time so you want to limit the residence time at high temperature. There is some trial-and-error and a lot of previous experience in the setup person's task. Once the parameters are determined they are recorded and are used the next time that material is run.

The size of an extrusion is typically determined exactly by downstream equipment rather than controlling the conditions at the die. It is essentially stretched as it comes out of the die and the heat is removed in a cooling trough.

Here you can see a factory environment with a very typical extrusion setup, used in this case for 3D printing filament (but the setup would look almost the same if they were making slats for Venetian blinds). Notice that there are cooling fans as well as band heaters on the extruder barrel. They control the diameter by adjusting the take-off capstan RPM once the extruder is running well. This extruder looks like it has 4 heat/cool barrel zones and two (heat-only) nozzle zones (6 temperatures total).

https://www.youtube.com/watch?v=40HOAsUnSQ8

Extruders are categorized by the barrel bore diameter in inches or mm. A very small extruder might be 25mm. An extruder used for pipe production might be 6" (150mm) or more. Some machines use multiple screws.


How to improve printing over 100 mm/s with 0.8 mm nozzle? It has been a long journey failing and printing over and over to be able to print at faster speeds. All I did mostly was trial and error. I am currently trying to wrap my head around a problem that has been asked by user:1998 (mhelvens): Can we manage to make a uniform formula for printing very fast with high temperatures? (Increasing hotend temperature to compensate for increased filament throughput)
Using Ender 3, Hero Me Gen5 with E3D V6 volcano, mdd kit 1.2, Klipper firmware
When I start printing at 215 °C (recommended temperature for my filament) everything is alright, because of initial layer speed...
When I come to 100 mm/s the print clearly fails, the plastic doesn't stick, it even swirls up and is just too solid and then it damages the nozzle when it bumps in to it...
If I start at high temperature, the print is failing at the start and then doing ok, which is equally as bad
When I have high temperature and high speed the print wont stick at the beginning...
The solution in my opinion is to gradually increase speed with temperature, adding that as a function of the firmware. Also probably involving filament flow % and pressure_advance...
Is there a formula for what I'm asking?
Can we implement it in the software or does this have to be done through trial and error all the goddamn time?

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).


The filament is almost impossible to remove Most people complain about the filament not sticking on build plate but mine is vice versa. At first it used to be very good. When I removed the magnetic bed the project would come off easily but for a few days it is like I glue it to the bed with epoxy. It is impossible to remove and when I remove the black projects from the bed I see white color at the bottom of the object printed. Maybe because of too much force but I don't know why this happens.

This usually happens when your nozzle is too close to bed during the first layer.
  Quick fix is redo bed levelling.
  Clean your build surface.
Watch you first layer


Cooling fan noise when head is moving in the X axis I have this fan model, it is a SUNON model number MF50151VX-B00U-A99
and it is a blower type.

When the head is moving in the X-axis it makes noise.
I think this type of fans is not suitable for rapid movement and rapid changes in directions.

I think the noise is coming from the axial of the fan because I think there is a clearance in the axial for moving up and down.

When I put my finger on the fan body(the rotating part) the noise stop!

My question, What type of fans suitable for rapid movement and rapid direction change? and if this is not the problem what is the problem in my situation?

I have tried searching but I can really find a direct answer!

As discussed in the comments...

The problem with the fan seems to be its flimsy attachment to the printer head.  The fact the fan chassis is not firmly kept in place allows for it to act as a soundboard, amplyfing whatever vibration nomally occurs in the motor.

You could probably get a fan that is more silent in the first place (noctua is a known brand for silent fans, and it is used on the Original Prusa MK3 for example), but since there's nothing inherently wrong with your current fan, I would simply design a custom, more beefy mount for it.  For added dampening effect you could also use small o-rings as washers for the screws.


Issue with 3D printer making super thin layers Recently I've been having trouble printing properly on my Creality Ender-3 printer. I ran a pretty long print (approx. 15 hours) that turned out really well. I then started printing an attachment for the original print and saw that it was printing layers that were extremely thin.

I first scraped off the excess filament left on the extruder nozzle. Then, I heated up the bed and rubbed off the layer with alcohol. I tried printing it again but it still didn't print right.

Thin layer

Weird thing

From the images above, you can tell it's noticeably hard to see the layer, which shows just how thin it is.

I sliced the model in Ultimaker Cura. I set the layer height to 0.15 mm. I've printed models before with this height but the layer wasn't transparent.

What should I do to fix this issue?

You need to level you bed.  Thin prints happen when the extruder is too low and is printing too close to the bed.

Download the following test codes from this address:

https://www.chepclub.com/bed-level.html

1) The first code is the most important you will want to run moves the extruder to five points on your board - Front Left and Right, Back Left and Right, and Center.  Using a folded piece of paper - I use a business card - drag the paper under extruder of each of the four corners.  You want to make sure you get a bit of drag when pulling out the paper/card.  If you feel have enough of a gap that you can run put the paper/card under the extruder and that you feel a bit of tug when pulling it out.  It runs the middle last - if you are having issue with the drag, adjust all four corners slowly until it is right.

2) The second runs the extruder in a square pattern on your board.  You simply want to run your finger of the print - if it sticks to the bed, you are good - if it doesn't, adjust your corners up and keep testing.


Will lowering print temperature help warping? I realize this issue (warping) has been repeatedly addressed on this site. I've just graduated to high-temp filaments (PC in particular). I don't know much of the physics of this. I'm wondering whether the degree to which the filament contracts is proportional to the amount that it cools. If the answer is yes, then wouldn't it suggest that a lower printing temperature might reduce warping-as the temperature interval over which the filament cools is smaller? Or perhaps the difference is negligible?

Also, I see a lot of emphasis placed on good first layer adhesion. Is this still an issue if you are printing on a raft?

I can't address polycarbonate specifically, but can provide a general overview of the higher temperature filament considerations.

Printing on a raft means that the adhesion temperature of the filament is accomplished. This temperature is the factor to be considered if you are thinking of dropping the printing temperature. If you drop below recommended minimums, you risk losing adhesion to the build plate and also inter-layer bonding. That alone means one should use caution when dropping printing temperatures.

Printing with a raft usually means the model's individual parts have such a small footprint that they would not remain bonded to the build plate. Rafts are also used on printers with an uncertain planar surface or irregularities in the surface. That's not applicable to this question, generally speaking.

Your question about contraction being proportional to the amount of cooling is perhaps misdirected. One could consider that the printing temperature is a manufacturer specified value and the cooled temperature would be generally considered room temperature. Room temperature would be addressed as a range, rather than a single value, but even as a range, there isn't going to be a big percentage of variation in the calculation involving the print temp/room temp.

My experience with the higher temperatures is more related to the volume of material per cross section (in all three dimensions). A printed model of substantial height with a relatively small horizontal cross section (think cylinder) is likely to have much less distortion in the x/y plane and greater distortion along the z-axis. The mass of filament cooling in the z-direction generates greater force than the smaller mass on the x/y axes.

Another factor in such thought processes is that layers are on the x/y axes and the strength of the extruded plastic is more homogeneous through the nozzle, while the z-direction creates inter-layer discontinuities, making warping and delamination easier.

I've found that I can reduce (but not eliminate) warping and delamination if I am able to maintain chamber temperature for longer periods and reduce temperature slowly. Unfortunately, I have a semi-enclosed printer and the heat loss is dependent partly on the ambient air temperature. A fully enclosed heated printer with auxiliary heating under some form of control may give you the best results.


Options for removing failed prints So basically I've been having a problem with my Micro+.
It will not level / calibrate itself and I can't fix it. The reason I'm here is that I've been using Cura, and somehow it destroyed my bed. (See image)

I would like to know how to get it off, as I tried freezing, scraping and sandpaper

To clarify some things:

The material is PLA,
bed is made of plastic.

My build plate surface got destroyed after trying to use Cura, which sliced wrong and engraved the print into my bed.

If you have tried every trick to remove the print, you probably need to replace the build surface. If the PLA is "engraved" into the build surface, your surface is damaged anyways, just replace the surface, or remove the top surface and buy a sheet of glass, preferably borosilicate.


Inductive kickback protection? Is there an integrated kickback protection in stepper motor drivers or should I make my own?
I am afraid the steppers might fry the driver or the arduino when i turn off the power for them.
I do that by turning off the power supply.
I haven't had an issue yet but it still bothers me.

Kinda, sort of, but not really. I'll look at the A4988 (datasheet).

The motor pins are connected by diodes to ground and Vbb (the motor suppply voltage). Essentially, they act as a bridge rectifier making any back EMF or inductive spikes appear (rectified) on Vbb. If you were to suddenly power down the driver this could cause a rather large spike on Vbb.

According to the datasheet, there is a 40 V Zener on Vbb which will clamp the voltage to that level. (Another popular stepper driver, the DRV8825, does not appear to have this Zener - always check your datasheet!)

So, yes, there is inductive kickback protection. However, it only clamps the voltage to 40 V. Depending on the rest of your circuit, this could be quite damaging.

The datasheet recommends that a 100 μF capacitor be placed on Vbb. If you are driving a typical stepper motor with 2 A and 4 mH coil inductance, the energy stored in the coil is 8 mJ. This energy is only enough to take the capacitor up from 12 V to ~17.5 V, so if you have a large enough capacitor on your stepper driver (as you should!) then you're protected against inductive kickback.

Note that if you move the motors by hand then you can still build up a higher voltage on Vbb. I've heard anecdotes of people who damaged their printers like that.


Cura 2.4 missing "split object into parts" I have an stl with multiple parts that I want to split up. Cura 15 had an option to "split object into parts" but I can't find that in cura 2.4. Did it get removed?

I don't think this feature was implemented at all with Cura v2.x.

As the developers say on the v2.1 release, "Cura has been completely reengineered".

Finding proper changelog documentation appears to be pretty hard because they have not posted any actual changelogs except the "user friendly viewable" changelogs which only list additions of new features but don't display what everything they changed between each version of their application.

Here is the most complete changelog I could find. I do not see any mention of this feature. https://ultimaker.com/en/products/cura-software/release-notes

Going through the Cura 2 manual or the Cura 2.1 FAQ, also does not mention this feature.
https://ultimaker.com/en/resources/20406-installation-cura-2-1

Furthermore, searching around for version 2 "split objects" lead to forum posts of people suggesting to use some other software to achieve this specific task. If you decide to go this route, I recommend Meshmixer from Autodesk to manipulate your models and then export to STL and import them to Cura either as a whole new position set up or separate model files where you can change them there as you need to (meshmixer allows for object repositioning around a defined build plate so you can just import the whole assembly into cura and then print).

It might also be worth to put in a feature request on the UM forums.


Weird temperature graph and thermal runaway protection triggered I woke up this morning with my 20 hour long print failed around 15 hour in. I checked the octoprint console, and saw a very weird temperature graph. Later found out thermal runaway protection kicked in, and I thanked the gods for having decided to install a custom firmware to enable that protection.

I have an anycubic i3 mega, recently upgraded with an E3D v6. To make that upgrade, I had to splice new connectors on both the thermistor and the cartridge, as the ones they came with weren't going to work.

Ever since upgrading I started experiencing some weird Z-wobble, but I am coming to the conclusion that it may actually be a slight consistent underextrusion. The final layers of the parts I had been printing, are all severely underextruded, going as far as delaminating. I have attached both a picture of the temperature reading, and one of the failed parts. You should also see the underextrusion I was talking about in the first layers, and the major underextrusion in the final layers.

Now, I don't have a lot of experience with this kind of issue but I think the temperature was jumping around too quickly to actually be a good reading. Sadly I was only able to take the final part of the graph before the printer shut down.

I have taken some steps to try to avoid this from happening again

I have reseated the thermistor and the cartridge
I have reseated the connectors for the thermistor and the cartridge
I have re-zip tied and changed the orientation of the wires and hotend to something that seemed better.

Before this all went down, I had ordered a titan extruder to try to mitigate the underextrusion, as I read online (I think it was from E3D official sources) that the internal pressure of the v6 may be higher than the standard hotend and therefore I may have needed a geared extruder.

Do you have any advice for me? And if you could also help me figure out if the first layers actually show underextrusion or Z-wobble, thanks for making it this far.

I should mention that this had happened to me already but without triggering the protection, the part did heavily underextrude but it was just a test part while trying to find out what was going on with the "Z-wobble." It doesn't seem to consistently happen every time I start a print, but I figure that long prints would certainly make it more likely to happen.

Periodic temperature irregularities, such as cycling between a higher temperature and lower temperature slowly enough that it spends at least a layer or two at a different temperature than other layers has a tendency to be mistaken for z wobble.  You can actually intentionally modulate print temperature (at least of PLA) every few layers to great a sort of banding or 'wood grain' effect.  Higher temperature, for whatever reason, results in thicker perimeters and cooler temperatures thinner ones.  This is when always staying above the normal PLA print temperature though.  The temperatures in the graph would certainly cause serious under extrusion during the times it was under temperature.

Understand though, it is likely that temperature has been behind the underextrusion, rather than it being a problem in of itself.

It isn't possible for the temperature to jump around too quickly to get a good reading.  The temperature changes relatively slowly, simply due to the thermal mass of the heat block.  It takes a little bit for the extruder to come up to temperature, right?  When warming up from room temperature, watch how fast the temperature changes. That's the fastest the temperature can change, because that is when the heater cartridge is on at full blast.  And even then, it isn't particularly quick.

It also does not appear to be a problem with the thermistor.  If there was a poor or failing connection (like a wire that was almost broken), this would cause added resistance to the thermistor reading, and thermistors usually lose resistance as they heat up.  So extra resistance throwing off the reading would make the printer believe that the hotend was cooler than it actually was, and you would wind up printing at a too high of a temperature.  This would cause a number of problems, but your interlayer adhesion would be excellent.  Delimitation would not be one of the issues, nor would underextrusion.

Thermal runaway protection is kind of a misnomer, because it is really 'something about the temperature of something isn't behaving like it should' protection.  Basically all it is is a hard coded temperature and time window.  If it has turned on the heater, there is a hard coded number of degrees that the thermistor must increase by within a certain time window, usually 30 seconds to a couple of minutes.  If it doesn't, something is wrong.  Or, if it drops out of the intended temperature by another hard coded number of degrees for a certain amount of time, then again the thermal runaway protection will be triggered.

In cases where the connection to the thermistor is failing, this will prevent the hotend from being heated without any limit (poor thermistor connection means the temperature the printer reads is always much much lower than what it really is, so the printer keeps trying to heat the hotend up hotter).

But thermal runaway protection will also get triggered for much more benign problems, like a failing connection to the heater cartridge.  If the thermistor is working fine, but the cartridge is not working correctly and either only heats intermittently, or has a poor connection and can't get enough current through it, this will also result in the temperature not going up as expected, thus triggering the thermal runaway protection.

Based on your symptoms, the thermistor reading looks to be quite accurate.  What you describe is exactly what I'd expect would happen for a print where the temperature of the hotend really did vary exactly as shown in your graph.

What can often happen is one of the leads (especially close to the cartridge but really, it could happen anywhere along the length of the two leads) will have broken from repeated wire strain (if you have disassembled your hot end at all or otherwise disturbed the heater wires in anyway, this is more than enough to cause a lot of metal fatigue), but the insulation around the broken wire will hold it together such that wire will still be making contact with itself.  But it will be a more resistive connection, and will cycle between an acceptable and poor connection as the print head position moves.

Long story short, you get a temperature graph that looks just like that, because the heater cartridge is periodically either developing a poor connection, or losing its connection entirely, only to regain it again as things move just the right way again.

I would double check all your connections to the cartridge, checking the actual resistance and not just using a continuity tester.  If those seem ok, then you will probably just need to buy a replacement cartridge.  I like to keep a few of them on hand since they have a tendency for their wires to break just from a little bit of normal manhandling.


Ender 3 nozzle gets closer and closer to the previous layer as the print progresses I'm trying to print a lithophane with my Ender 3, but the nozzle gets closer and closer to the previous layer,  layer after layer.

I thought that what was causing the problem was perhaps a gear lock due to the fact that the Z rod wasn't parallel to the vertical axis, but after fixing it the problem remains.

The bed is super planar and perfectly levelled and, in fact, the first layer comes out perfectly.
Extrusion is also okay. The printer seems fine in all aspects.

It seems like the seriousness of the problem is proportional to the number of layers, just like the printer is losing a fixed height by each layer.

I've ruled out the possibility of wrong calibration of Z steps because after measuring a cube of 12 cm of height and telling the printer to raise 12 cm the cube fits perfectly under the nozzle with the levelling gap (so perfect calibration).

What do you think may be the problem?

Finally I've found the damn problem: Adjustable rollers of all axes were flat on one point making layers to shift in all directions.

The effect was less visible on the X and Y axes but it was more notable in the Z axis as the flat part was right from the start of the print. I think that flat part was making difficult for the Z axis to move upward, and making my prints fail when printing at higher resolutions (I guess the finer the displacement the weaker the torque).

It seemed to me that the nozzle was getting closer to the previous layer but instead it was resting (or barely moving) on the flat part of the Z right adjustable roller first and then on the other adjustable roller of the same axis.

To diagnose the problem disable the steppers and moved the axes manually and feel if there are notches, so to speak, in various spots on every axis.

The solution is to replace the rollers with new ones and to not close them too tight otherwise they'll deform over time.


Problems with feeding the filament into the bowden tube I just finished building my Anet A6 and I was working on inserting some filament into the extruder. It was very difficult to get the filament to go in the hole (past the gears to go down to the hot-end). What can I do that will make it easier to get the filament into the hole (I tried cutting the tip at a angle)?

What you are after is a small common mod called... filament guide (as your question title!).

The first one to pop up in my google search was this one: https://www.thingiverse.com/make:346736 which in turn is a make of this model: https://www.thingiverse.com/thing:2242903

Also, a couple of tricks that help on my printers (YMMV):

manually straighten the first few cm filament before inserting it into the extruder (e.g.: remove the natural bend that is there because the filament came off a round spool by bending it in the opposite direction)
when the filament is past the gears/cogs, while still keeping the cogs "open" (i.e.: not yet clamping the filament), twist/roll the filament between your finger.
sharpen the tip of your filament with a pencil sharpener.  This make so that the tip of it is at the very centre of the hole, rather than at its edge.


Low Accuracy while perfect travel movement I own an older Anet A6. Flashed the Marlin Firmware on it (and think I configured it properly). Also updated to the latest 2.0.5.3 some days ago). The nozzle is a 0.4 mm one, direct drive extruder.

When printing calibration cubes I used

#define DEFAULT_AXIS_STEPS_PER_UNIT   { 99.7,  96.4, 400, 91.6 }

settings to correct for what I measured earlier. So the printed cube 20x20x20 mm came out almost "perfect".
Yet I faced another problem: scaling. So printing stuff 100 mm wide resulted in 97.2 mm prints. As if an error multiplied with the distance.

So I created a test object consisting of multiple "rectangles" (overlayed) in X and Y direction. Some of the dimensions were less than required and others bigger..

So the holes ("drills") were 0.4 mm too small (so half a nozzle diameter). In "Cura" I could fix that with the newly added inner hole correction or negative horizontal expansion values. Yet this would also "cut" the thin parts (top and right rectangle on the image - with a width of 1.2 mm - so 3 lanes of print material on my 0.4 mm nozzle).

Without and with adjustment the inner width of the rectangles is also off by more than 0.2 mm.

I printed with my normal speeds (80 mm/s for fill and even slower for other stuff) which creates fine output except the accuracy. I also printed at 20 % of this speed (so <10 mm/s for the first layer!) without any change. So it should not be the "acceleration/jerk" creating the issues.

I then restarted calibrating everything:

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

I moved the hotend over and over - replicated the exact movement in all directions 20 times each. It did not "slide", so stuff started and ended exactly at the same spot each time.

Now I printed my test cross (and other stuff) and while the X-Axis was only a bit off "outside" (inside still a bit more off), the Y-Axis was only 97 % and height as it should.

I printed via:

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

Sum up:

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

So: how to properly fix that issue? How to calibrate the dimension accuracy properly - is there something more than "steps per unit" to adjust?

Tried to find an answer here and elsewhere on the internet but seems I lack the right term to search for to find an answer. Hope you could help me.

You shouldn't calibrate the steps/mm for the X, Y, and Z axes. Just use the default settings which are based on the theoretical values for the given belts/leadscrews/threaded rods.

The mistake is in assuming that the error in the dimensions of the 20x20x20 calibration cube are purely due to the steps/mm setting. Due to a variety of reasons (inconsistent extrusion, measurement error, slop in the printer, backlash) no printed part will have its dimensions be perfectly accurate (no FDM 3D printer is capable of better than a few tenths of a millimeter accuracy in part dimensions). When you calibrate the steps/mm so that a 20x20x20 cube comes out "perfect", you are hiding all of these non-linear inaccuracies in a linear compensation of the steps/mm. When you then print a larger part, these inaccuracies (which are incorrectly compensated for in the steps/mm) get blown up.

Suppose your calipers had a constant error of +0.1 mm, i.e. every measurement reads 0.1 mm higher than it should. If you calibrate your steps/mm so that a 20x20x20 calibration cube comes out "perfect"; the actual size of the calibration cube would be 19.9 mm (which your calipers would read as 20 mm). If you then were to print a 100 mm part, it would come out as 99.5 mm which your calipers would read as 99.6 mm.

If you insist on calibrating the steps/mm you should do so by printing a part as large as possible. This ensures that the constant error is divided over a large part size, giving a better estimation of the actual steps/mm. However, usually the theoretical value is more accurate than what you can measure yourself, even with a part taking up the entire print bed.

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

10 cm is a very short length; you would get a much more accurate calibration with a 100 cm length. However, calibrating the e-steps very precisely is kind of pointless. It is hard to do so precisely because extruding into free air (and at possibly a different speed than when actually printing) will result in a different amount of resistance and thus a different length of extrusion than during an actual print. You will need to calibrate for the diameter and flow characteristics of the actual filament anyways, during which calibration you can much more effectively compensate for small inaccuracies of the extruder steps/mm.

Perhaps it would be a good idea to look into the rigidity of the entire printer and how securely the parts are mounted. If there is a lot of play in the bed or hotend this could also explain why parts are turning out oversized.


Designing/Printing objects with sized holes When trying to print parts that should contain certain sized holes, e.g. for screws, how to achieve that they are sized correctly?

Is it possible to calibrate the printer perfectly, so it prints holes correctly sizes in all common sizes (e.g. starting at 2mm diameter)? Or is it better to design the holes larger or print prototypes and increase the sizes according to the real prints?

The reason holes come out undersized is generally the slicer, so calibrating the printer itself cannot solve the issue (without making other things worse). The output of the printer is exactly what it should be, given the G-code provided to it. It's just that the G-code does not represent the hole diameter correctly.

It would be best to simply account for the deviation in your design, or simply drill out undersized holes to the correct diameter.


Replacing bearings with Drylin bushings When I purchased my China made Anet A8 printer, it came with the ball bearing style linear bearings for the 8mm guide rods. While pulling parts out of the box and putting them together, I noticed several of the small ball bearings fell out of their respective holders. At the time, I really didn't know what to think of it (ie: were these just extra ball bearings falling out; were they actually needed). I put the printer together anyway and it seems to work okay.

I have noticed while I've been printing, there's a lot of noise during travel of the pieces. I'm not exactly sure where the noise is coming from, but realize it has to be coming from one or more of the bearings. To hopefully fix the issue, I've purchased some Igus Drylin polymer bushings to replace the linear bearings:

My questions are:

When installing these bushings, should they be completely dry?
Should I at least clean the rods?
Are they completely maintenance free?
Anything else I'm not thinking of to worry about?

According to igus commercial documentation, these bushings:

do not need any kind of lubrication,
are not susceptible to humidity (but your steel rods might)
work seamlessly in presence of dust (it gets expelled from the bushing with movements)

I've replaced all of my bearings with these, and in my experience, the above claims have been true so far. I must say that I am really pleased with them. Movement is smoother, and the noise is considerably lower.

I did clean the rods to remove any trace of lubrication prior to installing them. I did not dry them.

I believe that igus is also selling rods in a material designed to even further improve the qualities of these bushings, but it starts to become quite an investment.


Monoprice maker select v2 doesn't extrude but is not clogged So I have been printing lately, and got a new spool of filament. It will extrude when I pre-heat the nozzle and manually extrude it, however when I start to print, it doesn't extrude any filament. Sometimes it works with different filament, but not always. How can I fix this?

Try advancing the extruder manually using the control interface. Extrude about 10 cm of filament to verify that everything is OK with the machine.
Is the filament curling on the way out of the nozzle? If so then there may really be a clog and you should clean it. Invest in some cleaning filament as well.
The idler bearing may not be pushing down on the filament tightly enough. Check that the spring which holds it in place has not become soft or broken.
The drive gear could be dirty. Plastic particle build up on the gear will cause it to slip. Clean the drive gear to remove all plastic build up.

Outside of this you could have a mechanical problem with extruder. Advance the motor using the control system (without filament installed) to verify that it is working properly.


cura shows different Z heights Cura v2.5.0
I've been working in Blender for some time, so I have experience with exporting stl from it with exact size and I had no scale issues with slicing.
But today cura showed a strange thing.
These are 3dBenchy and a stretched cube which are supposed to have 45mm height, also "boundary boxes" are turned on to show that there is no flying geometry.

As you can see below cura shows same size visually but different in numbers.

And if I scale the ship inside the cura it will look like this
(low reputation) http://dl3.joxi.net/drive/2017/08/01/0001/2747/88763/63/969fe8bc67.jpg

Does anyone know if I screwed up the model somehow or can it be considered as a bug?

Converted comment on OP to answer:

The comment links to a question on SE.Blender; the answer that led to the solution is quoted below.

  The STL exporter doesn't take Scene Scale into account. Import your
  STL back into Blender (it will have the same size) and drag Scene
  Scale up back to 1.0, and you'll see how the cube grows relative to
  the grid.

  1 Blender unit equals 1m, but STL seems to assume 1 unit as 1cm.

  If you want 1 unit to be 1mm, set Scale on STL export to 0.1 and
  Scene Scale to 0.001 to make it match the output scale in viewport.

  Note that the STL will be 10x smaller if you re-import it into
  Blender!


Generating mold from stl file of the 3D drawing of the object I want to know how to make a mold of a 3D design in .stl format.

Suppose I have a 3D partin .stl format (for e.g. a cylinder) and I want to make/design a mold for this object (i.e. the structure through which I could make the cylinder). Is there any way to do so? Are there any tools to do so?

My requirement is as follows: I have an .stl file of a design and need to develop the CAD files for its mold. I will then need to 3D print these molds. I would require to add a hole to pour in liquid (resin based) raw material which hardens with time.

You can also bring the model and a big box into slic3r, align and orient them (enclose the model in the box), and do a subtract modifier, leaving a hollow where the two intersected. You probably want to do this twice, for a top mould and a botom mould. I've done this, but I don't see any instructions online for it. :(

EDIT: Unfortunately, this would be very tedious. It's much easier to use meshmixer or another publicly available program to subtract one stl from another.

In Slic3r, using another stl as a modifier has no effect unless you are also printing that second stl (normally from another head). So you would have to manually remove all the gcode for the second head. Sorry for the bad advice.


When did mass produced FDM printers become available? I know very little about the history of 3D printing, except that SLA came first (in the 1980's?), and FDM development was probably held back by patents.

By 2016, very low price kit machines were available to hobbyists, in the <€300 price range, as price-reduced clones of designs which had already seen several iterations.

Was this the start of the break-out of cheap FDM machines (as opposed to the >€2000 semi-professional lab budget prototyping class), or were the earlier iterations of these kit machines also suitable/adopted by hobbyists?

I realise that early popularity would grow exponentially, but I'm thinking particularly at what point people could build a printer without needing to compile their own firmware, solder any boards, etc.

By 2016, very low price kit machines were available to hobbyists [..]
Was this the start of the break-out of cheap FDM machines

No, not by any means. The RepRap project started in 2005, and by 2008-2010 there were several open-source printer designs out there that were somewhat workable for hobbyists. These designs were still quite expensive, you needed to source all the components yourself and do a very significant amount of troubleshooting.
However, as early as mid-2009 you could buy a Makerbot Cupcake CNC for \$750 as a kit (which might have involved some soldering) or \$2500 fully assembled (presumably without soldering, but it's conceivable it was plug-and-play). Makerbot went on to become quite a successful company, piggybacking off the RepRap project and could be viewed as the "break-out" you ask about.
I purchased my first printer kit (no soldering or firmware involved) for \$500 (plus around \$150 in shipping and taxes) in February 2014; cheap hobbyist machines were commonplace well before that.


Anet A8 Installing second extruder without changing board I am wondering if it is possible and safe to add a second extruder to my Anet A8 without changing the main board. I was thinking splitting my Z motor wires to free up the Z2 axis motor connector on the main board, using this connector for the second extruder motor.
Is this possible? If so, how would i configure Marlin to use those extruder pins
Can I overload the board by using two motor on the same connector?

That is not possible without changing to a different printer main board. The Anet A8 board has 4 integrated (A4988) stepper drivers, one for X, one for Y, one for Z and one for E (extruder 0).

Both Z steppers are controlled by a single stepper driver (they are wired in parallel to the single Z stepper driver), there is nothing to free up nor is there to configure in Marlin without replacing the main board.


How to switch from PETG to either PLA/ABS mid print? I have an Ender 3 Pro and I'm about to print a relatively large model on it.
I've been printing in PETG and I'd like to use up the last of the roll during this print.
When the roll runs out however, I don't currently have any PETG lying around but I do have two brand new rolls of PLA and ABS.  I'd love to swap to one of them (lets say ABS) when the PETG is running low, and I'm just wondering if there is anything I should be wary of besides the print temp.
I am aware of general issues with ABS (warping without heated enclosure and stuff) but if I:

Have heated enclosure
Tune temperature to be higher when I swap to ABS
Have "draft shield" printing along with the model

Are there any other considerations that I need to put in the gcode or anything?  How much it pushes the filament or retracts or something?  I'm just using "Generic PETG" settings on Cura.

You should do a complete calibration for ABS (temperature tower, E steps, flowrate %) before starting the print, then when you change filament remember to apply all the parameters I mentioned.
While I'm not in favour of using the flow rate % to correct the E steps calibration, since you are doing it mid print this may be the easiest way, instead of changing E steps AND flow rate %.
As you said, you need to change temperature too, but both PETG and ABS print well at 235 °C so it may not be needed. PLA works too, but PLA bridges at 235 °C are difficult to get properly.
For sure you won't be able to change other parameters, such as fan speed, printing speed and flowrate for bridges, which are all specific to each filament, but hopefully it will work out anyway, since PETG is trickier than ABS or PLA.
Of course you may have issues with adherence: PETG may not bond well to ABS or PLA (in fact, PETG can be used for support for PLA and viceversa because the bonding is not too strong). You may have a weak print with PLA, so go for ABS.
PETG as support for PLA: Can PETG be used as support material for PLA?
Bridge calibration:


3D printing references for beginners I have just received a 3D printer for Christmas (Robo R2).  I am confused by the sheer amount of settings that I can tweak and I'm hesitant to do so until I know more about them.  I was wondering if anybody has any recommendations for literature on:

3D printing in general (geared towards beginners);
Designing parts specifically.

Books are preferred but websites are acceptable as well.

Welcome to the fantastic, sometimes frustrating but most often glorious world of 3D printing David! :)

Your question is really very very broad, but here's my contribution to make your first steps a success.  First of all: I don't have experience with the Robo R2, but judging from the specs available online, I would say that you got a machine that take care of most of the troubles beginners encounter when starting out (e.g.: levelling the bed) and has a few features that allow you to print more reliably/with better quality (heated bed, enclosure, possibility for a second extruder).

Give a hug to whoever made the gift to you! ;)

I like to think to 3D printing as a process that involves 4 phases (well, normally several iteration of them as prototyping is a thing):

Designing (creating the mesh, i.e. the shape of the object you want to print)
Slicing (creating GCODE, i.e. the file with the step-by-step instructions for moving your printer nozzle in space, extruding the plastic, controlling temperatures and cooling, etc...)
Printing (the actual process of having your printer running that GCODE)
Post-processing (finishing the piece, by for example removing support material, sanding, vapor-smoothing the surface, painting, etc...)

Technology in the 3D printing world is moving so fast that printed information tends to get outdated quickly, and the Internet is often the best source of information.  So in the following bits I will mention the the source of information that I use[d] for myself, of which many are online rather than in print.

DESIGN

Broadly speaking, there are two kind of designs one can do: decorative or functional.  Decorative designs are those in which the final object will essentially sit still on a shelf or be handled very gently (e.g.: a model of the Tour Eiffel, a miniature for RPG gaming), functional designs are those in which the final part will have to bear a load or perform some sort of mechanical work (e.g.: a drone, a shelf bracket, a pipe adapter...).

Both designs need to take into consideration the physical limitations of FDM printers such as the fact that the nozzle is round and with a fixed diameter, or the fact that molten plastic needs to rest onto something, thus the need for support.

Additionally, functional design requires an understanding of the physical properties of 3D MFD printed parts (hint: they are anisotropic, so their properties differs along their axis).  If you are interested in functional designing a book that I can highly recommend is Functional Design for 3D Printing by Cliff Smyth.  It is concise, accessible and full of information you'll be using from your very first design.

In terms of tools, for decorative, organic forms, you will probably want to use a program like Blender, that manipulate meshes directly, while for functional designs will probably turn to CAD software, like for examaple FreeCAD that operate on a "model" and let you export the finished part as a mesh at the very end.

Both Blender and FreeCAD are free software (like in: "free speech") but commercial versions do exist as well (most notably from Autodesk).

Blender is professional grade software with a very steep learning curve and I would suggest to take an structured online course like this one about it, rather than trying to learn it the DIY way.

FreeCAD belongs to a category of CAD programmes that operate on a well defined, well understood, set of principles (so it works similarly to OnShape and Fusion360 for example) and it is much easier to learn.  In my experience CAD modelling is best learnt by understanding the very basic, and then just researching further information as you go, according to the needs of your project as CAD design is full of small specific operations that is useful to know only if you actually need them (e.g.: how to draw a screw thread, or to perform a loft).  I started out with this series of video tutorials by the late Roland Frank (a celebrated contributor to the FreeCAD community), but there are tons of other tutorial should you choose to go with a commercial product.

SLICING

Slicing is as much an art as it is science.  While the actual work of generating the GCODE is automated and requires just the click of a button, there are a myriad of settings that are mutually interdependent in their effect.  For example: filament temperature, movement speed, cooling fan, retraction and coasting all affect oozing, but each of them also affect other things (bridging, layer adhesion, curling, nominal overextrusion, etc...).

Also: settings differs for each filament material, each brand, and sometimes even different spools from the same material/brand.  Moreover, you may wish to tune them depending to what you are printing (maybe you are printing a finely detailed miniature and want to go slower to reduce vibration, or maybe you are printing a torsion bar and want to increase the temperature for increasing layer adhesion, for example...).

IMO the best way to understand how settings affect your print is playing around with calibration towers (example) and torture tests (example).

Calibration towers work by printing the same thing on top of each other but changing at each repetition a specific setting (like filament temperature, or extrusion multiplier).  You will then visually inspect the final piece and evaluate how the print quality changed relative to that parameter.

Torture tests work by putting in the same piece a number of features that are hard for the printer to print correctly (thin walls, bridges, overhangs, to name a few).

A specific model that is sort of gold standard as a basic test is the 3D benchy.  The good thing about it is that it comes with a full website that also tell you how you can evaluate the print.  However, the benchy - differently than torture tests - is not designed to let you discover the limits of your printer, it is more of a quality-control test.  If you can print a 3D benchy, you should be good to go for printing "regular" objects.

Also, at least in the two most common free-as-in-freedom slicers (Cura and slic3r Prusa Edition) each setting comes with some explanatory text while hovering on it, that helps a lot understanding what that setting does).

PRINTING

How much you can affect the actual printing process depends from how "open source" is your printer, and if it uses standard components or not.  Consumer-grade printers get often upgraded/modded to improve print quality or tweak them for a specific job/material.  Typical upgrades are extruder upgrades, stepper motor upgrades, vibration dampeners, different sensors, etc...

Each printer is unique, but normally you can find abundant information wherever the community of owners of a specific model gathers.

I would also advise to subscribe to some good youtube channel about 3D printing like Tom's or Makers Muse or Joel's, and to visit sites like All3dp regularly.  As I mentioned, 3D printing tech changes constantly, and it is good to keep tabs on new materials, new software, new components, etc...

POST-PROCESSING

This is entirely dependent from the material you used for the print, its size, and its intended use, but I wanted to mention this nonetheless as there are amazing things you can do with acetone on ABS, lot of elbow grease on PLA or the use of an airbrush...  so you know 3D printing does not end with the print! ;)

Hope this helps you at least a bit.  Again: welcome to the the 3D printing world! :)


No extrusion, but manual extrusion works I just bought and build my first 3d printer (HE3D K280 with Marlin) and I'm encountering some problems with Cura 4 and Repetier. When I load and slice a part, the printer does not extrude anything during printing. However, when I manually extrude like 100mm (G1 F100 E100) it does work. Now I'm suspecting the problem lies with the gcode file which is generated with Cura since it contains very small values for E:

 ;Layer height: 0.2
 ;Generated with Cura_SteamEngine 4.0.0
 M140 S60
 M105
 M190 S60
 M104 S200
 M105
 M109 S200
 M82 ;absolute extrusion mode
 G28 ;Home
 G1 Z15.0 F6000 ;Move the platform down 15mm
 ;Prime the extruder
 G92 E0
 G1 F200 E3
 G92 E0
 G92 E0
 G1 F1500 E-6.5

;LAYER_COUNT:250
;LAYER:0
M107
G0 F3600 X-7.753 Y4.378 Z0.3
;TYPE:SKIRT
G1 F1500 E0
G1 F1800 X-8.127 Y3.918 E0.01115
G1 X-8.35 Y3.57 E0.01893
G1 X-9.088 Y2.287 E0.04677
G1 X-9.348 Y1.754 E0.05792
G1 X-9.483 Y1.376 E0.06547
G1 X-11.413 Y-4.956 E0.18999
G1 X-11.547 Y-5.534 E0.20115
G1 X-11.602 Y-6.124 E0.2123
Etc...

Does anyone know how to fix this?

I think that you have the incorrect diameter specified (e.g. 2.85 mm instead of 1.75 mm) in your slicer; this also appears from a calculation, see below. Note that you can calculate from extruded volume entering the hotend, or deposited volume. For the first you could calculate the line width of the deposited line and verify that with the settings; from the second you can verify if the volume for the extruded filament equals filament volume based on extruded filament going into the hotend for an assumed line width. Do note that (certainly for first layers!) modifiers may be in place. This is merely to get a ballpark feeling for the chosen filament diameter.

If you look at the first move from:

G0 F3600 X-7.753 Y4.378 Z0.3

to:

G1 F1800 X-8.127 Y3.918 E0.01115

You can calculate the travelled distance $ s = \sqrt{{\Delta X}^2+{\Delta Y}^2} = 0.59\ mm$. Also, from these moves you can see that $0.01115\ mm$ of filament enters the extruder $(E)$.

The deposited volume ($V_{extruded_filament}$) of the printed line  equals the cross sectional area $\times$ length of the deposited filament path. Area could be defined as taken from e.g. the Slic3r reference manual to be:

Basically (as we apply conservation of mass) the filament volume $(V_{filament})$ entering the hotend need to be the same as the extruded filament volume $(V_{extruded_filament})$ leaving the nozzle; so $ A_{filament}\times E = A_{extruded\ filament}\times s $.

This latter equation can be solved for $w$ by filling out the known parameters. From this calculation follows that for $1.75\ mm$ filament you get a calculated line width of about $0.22\ mm$, and respectively for $2.85\ mm$ filament you get $0.46\ mm$ line widths.

As the nozzle diameter has not been specified in the question, but most commonly used nozzle diameter often is $0.4\ mm$, and modifiers for the first layer are at play to print thicker lines; you most probably have the have the wrong filament diameter set if you have a $1.75\ mm$ extruder setup. Basically it under-extrudes.