What exactly does calibrating a 3D printer do? I’m building a 3D printer and need to understand what calibration and bed leveling is, and I was surprised to see there isn’t a clear explanation on the internet anywhere. Does bed leveling compensate for an uneven bed? So then, what does calibrating do? Is it the same thing?

First, welcome to the 3D Printing Stack Exchange!

On bed leveling

Bed leveling, or more accurately bed tramming, adjusts the bed so that it is even in relation to the print head. Typically it is done by sliding a paper between the nozzle and the bed when Z = 0, or the print head is at its lowest. The amount of friction should be similar to the amount of friction of a sheet of paper between two magazines (recommended by Tom Salander on YouTube I believe). One sheet of paper is about 0.1 mm, which is a common gap and allows for good adhesion of the deposited plastic, and typically the gap is measured at the four corners and the center of the bed.

But wait, there's more!

Mesh bed leveling can account for a physically uneven print bed (like a bowing glass sheet) and can be done manually like above or one can mount a sensor so that everything is automatic. The print bed is broken down into a grid (typically 3x3 or 5x5) and the Z height adjusts so that the gap is 0.1 mm at each point in the grid. A mesh is then made and stored in the printer. As the printer prints it makes the necessary variations in height so that the print is flat. Please note that the bed should be leveled as best as possible before setting up the mesh as it will vastly improve the resulting mesh. Mesh leveling is primarily software. The actual level of the bed remains unchanged, thus needing to level it prior to setting up the mesh.

Other calibrations

Bed leveling (including mesh bed leveling) is one aspect of calibration. Other important factors to tune in are temperatures of the nozzle and the bed. For example, PLA has a temperature range of 180-230 °C but each printer is different and may need to print at a higher or lower temperature for best results. Or the printer reports a temperature of 200 °C but the thermistor is off and is actually printing at 190 °C. It's up to the user then to compensate if they want/need to print at an actual 200 °C.

Other settings to tune are print speeds, acceleration and jerk, retraction, and extrusion. Faster print speeds can result in poorer quality prints, namely ghosting and under extrusion. Acceleration/jerk works in the same vein since it directly affects speed. Retraction helps with stringing. If the retraction settings are too low then there will be stringing on the model, if it's too high then there can be under extrusion and heat creep. Adjusting the extrusion factor will tell the printer to push more plastic out or push less. The higher the factor the more plastic is pushed. IMO best practice is to leave the factor at 1 in the slicer and calibrate the stepper motor itself (as can be seen here)

Calibration models

There are several calibration models on thingiverse that can show common print issues. Some of the popular ones are:

The calibration cube which one can ensure that the motors are moving accurately to print out a 20 mm cube. This also shows ghosting along any of the three axes. This cube may also point out if any of the axes aren't 90 degrees perpendicular to each other as the cube should be, well, a cube and not an amorphous shape (thanks to Joel Coehoorn for pointing this out).
3DBenchy which shows a myriad of potential print quality issues including ghosting, poor overhangs/bridging, and stringing.
A Temperature Tower uses post scripting in the slicer to change the temperatures so one can determine the different print qualities across a spectrum of temperature. There are a lot of different models online if this one does not work for you.
An all-in-one test can do a lot of tests in one model and they are all labeled within the model. (The linked one is the mini version, there are several similar tests online.)
This list is by no means inclusive, there are several other models that can test other problems. These are just what's usually printed (especially the cube and Benchy).

Happy printing!


Where is filament thickness setting in Cura? I don't see filament thickness in Cura. How can it work without it?

There are two important settings related to filament thickness in Cura 4.8.
They are in Preferences window (open menu Preferences > Configure Cura):

Printers > Machine Settings > Extruder 1 > Compatibile material diameter - this setting will influence visibility of materials available on the list in next point.
Materials > Information > Diameter - width of filament currently selected in the list.

Important remarks:

After selecting a filament from list you may alter its settings. But it will not become the active filament for printing until you press "Activate" button above the list.
Extruder settings (Nozzle size, Compatibile material diameter) will be always displayed with "." (dot) for decimal point. But if your regional settings (in operation system) use "," (comma) for decimal point, then the only way to enter new settings is use comma, otherwise they won't be saved. From my observations this defect concers only this single window.


Which software do I need to start print something? I'm still new to 3D printing and I want to print something. I expect that I'll mess it up since I find nothing to adjust it but it is now laying around for 4 months and I'm sick of it.

So my question is where do I find Windows software to print something and of course where do I get a 3D model?

I own a Geeetech i3 Pro W.

First; find a model!
To print something you require a model (usually this is in STL format, look into websites called Thingiverse and MyMiniFactory for examples). Once you have a model file, you need to make it readable for the printer firmware.
If you can't find suitable model, then you need to design a model yourself (or ask someone to do it for you) or adjust an existing model to suit your needs. "Good (preferably free) Beginner Software for Part Creation?" is a good place to start.
Second; use slicer software
For a printer to be able to print the model, the model needs to be sliced into layers. These layers need to be printed at specific speeds, temperatures, etc. Search online and look at the filament packaging (usually the ideal temperatures are on the packaging) to find the ideal temperature for your filament. If you are not using the right temperatures, your print will most likely fail. Programs that are able to slice models are called slicers. The most popular free (and Windows compatible) slicers are Ultimaker Cura and Slic3r (or its Prusa distribution).
The slicer produces a printer readable file called a G-code file (file filled with printer instructions for e.g. movement and heating). This G-code file can be sent to the printer using specific printer software (e.g. OctoPrint, Repetier-Host, etc.) but more common or simple is to put the G-code file on an SD card and print the file using the print menu on the printer LCD.


What are various types of supports required in slicing the CAD model? Also, a visualization of the various types of supports required in slicing the CAD model is a plus.

I'm just getting started with Rapid prototyping and I had no idea about that. Is there any type of support we can select in the software settings or will it always get generated automatically?

Support structure generation depends on the type of slicer you use to convert your model (STL model file) into printable code (G-code) for the 3D printer. Different options and solutions exist to add support depending on the slicer software applications. Alternatively, you could add your own supports to your models in 3D CAD programs.

Without giving an opinion on the slicer applications, the most commonly used slicers are Cura and Slic3r (both free) and Simplifi3d (paid license). Please choose your software and do some more investigations on setting up these applications for slicing and address your question with a more specific question.


Bolt hole terminology for "tight" and "loose" bolt holes When a hole is created for a bolt, it might be "tight"; the intent is for the hole to be tapped. Or it might be "loose", and the intent is for the bolt to slide into the hole and attached to a nut on the other side.
What is the terminology for these two kinds of holes?

A hole designed for a screw/bolt to slide freely through is called a clearance hole. A hole that is designed to be tapped could be called a pilot hole.


How to log more than 300 lines of the OctoPrint terminal? Is there a way to view more than the last 300 lines in the terminal tab on OctoPrint? Or is there a txt file of a log? Or even a setting/plugin that does either?

I keep finding my prints pausing as if I said to change the filament even though that wasn't set in the slicer, but I catch it long after the 300th line in the terminal so I can't see what OctoPrint is trying to do.

Yes, you can show more than 300 lines in the terminal; just disable auto scrolling (reference).

  Disabling Autoscroll now completely disables cutting off the lines (so
  you can have way more than 300 lines while that's disabled), filtering
  has been improved too and doesn't cause scrolling anymore.

Note that with disabled autoscrolling, you will be able to see more lines up to the point that the buffer is full. If you need even more lines to monitor, just enable the logging the data to file serial.log. If you open the options page (OctoPrint Settings), just tick the box for "Log communication to serial.log" under "Serial logging" of the "Serial connection" options.

This serial logging file is typically used for debug purposes, but as can be read from the options, it comes with a warning:

  While this can negatively impact performance, a serial.log can be
  incredibly useful for debugging any issues observed in the
  communication between OctoPrint and your printer.

You can either access the log file through the OctoPrint options/setting through the "Logging" options tab, or direct download/copy from the logging directory:

  on Linux: ~/.octoprint/logs
  on Windows: %APPDATA%\OctoPrint\logs
  on MacOSX: ~/Library/Application Support/OctoPrint/logs


How to correctly print an object with supports I'm trying to print the following model in my Prusa printer using its Slic3r PE software.

Ferment Air Lock

In the comments of the model it says that the way to print is the with the filler opener downside to the printing board.

This is how I have it in Slic3r:

When I print it I get this horrible form and I have to stop in order to avoid waste of material.

When I look in the layers tab and then scroll up to see layer workflow I can see this:

So that means is trying to print like in the "air" something without any support.

Any clue how to print this? I'm kind of new to 3d printing.

You need to put a check mark to enable supports in Slic3r as you cannot print in mid-air.

This option is found under "Print settings" with header name "Support settings". Please look at the Slic3r manual for more options.


Ender 3 Won’t Start - flashing screen and blue LED on main board Just received my second Ender 3 (see my other questions for the problems that first one developed). Figured it best to have a spare while I upgrade my first one with an ABL.

I assembled it as normal, without any issues, but on applying power the LCD screen just flashes on and off continuously along with the blue LED on the main board. See photo.

When I power it off, the Ender 3 logo appears briefly before it goes black. I am in the U.K. and running 240v setting. Is this likely the power supply or the motherboard? I already tried another screen and same problem.

Just after I posted this I tried swapping various components with my other Ender 3.

It turns out a faulty power supply will produce this effect. When I swapped out the power supply it started normally.


Can't connect Cura to my Anet A8 on OSX 10.11.6 I finished the mount of my Anet A8, tested everything and apparently it was ok. I installed the driver that came with it, CH341SER_MAC, turned on the printer, connect USB cable, but nothing happened.

In Cura, I tried to add a printer many times and this message always appears

  The printer isn't connected.

In OSX, I discover in System Information, an USB2.0-Serial, that I think can be the printer.  Is it a printer driver problem? Is it the Cura setting? I'm completely lost...

There are a lot of problems with the CH340 chipset drivers to be found on 3D SE and various forums on the internet. To use this cheap CH340 chip that is used by a number of Arduino compatible (clone) boards to provide USB connectivity (a USB bus converter chip that converts USB bus signals to serial interface) you need to install a correct working driver.

For Mac OS X you can try to download a working version for the OS system you are using. You can try to use this driver installer or this driver installer. Both reported to work with Mac OS.

Edit: If you are using OSX El Capitan, please read this. To  get the CH340 drivers to work you need to use the tool csrutil.

  Reboot and press CMD+R immediately after hearing the startup sound to boot to Recovery Mode
  Open Terminal
  Execute the following command: csrutil enable --without kext
  Reboot

More information is found here!


Is endstop / z-probe wire required for BLTouch installation on CR-10S I am confused about installing BLTouch on CR-10S.

This is my motherboard:

Below is a screenshot for the wiring of the BLTouch sensor:

See the circled sections in yellow.

Notice that the Z- socket is also used  (black and white BLTouch wire) and that's normally where the endstop limit switch sensor is plugged in.

If I unplug the limit switch wire and simply plug the BLTouch wire to this:

1. How can the printer determine when it has reached home?

2. How does it know when to stop when it hits home?

3. I thought BLTouch  is used to do some leveling on the surface... Does BLTouch have a sensor to stop the printer when it hits some?

4. Any way to install BLTouch without removing the Z limit switch sensor?

Sorry for the questions. I am just confused about BLTouch using pins of another sensor that's also required.

A touch sensor is also a height limiting switch, so you sacrifice the Z- limit switch in favor of the touch sensor (or an inductive sensor). Furthermore, all your concerns are taken care of by the firmware. You configure the firmware so that the nozzle homes Z in the center of the build plate after X and Y are homed first.

It is advised to look up some videos of working touch sensors, then you will get an idea what actually happens. You could start with the inventor of the sensor.


What is the difference between tuning the speed on the Ender 3 panel, and the Cura Print Speed setting? I'm printing a lot of draft parts so I don't care if they fall apart in my fingers, I just need the shape. I can scroll to the Tune menu on my Ender 3 Pro console and set the speed to 200% and it doubles the speed. But when I set the Print Speed setting to 100 instead of 50 mm/s in Cura, it doesn't save much time, even if I adjust the individual first layer speed, wall speed, top layer speed, etc. What is the difference?
Ideally, I would like the first layer to print normally, and then print at 2x speed.

You can look under Cura setting to set ' Initial Layer Print Speed ' and ' Initial Layer Travel speed ', you may appropriately set you print speed as you required


What is the correct way to export SVG in order to convert to STL? I made a simple logo using Inkscape, after saving as an svg file, but when I export that file into Fusion 360 something strange happened.
Multiple times I convert some images (png, svg) to svg file. The process I use is this:

Scan logo image (scanner or smartphone)
Open image with Inkscape
Using the stroke, generate the shape
All process for generate and save

This process explained above always works for me, when I copy the shape using the stroke in Inkscape.
However, when I was do the process using the shape generator - for example, rectangles, circles, squares, etc. - and export the file into the Fusion 360, it doesn't work.
1 - Inkscape logo

2 - Logo import to Fusion 360

In the example above, the first word does not appear.

Considering the simplicity of your sample design - i.e. basically only two different Z-levels, easily distinguished by color - I'd recommend one of the online image-to-3D model converters.  Here are two I've used now and then.  You may have to save your image as png or jpg instead of svg.

selva3d   and 3dp.rocks


Is having 4 bed leveling adjustment points rather than 3 problematic? My Ender 3, and I think lots of printers, have 4 bed leveling adjusstments, one at each corner. It seems to me that having 4 points produces an over-determined system, making it confusing to get the leveling right - adjusting one of the four may have little or no effect, but then cause a later adjustment elsewhere to have effects that violate a least-surprise principle.

Would it be better to have only three points? Or is the fourth necessary/useful with non-completely-rigid bed structures to add rigidity?

Similar reasoning as for question "3 vs 4 bearings for y axis travel"" holds. If you introduce a fourth point, it is more difficult to make a flat plane.

Provided that your bed is stiff, e.g. a flat piece of glass, or a thick metal plate is used, you do not need more than 3 screws. Both my custom built printers use pieces of glass on aluminium heated beds that use three screws for levelling.

If your bed is thin (e.g. thin heated bed with tape, so no glass) and flexible or warped, an extra screw might be handy to deform the bed to a more flat plane.


Bumpy first layer with PETG When I print with PLA, I get a perfect first layer.

However, when I print with PETG, the first layer looks like this:

I've read all the info that suggests reducing the temp, speed, and increasing retraction... I've done all that which has improved things a lot, but I still get this... I can't seem to work out what's causing it.

How do I get a perfect first layer with PETG?

The latest settings that I've tried, and produced what you see in the picture are, using Cura 4.3 standard Dynamic Quality 0.16 mm profile with these tweaks:

Temp: 220 °C
Bed: 65 °C
Retraction Distance: 10 mm (not that this would have any bearing on this flat first layer)
Print Speed: 40 mm/s

One thought I had, does PETG need a different clearance between the nozzle and the bed than PLA?

One thought I had, does PETG need a different clearance between the nozzle and the bed than PLA?

Short answer: "Yes, for some it does".

The results from your image are typically seen when the initial layer height for PETG is too small. PETG likes an additional gap on top of the usual that is used to print e.g. PLA.

For me personally I don't experience this general consensus (I've printed kilometers of PETG filament at 0.2 mm initial layer height at a glass bed with 3DLAC spray without any problems), but it is well known that if you print PETG (and if you experience problems) you need to increase the gap between the nozzle and the bed. From "PETG Filament - Overview, Step-by-Step Settings & Problems Resolved" posted on rigid.ink, you see that they (usually) advise an additional 0.02 - 0.05 mm gap:

Bottom line, if the normal gap doesn't work for you, increase the gap to see if that works better. Note that in some slicers you can add an offset in the slicer so that you do not have to do the releveling with a thicker paper (or if you are using auto-levelling). E.g. in Ultimaker Cura you can download a plugin (for recent Cura versions from the marketplace) from user fieldOfView called "Z Offset Setting" to get the Z Offset setting in the Build Plate Adhesion section. You can also do a little trick in the G-code by redefining the height so that you can put this in a PETG start G-code or something.


Replacing jerk with ridiculously high acceleration? After a string of one problem after another with both classic jerk and junction deviation in Marlin, and coming to understand that the whole mathematical model for both of them is rather bogus (as I understand it, there's nothing to keep jerk from junctions of multiple tiny segments from accumulating to unbounded near-instantaneous chage in velocity), I kinda want to just disable jerk entirely (set it to zero). But of course this would give really slow printing.

What I'm wondering, though, is if it makes sense (and if so, how) to try to compute and use an acceleration value sufficiently high to achieve what jerk was trying to achieve, without it.

Mechanically, if a printer can handle a given jerk without skipping steps or harmful vibration, it should be able to handle acceleration high enough to achieve exactly the same stepping at corners/junctions. However, perhaps acceleration limits also involve current to the motors, heat dissipation at the motors/stepper drivers, or other factors that make "instantaneous" extreme acceleration okay but sustained extreme acceleration bad. (Of course, without extreme max speeds, extreme acceleration should only take place momentarily, in some sense proportional to as much a jerk takes effect.)

Am I crazy for thinking about doing this? If not, what would be a good model for determining the appropriate acceleration to try?

In order to evaluate whether this is possible, it's necessary to realize that following a curved path with zero jerk (in the classic jerk sense) requires stopping and restarting at each junction point in the piecewise-linear approximation of the curve that occurs in the gcode. This is because there's no way to accelerate/decelerate the individual axes continuously through a non-smooth corner. So paradoxically, as the number of segments approximating a curve goes to infinity, speed goes to zero. If the length of any one segment is bounded below by a constant, then acceleration can be chosen high enough to ensure that arbitrarily close to 100% of the segment is at full nominal speed. For example, for a minimum length of 0.1 mm, speed of 60 mm/s, reaching speed in 10% of the nominal segment time (1.6 ms) would take an acceleration of 360000 mm/s². So, not happening.

On the other hand, with very low but nonzero (classic) jerk, just to handle the matter of smooth curves approximated by small segments, this might be practical. Just looking at 90 degree cornering between segments long enough to run at nominal speed, to match the time spent cornering with 60 mm/s speed, 20 mm/s jerk, and 3000 mm/s² acceleration, it should only take 4500 mm/s² acceleration (original, scaled by 60/(60-20) to account for having to decelerate/accelerate to/from 0 instead of 20). This is completely reasonable.

How small can jerk be without breaking motion for approximations of smooth curves? As the number of segments approaches infinity, the lower bound should go to zero. For a circle approximated with 15° steps, one component of the change in velocity looks like it can be around 25%, so "25% of nominal speed" seems to be what you get. Oops. For 60 mm/s, that's 15 mm/s. Not very low at all. I may have gotten this math wrong; I'll review it later. But it doesn't look good for declaring this practical.


Where did Marlin get its name? Does anyone know how the developers of Marlin decided to name it that?

As far as I know Erik van der Zalm started Marlin. He is from the Netherlands and Zalm translates to "salmon". One of the design goals of Marlin was to make it faster than the other firmware available at that time. And a marlin is a very fast swimming fish.

Some firmwares developed after Marlin also joined this fish theme: Sailfish, Minnow, ...


No Z hop in Dual extruder, print getting disturbed at retraction point I'm using a Lulzbot KITTAZ with V2 Dual extruder(0.5mm). When I'm printing anything, the front left side of the print is getting disturbed because whenever the tool head switches the action between the extruders, they stop at the front left point of the print. They are not performing the Z-hop and because they are hot they are disturbing the print at that point.
These are the settings that are currently set:

The print with the disturbance:

Sometimes the whole print is getting dragged to the extruders.

It appears as though you are using (or used) an old version of Cura. More recent releases allow you to insert G-code commands on changing the extruder. You could insert a Z-hop in these sections.

Extruder End G-code: First set the extruder in a relative mode, move up 2 mm, set absolute again:

G91
G1 Z2
G90

Extruder Start G-code: First set the extruder in a relative mode, move down 2 mm, set absolute again:

G91
G1 Z-2
G90

You could even do filament retractions to prevent oozing or stringing!

Note that this assumes both hotends are on the same carriage!

An alternative you could try is to use a print server that is able to inject G-code scripts, an example is OctoPrint:


3D Print something as flexible as a cloth with PLA? Would it be posible to design something that is as flexible and that can be printed with PLA that would work as a cloth? I did some research and found that there was a company named Electroloom but that didn't make it. I'm not looking for anything fine, just something that would work for wiping

Maybe you would be better off with TPU or some other type of flexible material...

I have been able to print PLA and have it flex quite a bit, but that was an ~0.2mm single layer print, I guess maybe up to 0.3-0.4mm should still be a little bit flexible, but not much. Also since you want it to wipe things, maybe you should look if TPU even has all the properties required for that as Carl mentioned in the comments.


What causes my Bowden tube to melt on the side? I run a 3D printer farm and I have to replace my Bowden tubes on the printers after about a month or two of use(roughly 1000 hours of use). The Bowden tubes continually melt on the side of the tube very near to where it pushes against the nozzle. I am running Ender 3 Pros and I run at about 205 °C with PLA. The Bowden tubes I have are some I found on Amazon and they are not Capricorn tubes.

EDIT1: I have added more pictures below of a new failure. This time you can see the marks of the teeth of the coupler a good inch below the failure point.

If the tube is PTFE, the tube is not likely to be melting unless your hotend temperature is out of control.  You would probably notice the PLA cooking.

So, perhaps they aren't PTFE, or perhaps it is wear.

If it wasn't PTFE, you should be able to tell by the texture, slipperiness, and bending force.

The four thinned faces look like they would correspond to four of the barbs in the connector.  The thinned ring below the four thinned faces look like a wear line where the tube is pressing against the exit of the connector.  It looks to me as if the tube is moving or flexing in the connector.  The barbs act as little chisels cutting into the tube, which is how they restrain such a slippery material as PTFE.

It might work better if the tube were a little longer.  This might reduce the forces at the limits of movement which may be placing strain on the tubes.  If you can, you might also fashion a strain relief for the tube so that it doesn't bend right as it exist from the connector. If you can cut down on the movement, you will help with the external wear.

It is also possible that the tubes are being strained by a high filament pressure.  All the drive to push filament into the hot end is matched by an equivalent reverse pressure from the tube onto the connector.  If you can stand a higher print temperature, the life of the tube may be increased.

@towe added a comment:

  I don't think those are marks from the teeth of the pneumatic coupler. The questions states "where it pushes against the nozzle", and the Ender 3 Pro seems to have a hot-end where the Bowden tube reaches all the way through the cold end and heat break to the nozzle.

A mechanical drawing of what may be a MK-10 hot-end as used on the Ender 3 Pro also suggests that the Ender 3 Pro has a PTFE lined hot end.  Lets accept that drawing as confirming that @towe is right.  Never-the-less, the marks you show in the photo look like the types of cuts I have seen from a pneumatic coupler.  How can we reconcile this contradiction?

The most direct answer would be that the tube is not reaching through to the nozzle.  In the photo you don't show enough of the blue tube to show the coupler scars which should be a little further up the tube.  Suppose that, in fact, the tube is not pressing against the nozzle.  This might not be the case if any of these are true:

There is a separate piece of PTFE that is permanently in hot end.
The Creality Ender 3 Pro looks as if
it is not configured for a Bowden feed.  A PTFE lined hot-end for a
direct extruder would have a piece of PTFE cut to length in the
hot-end.  A simple mod to make that a Bowden would leave that
sculpted PTFE tube in place.
The pneumatic couplers have been replaced.  Many couplers do not
permit the tube to pass through them, although the hole in the end
can be drilled to 4mm diameter.  In fact, preventing the tube from
passing through a pneumatic coupler is a feature in the intended
application of coupling to air tubes in moderate pressure
applications.
There is a bump in the path that is catching the  tube and
preventing it from extending through to the cold end and onward.


SLA printers: food-safe resin parts I've actually read that resin printed parts are not food-safe in Reddit and Formlabs guide. However, it also says that food-safe can be achieved applying some kind of food-safe coat to the printed parts, or even printing with ceramic resin.
As an owner of a Elegoo Mars Pro, I've searched for the second - ceramic resin - and I've found nothing, so I guess it's only suited for more expensive and professional printers.
But regarding the food-safe coatings, is there any recommendation on which and how to apply them for resin printed objects? Is there any other way to achieve food-safe resin printed parts? Maybe are there food-safe resins, even though they may be more expensive (I haven't been able to find any)?
The scenarios I think that have to be considered are four:

Prints to be used for liquids: like mugs and coffee cups, or recipients to hold drinks in the fridge, for example.
Prints to be used for solids: just recipients to put dried fruits, nuts, olives...
Prints to be used while eating, which some tools may interact with: plates, bowls, which will be in contact with knifes, forks, and some other material that could scratch it.
Prints to be in contact with the mouth: this would be maybe a mix of the other, but would include forks, spoons, mugs...

I guess that the cleaning and maintenance will depend on the process to make them food-safe.

I've been searching for the net, and I've found these kind of epoxy resins. I see people use them and say it's food-safe, but I cannot see it stated anywhere. Maybe are those what I'm looking for? Maybe not because some of them are for wood (maybe they can be used in other suraces, too?)? Some samples:

Fantasy craft
Art Resin
Dipoxy resin

Hope to find a little bit of knowledge to increase safety when printing some parts and being careful about the different applications that our prints may have.
Thank you!

Resin basics
Resins are tricky, but probably less tricky than FDM as the manufacturing process is much less likely to include contaminants in the shape of contaminated air, particles, or adding lead into the print. This is all due to the whole process of creating the polymer happening under the protection of the resin, which in its monomeric liquid state is so toxic that it is unlikely any bacteria can survive in it. But before going out on a spending spree, you need to be aware that there are basically 3 kinds of resins on the market, only one of them is for SLA. To know exactly what you get you'd need to read the MSDS, which is usually available by the manufacturer of the resin.

Two-component resins as you found in the lower half of the question. You might know them as Epoxy or Polyurethane resins. They have a base material and a hardener, sometimes called Component A and B. If mixed perfectly, they cure fully, neither hardener nor resin remains. This means it is chemically inert.
Air-curing resins. These two come as Polyurethanes and also Acrylates and you might know them better under the terms paint, lacquer or coating.
Light-cured resins, as you find them in SLA resins and all coatings that are not air-curing. These are for SLA a strange chemical mixture of a photoinitiator and then some monomers that create a copolymer while coatings can be as easy as having some initiators and the rest is a single type of monomer.

Food safety?
There are some resins is on the list of FDA approved plastics for food contact. The list is exclusive: if your plastic doesn't fit one of the listed ones, you can not use it. One example would be polyacrylate, which is defined as being "formed by melt polycondensation of bisphenol-A with diphenylisophthalate and diphenylterephthalate" - which excludes any other method of getting a polyacrylate and it prescribes exactly what basic materials are allowed.
As a result, many two-component resins and light-cured resins that don't match the exact chemistry and method to create an approved plastic/coating will not match the FDA approval list and won't get approval on their own.
Coating
But there is often a way out by applying a proper coating, for example with a sufficiently thick food-grade Polyurethane coating for dry foods. This would render the item food safe under FDA standards for the approved appication. You'd need to adhere to the proper method to apply this coating (manufacturers add those to the labeling usually), which can at times be somewhat complicated.
Insert
Another way might be to add an insert that does follow FDA standards, for example, a steel cup for liquids.


PLA support material suddenly a problem on Ender 5 I have an Ender 5 that I meticulously calibrated with good success and was regularly getting great print quality with PLA. I stopped using it for a couple of months and when I resumed (without having changed anything), anything I print with support material is a real problem. The supports are really fused to where they touch the part and even tend to melt into the part. It ruins the print and isn't remotely removable without damage.

I've tried the other advice I've found here and from other sources: printing at cooler temps, increasing print cooling, checking bed leveling, etc. I was setting support in Cura, but switched to MeshMixer, which didn't improve the problem. Also, I had been using zig-zag pattern support, and lowered the density in settings, switched to tree supports...but nothing helps.

Before I resort to getting into granular settings to tweak how the supports are generated, am I missing something bigger, more general or more obvious? I find it strange that an idle printer started having such a specific problem.

As the commenter suggested (thanks, 0scar!), the culprit appears to have been a Cura update and a change to the support material settings.

In my case, the defaults for Z distance and even the X/Y distance for support material, in addition to the density, was creating very effective supports, but very tricky to remove. I should add that the model was a character sculpture, which I've since learned creates much more complex support scenarios versus the more uniform models I've been accustomed to printing.


Thermal degradation of 3D printed ABS (and other plastics) The short version of my question is:

  Are 3D printed parts made of ABS likely to survive for one year in an incubator at 80℃?

Please read on for more details.

I am printing some parts that will be used inside an incubator in a lab. They are likely to be used at 80℃ for at least a year, possibly even at higher temperatures than that. (But most likely under 100℃.)

We're currently using ABS for these parts. My question is whether 3D printed ABS will degrade under those conditions. (For example: will it become soft and slump; will it discolour; will it become brittle?) The parts clip together to form quite a big object, which is basically a rack holding a lot of glass vials, so it's important that it stays rigid.

I did find some papers on thermal degradation of ABS (for example this one looks quite comprehensive) but I don't have the experience to interpret them in terms of how my parts will behave practically. I'm also not sure if being 3D printed will make a difference.

If ABS is not suitable for this kind of application, are there other plastics that are? We're using the Zortrax M200, so our choices are the plastics listed here. I note that PCABS is listed as specifically being temperature resistant, so we might go with that - but we'd prefer ABS if it will work, since it comes in white rather than ivory (which is important for our application) and we have plenty of it available.

update: we decided in the end that using ABS is too risky, so we went with PCABS and we'll just live with the yellowish colour. (We might paint it white.) It's currently in the oven on a test run, and if it doesn't fail in a few weeks we'll take the risk of running the year-long experiment with this material. However, we would still very greatly appreciate advice from anyone who has concrete knowledge or experience of this kind of situation.

To answer your question briefly: No, ABS will not survive for a duration of at least one year at 80-100°C.

If you look at the chart above (from Tiganis/Burn), you'll notice, that the blue line (ABS 90°C) is decreasing. I did an eyeball calculation of the graph and arrived at the equation (J for break energy, h for hours):

J = -0.002h + 14

Based on that, a break energy of 0 Joule will be reached after 7056 hours or 294 days.

If you roam around internet forums on 3D printing, you'll find that that value is in the ballpark of people's experiences. I remember one case, where someone put out a piece of ABS in the sun and it broke down after a year.

Tiganis; Burn: The Effects of Heat Aging on Acrylonitrile-Butadiene-Styrene (ABS) Blends. In: Lacasse; Vanier (1999): Durability of Building Materials and Components 8, pp. 912-922.


Speeding up the heating of the heated bed Currently I am using a 12 volts, 20 amperes power supply (Model S-240-12)

The stepper motors and the extruder need 5 amp, and the heated bed build plate needs 11 amp.

Technically you only need to use a 12 Volts, 16 amperes power supply, but I understand that you use the one with 20 amp because pulse currents from extruders and stepper motors can be stressful to supplies loaded to the max, so for reliability and performance, it is better to use a supply rated for 25% more than you need

In the place where I buy the spare parts for my 3d printer they also sell 12 V power supplies capable of delivering 25 amp and 30 amp and they told me that if I use those ones you are going to be able to speed up the heating of the heated bed. Is that true? I understand that the heated bed is only going to take the 11 amp that it needs so is not going to make any difference to use power supplies capable of delivering more current

Changing the PSU with one with a higher amperage will not make the bed heat up any faster unless the PSU is underrated for the amperage required and the voltage is dropping as a result of the load. This can be checked by measuring the output voltage with a multimeter (when the PSU is loaded e.g. by a heating heat bed). In this case, the PSU has a marginal higher Amperage than the printer consumes (even has some room for the over-voltage; under the assumption that it is a good working PSU). Increasing the voltage will decrease the heat up time. There is a screw next to the 12 V connectors that can change the output voltage of the PSU. Usually, it is safe to increase the voltage up to 14 V, but that depends on your whole setup (and 14 V is applied to the whole setup, increasing the current for all parts, including your printer controller board, this board must be rated for the 14 V).  Please do check the stability of the voltage during load.
Although it can be done, it is not something I used. What is an extra minute on a print of several hours?
You can do the math: say the heat bed has a resistance of 1.2 Ω. We only need two formulas:

$U=R\times I$ - potential Difference U is Resistance R times Current I
$P=U\times I=I^2\times R=\frac {U^2} R$. The power P of an item the potential difference times the current through the item.

at 12 V that will draw 10 Amps (12 V / 1.2 Ω) resulting in a 120 Watt bed: $P= 12^2 \text V \times 10^2 \text A= {10^2 \text A}\times {1.2\ \Omega}=\frac{12^2 \text V} {1.2\ \Omega} $),
at 14 V that same bed will draw 11.7 Amps (14 V / 1.2 Ω) resulting in a 163.3 Watt bed.

Use at your own risk!
What you could do to decrease time to heat the bed without changing the PSU or the voltage is to insulate the bottom of the heat bed with heat bed cotton sheets or cork (placemats from IKEA ;) ), put a sheet of cork onto the heat bed before printing and start heating the bed through the LCD panel of the printer or any attached printer controller programs over USB prior to printing.


Is this articulated Turtle print failing because of over extrusion on a Taz Workhorse? I've been working on calibrating my Taz Workhorse, and was dealing with some under-extrusion issues, despite checking the e-steps on the extruder and relatively modest retraction settings (2.5 mm at 25 mm/second).

Lulzbot tech support suggested I boost my flow to 105 % to account for this, and the little Lulzbot gear that resulted was decent (note this picture is after some minor string removal).

I tried moving on to a articulated Turtle, and there's a consistent failure at 17 %, where you can hear the nozzle collide with a part and knock it off the print bed, followed by the usual mayhem.

From looking at the parts, it looks like all the small joints in the piece have a lot of excess material in them, causing an upward arc, and eventually getting high enough that they're well over the height of the next layer. That's where the collision occurs, presumably.

What's the likely cause of this? The increased flow? Some other issue?

Other settings are mostly the Ultimaker Cura defaults, but I've also turned combing and Z-hop on (combing, especially, to combat stringing).

Print Settings:

Lulzbot Taz Workhorse using Cura
Polylite PLA 2.85 mm
Print temperature: 215 °C (roughly the middle of the range, and where previous calibrations put me)
Bed temperature: 60 °C
Retraction: 2.5 mm at 25 mm/sec
Combing "on"
Z-Hop When Retracted "on" @ 1 mm
Fan Speed: I've tried 60 % (default) and 100 %
Print Speed: 40 mm/s
Flow: 105 %

It looks to me like you have corner curling on overhangs, which can be contributed to by a mix of:

overextrusion (poor dimensional accuracy of filament or wrong filament diameter setting)
uneven extrusion (due to changes in the print head motion faster than the flow response to changes in the extruder)
uneven cooling (especially due to proximity of one side to heated bed)
too little cooling

and possibly other factors. I would first try lowering the bed temperature. Technically you can print PLA on an unheated bed, but adhesion may be too poor. Dropping to 45°C (my preference now) should not hurt adhesion much and might help; it partly solved my corner-curling problems.

Both uneven extrusion and insufficient cooling can be solved solved by printing slower, but that's no fun. It works for uneven extrusion because, even under constraints on acceleration/jerk, print head can change direction almost instantaneously at low speeds, yielding near-uniform absolute velocity.

Uneven extrusion can also be solved by cranking up the limits on acceleration and jerk. This is a tradeoff because it might get you more vibration/ringing, and beyond the physical limits of your printer it may even start skipping steps and shifting layers (failed prints), but up to that point I think it's a worthwhile tradeoff. Effects from uneven extrusion are some of the worst, in my opinion, print quality/print failure issues, and worth other minor blemishes to fix them if needed.


How to change E0 to E1 on Marlin 1.1? I have the same problem as this person but I don't have those lines in my RAMPS.h file as seen here.

I've recently burnt my potentiometer on E0 so the motor isn't working properly anymore. I want to use it on E1 instead. If you have any better idea how to fix this instead of changing code in firmware, feel free to share.

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

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

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

is changed to:

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

and also change:

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

to:

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

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


Proper wire gauges for extending all CR-10S wires I want to extend all my CR-10S wires. I have two long wire types: 22 and 18 AWG wires. I've done some research and found the following:

Extruder heating element:  22 AWG or lower.
Extruder thermistor sensor:  22 AWG or lower (Doesn't really need much amp).
Fans:  24 AWG or lower (Doesn't really need much amp).
Limit switch/filament sensor: 24 AWG or lower (Doesn't really need
much amp).

Here is where I've problems determining which wire gauge to use:

Stepper motor wires: ?
Bed heater wires: ?

What's the wire gauge needed for the stepper motor and bed heater wires? Obviously, the bed heater needs more amp so I expect lower wire gauge. Is my 18 gauge wire enough for this?

On the Reprap site, it says that 18 AWG or lower is fine for the heating bed.

If my calculations are correct, a typical ceramic heating element for the extruder heating block runs 40 W. At 12 V dc, that equates to 3.33 A. A 24 awg wire is rated for 3.5 A, which means it barely covers the draw from the heater. A high torque Nema 17 motor will draw 2 A (which is probably heavier than most standard stepper motors in most 3D printing applications). Seeing as how the 18 awg wire is rated to 9.5 A, you should have no issue extending your wires using this gauge of wire for all of the extensions.


Would PC be considered food-safe in this setup? I have one 3D printer with Makerbot mk10 extruder and I would like to print my custom cup for tea or coffee from PC.

Other than that, I came across idea that FDM printer will always leave small holes on a surface, so they will be a perfect place for bacteria and make them hard to clean for dishwasher.

As far as I know, we have several techniques of polishing, like acetone vapor bath for ABS, however, I haven’t heard about something like that for PC and not sure if it's food-safe.

I also print coffee mugs.  I have used ABS for a long time, and, given the statements here and elsewhere about bacterial growth sites, have been attaching my life to a thread.  That's fine for me, but I don't make mugs for anyone else.

There are three areas of concern I've found so far:

The plastic may be toxic,
The machine itself, especially the nozzle, my deposit bits of lead (Pb) into the object, and
The small gaps may harbor pathogenic bacteria.

The toxicity of the plastic can be addressed by researching the FDA website.  ABS is generally safe, although additives could be questionable.  Also, for some reason the FDA lists ABS as safe, but not for use with alcohol -- so much for beer steins.  Since the actual MSDS for hobbyist filaments can be hard to get, I'm considering using a less controversial plastic.  PETG isn't good enough -- it softens at the temperature of boiling water (I know, I've tried).  My next attempt at non-ABS will be Poly Carbonate.  I have a spool queued up, but it is as yet untried.

The nozzle can be replaced with a stainless steel nozzle, which does not contain lead.  Perhaps because they aren't heated, no one seems concerned about brass feed gears in the extruder.

The layer gaps might be addressable by acetone smoothing.  I haven't had great results smoothing mugs.  The first problem is that after smoothing a lot of acetone remains in the ABS.  Even after a couple of weeks, when hot water is poured into the mug the acetone in the plastic vaporizes and creates bubbles in the surface, which completely defeats the purpose.  I've also seen more long-term age-related cracking in vapor-treated ABS.  This could also be due to gradually losing acetone and the surface shrinking.  If one were to use acetone smoothing, I would suggest post-conditioning the mug in a heated, partial vacuum chamber to encourage the acetone to escape.

The method I intend to try to seal the inside of the cup is to use a food-grade two-part epoxy.  I haven't done it yet, so I don't know how it will work.


default axis steps per unit Makerbot replicator 2 I can not find anywhere default steps per unit for Makerbot replicaor 2. I'm using Ramp V1.4 instead original board and need to know default steps :/

The Replicator 2 and 2x use 18 tooth GT2 pulleys, 1/16 microstepping, and 200 steps/rev steppers. That makes the proper steps/mm value 88.888889.

Note that Makerbot used ~88.56 steps/mm in their defaults, which is the value you get if you calculate from the belt+pulley pitch diameter from the Gates GT2 specs. But this is the value you use for calculating belt length required in a closed loop, not for steps/mm. The 88.88... number is more accurate.


How do you send G-code from a USB port with Python? I'm working on a project for my masters where I'm trying to detect print errors using object detection and I want to be able to pause the printer when a potential fault is detected. However I can't seem to figure out the correct way to send G-code to my printer from a Python script. Does anyone happen to know how this works?

The process is pretty straightforward, you open a serial connection and send the instructions over the serial connection. The printer reports "OK" when received (not when the command has been executed).
You can use pySerial to connect to a USB port with the correct speed, then send the command you want to execute (include the newline char).
You need to be aware that commands are buffered, if the buffer is full, the printer sends "OK" when there is a spot free in the buffer.
See this question on a sister SE.


The first layers while printing look strange I own a Geeetech i3 Pro W and I started printing today. Amazing how it works.

I just recognized while printing my first bigger model something very strange: At the beginning some parts are missing and there are huge holes. However when I keep it printing the following layers "fix" the issue. I'm wondering what I'm doing wrong.

I almost forgot to mention that I think I'm using that PLA, the bed has a temperature of 60 °C and the extruder 200 °C.

Here are two pictures after about 1 layer and after about 4 layers:

From the first layer image it can be seen that your nozzle to bed distance is just too large:

the lines of deposited filament e.g. in the brim are not touching,
deposited filament lines are not "squished" or "flattened" to the build plate,
filament is cutting off corners as it is dragged while being hot and not stuck to the bed,
filament leaves the nozzle in "blobs"; it sort of free flows from the nozzle as the bed is too far to give resistance.

Use the plain paper technique while levelling the bed. The paper should give a slight drag/resistance when pulled/pushed. Proper levelling and a proper nozzle to bed distance for the first layer are essential for successful prints.

There is also an option to integrally lower the print level in the slicer software, but it is advised to properly level the bed (hardware solution) instead of using software tricks to sort out the problem.


Why did my extruder motor stopped working? Before it stopped working, the stepper motor worked very well and didn't show any problem. I experienced this after I fixed a filament problem. The filament got stuck soI retracted to pull the filament out of the heat nozzle. But when I finished this, the extruder didn't work anymore...

I restarted the system but it didn't work. All the motors work fine, even the extruder motor. The A4988 driver has the right voltage at 1.0 - 1.2 V. I have already replaced my RAMPS shield and AtMega board, but it still does not work! I changed the extruder motor to another axis port and it worked good. The voltage input is stable at 11.2 V

I can't figure out why the extruder motor is not working for the extruder port?

I have found an answer. So dumb♂♂. It need to heat up nozzle before use extrude or retract command


What is the best way in SketchUp to align the bottoms of all objects to the x-y origin plane? A single object slices OK in Slic3r.  However, when I copy the objects and paste onto a guide point on the y axis to put five objects in the drawing, the slicing leaves out parts.  The worst object is below the y-axis by 0.01 mm, but SketchUp is not allowing me to move the object to the y-axis alignment.  I've tried decreasing the snapping length to 0.000001 mm, and even unchecking Enable length snapping. I'm looking for the best way to align the bottoms of all objects to the x-y origin plane.

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

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

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


3D print Configuration Cura - Anet A8 I'm new with my 3D printer, I just print two different pawn pieces from thingverse. I just used Cura to convert the files to be readable for the printer. Is my problem with the pieces has to do with the configuration from the Cura software? or with my printer itself?

Update:

I just printed a baymax that came with the SD printer. And it looks awesome. I think the problem is with the configuration from Cura.

That looks like horrible underextrusion. Either the extruder steps/mm are way off, but more likely is that your nozzle is clogged (because I wouldn't expect the steps/mm to be this far off). It's also possible that the temperature you're printing at is inappropriate for the filament you're using. Also, make sure that the fan that is cooling the heatsink of the extruder is always on. If not, filament may soften in places it's not supposed to and jam.

Try heating the extruder up and pushing the filament through by hand. You'll probably feel a lot of resistance and the filament won't come out smoothly. You could try doing a couple of cold pulls, that is, put a piece of filament in while the hotend is hot, then let it cool down and attempt to extract the filament at the lowest possible temperature. This may pull debris or particles blocking the nozzle out.

If this doesn't help, there are various other ways of clearing a clog from the nozzle. One popular technique is disassembling the entire hotend and burning out all the debris from the nozzle with a blowtorch. Another is using a special drill bit to clear out the nozzle but this has a high risk of damaging it.


Monoprice MP Mini Delta - How to get started? I just got a Monoprice MP Mini Delta from an Indiegogo Campaign, but it came with no printed docs.

How do I get started?

Updated Manual

Turns out an out of date manual was on the sd card that was included with the printer. But it was definitely out of date, as it referenced UI items that don't exist, and files that weren't on the SD card.

An updated manual can be found here
or possibly out of date here

Resources and sample files

A very helpful Facebook group has a bunch of files that are good sample prints. If your manual says you can print a cat.gcode you've got an old manual.
Note: Don't try and just google cat.gcode as I did. The model I found rammed the print head right into the bottom of the printer. The correct model works great (actually called auto00.g on the SD card)
Another great reference site appears to be https://www.mpminidelta.com/, and this reddit

Common Problems and Solutions
The following are some problems I had and their solution
Can't print custom models
If you find you can print prebuilt gcodes fine (cat,viking,toothless), but can't seem to print any other models without the print head ramming into the bottom of the printer and going off to the side, you probably haven't setup the autoleveling gcode that's required. You can add something like the following line to your software, in a "startup" gcode section. This is detailed in the manual (just search for G29), and more info can be found here
; auto-levels the build plate with a overall vertical
; offset of 0.3mm with a center offset of -0.8mm
G29 C-0.8 Z0.3

First layer doesnt stick
If you find your first layer isn't sticking, or it seems like the plastic is balling up, you need to adjust your startup gcode line mentioned above , so it has a lower Z offset, like Z0.25 for example
G29 Z[offset] ; raises
G29 Z-[offset] ; lowers

Notes

Please try a positive offset value first.
Each printer will require fine tuning in regards to the offset value.
Start with a higher value and decrease as necessary to get good first layer adhesion.
Using a negative offset value may send the nozzle digging into the build plate.


Recommended settings for ColorFabb Copperfill Filaments on a 0.25 mm Nozzle? I switched out my 0.4 mm Ultimaker 2+ Nozzle the other day for the 0.25 mm and started using a ColorFabb Copperfill 2.85 mm filament. I am having some issues with it clogging and sticking to the bed for larger prints:

Current settings are:

Extruder Temp: 230°C
Flow Rate: 110% (increased it from 108% get more consistent output)
Bed Temperature: 70°C

I thought it might be a calibration issue since I could see it skipping certain sections and slowly collecting excess material on the outer nozzle, so I recalibrated the bed but I still ended up with a blocked nozzle after about two hours of running. Not too sure if there are other settings I need to take care of. Any suggestions would be great!

It looks like a problem with feeding filament. It could be good to know if you did try such big printouts before but even if - from your picture it looks like on far end there is too less filament but on near end it's too much of it (because of 110%). And near the big circle it looks better even on far end. And there are "waves" close to big circle.

How is that possible?
Assuming that your extruder works well it might be caused by bending bowden tube. If your filament is not slick enough - in some settings (positions/arrangements) of bowden it might create enough friction so it doesn't flow with proper rate. It might be also caused if your bowden tube was bent too much (broken).

To be sure please try to print 4 smaller (5 cm in diam) circles on bed's corners and the one in the center. Just one layer of course.

How to fix the issue?
In my opinion you could try to slow down whole printout. Try to print such big circle with 30% of regular speed. I'm pretty sure you'll get proper results.

Try to check if filament goes smoothly thought the tube. Check if it has proper inner diameter. You can try to clean up a tube inside if it's not perfect clean or change a tube to new one. I know it was probably ok for recent filaments but maybe this one is more "demanding" ;)


Could I 3D print an airbrush? Could I 3D model and print a working airbrush in
PLA?

The problem with this I see is that the PLA takes and holds paint super well. I have painted it with acrylic a lot and it works great for models you want painted after printing.

I know next to nothing about airbrushing, but it seems to me like keeping a printed airbrush clean for re-use would be a big pain. It looks like they make the pro airbrushes with some kind of stainless steel most likely for the non-sticking purposes of re-use, which PLA just won't have.

That being said, don't be afraid to model it and try! I would make a suggestion that you switch to ABS and then do a vapor bath on the result to smooth out the material and possibly make it easier to clean excess paint out of.


Problems with Z-axis: Z-axis raised not enough at the beginning My printer had some Z-axis issue. Here are the details:

When I was printing a model, the bottom of the model got bumpy edges(as shown in pic), and the height of the model was a little bit shorter(about 5% shorter).

I thought it might be caused by the Zsteppers/mm. But after I tweaked up the Zsterppers/mm, the problem remained. I realized that the extruder raised not enough at the beginning of the printing. So I print a small cube which hight is 2mm. And the following pic is the result:

Does anyone know what might cause this?

Thanks in advance.

Here are my problem and my solution. Hope this will help others.

As @R.. suggested, I checked my carriages and as well as z-axis guide wheels(I think it is called guide wheel). And I found that the guide wheels were too tight. I can't rotate them will my fingers. So I used a spanner to adjust the eccentric nuts until the guide wheels can be rotated by two fingers. Do not make the guide wheels too loose, it may cause shaking or other problem.

Since I don't know the exact name of each part. I marked them in the pics. If you know the correct name of the parts, welcome to correct me, I will edit it in my post.

Special thanks to R.. :P

Here are the pics: