text:
What causes burnt corners?
Today I was printing some parts and I got these burn marks at the corners:

This is the first time I see this on this printer (Anycubic I3 Mega). I was using more or less the same settings (in Cura) as always, although I was using a new roll of PLA from a brand I haven't used before.
I was printing several parts in one job:

Most of them are somewhat affected:

Printing temperature:    200 °C
Build Plate Temperature:  60 °C
Printing Speed:           60 mm/s
Travel speed:            200 mm/s

Hi, please post some relevant parameters. In particular, your extruder temperature and the various print speeds.  That'll make the answers you get more accurate.

Perhaps a bug crawled into the extruder and got torched. I once saw wings in one of my 3D prints.

In addition to this answer which addresses what is actually the cause (but doesn't explain where the burnt corners come from), I've added some information why this is showing burnt corners.
You are printing PLA at a too high of a temperature and do not have sufficient print part cooling enabled (either in the slicer or limited by the fan duct design). The higher the temperature the larger the shrinkage of the filament is. When printing overhangs like the slanted models you print, the last deposited layer has less surface contact area with the previous layer and therefore the shrink stresses may overcome the adhering stresses (it is also more easily weakened by the heat input of the last layer). This results in curling up, especially in corners as the heat input comes from two sides. When the corners curl up, the change of hitting the sides of the nozzle increases. When the outside of the nozzle is covered in burnt filament, the curling corners may pick that up. This results as if the corners are actually burnt.

After observing the print process more closely I think this is what is happening.

Looks like overheating and insufficient airflow at the same time.
Try to reduce the temperature of the nozzle by 5-10 °C and increase print part cooling.

There are several possibilities:

Could be burnt material on the extruder getting dislodged when the head changes orientation on the corners,
Could be that the extruder stays a bit too long on the corner,
Could be that you have a bit of overextrusion and the material get burned as it stay in contact with the extruder for a bit too long.

It's not easy to tell, but my impression is that these burn marks are in the extruded stream, not an additional "blob" falling off the extruder head.

Might be burnt material inside the printhead then, you should do a deep cleaning of the extruder.

There are two problems here. One as was mentioned earlier is that your temperature is too high and the cooling is not sufficient. The fact that one corener is affected more than the other can point to non uniform cooling (try using a cooling shroud like: https://www.thingiverse.com/thing:2004629 for more uniform cooling)
Another problem could be that your flow multiplier is off, this is often more noticeable in the corners. Try reducing the flow multiplier in your slicer settings.

Could be a dirty nozzle and temperature too high. When the head changes direction on the corner, the nozzle wipes off burnt PLA. This might explain why there are no dark marks on the long runs and only the corners.
Heat nozzle up and clean with acetone and then see if the problem persists.

Acetone sadly doesn't dissolve PLA


text:
How does a 3D printer software/firmware work
I have been working on a printer project that basically is a 2D printer (dot matrix type). We are using solenoids as actuators to make impressions on the paper. We are now in the process of designing custom software. But a problem that we have encountered is that we have no idea how to design software as we are a bunch of beginners in this field.
An idea we are working on is based on position-acknowledge technique. In this technique the computer sends G-code to the controller. The controller after reaching the position defined in code sends an acknowledgement and the computer then sends the next signal. This is the model we are currently working on.

Can anyone suggest any other ideas to make this work?
Is Our approach right?
Do 3D printers work using same technique?

See also https://electronics.stackexchange.com/questions/26723/does-gcode-require-a-response-code-from-the-interpreter

You appear to be asking about rate-limiting the stream of G-code provided by the computer, but some more context in your question will help if this is not the case.
Printers tend to work in two ways.

Read G-code from local storage as a text file. Here, the parser/control engine is in full control.
Stream G-code over a serial port using an 'ack' handshake.

The reference for G-code used in 3D printing is the RepRap Wiki. Here you will find responses such as ok resend and fatal, these indicate when a previous command is processed and something else can be sent, if the previous message was identified as corrupt, or if recovery is impossible.
The basic rule for this style of handshake is that after every host to slave transaction, the host must wait for some response before sending another transaction. The slave could send either ACK responses, or other asynchronous transactions if you can design the system to avoid or not care about overrun in the slave to host direction.
When designing a handshake like this, you can consider all possible ways for something to go wrong (assume the interface is imperfect). How can you handle a request being missed and no ACK ever? When there is a timeout, can you make a 'benign' request to see if the printer is still connected, etc.

Nicely answered! It is exactly the responses of the machine which can bug up other software, see e.g. this answer.

3D printer firmware use gcode that is derived from CNC and no acknowledgment. They send movement commands to the stepper motors like G1 X10 Y10 to move the printhead 10 mm along the X and Y.
You could use a ready 3D printer firmware like Marlin on a 3d printer board and use the X-axis or extruder output to couple to your solenoid, sending a G1 Z0.1 or G1 E0.1, which will actuate it for a short time. You might even use E and Z on different solenoids.

Are you interested in receiving the instructions correctly, or interested in how the instructions are executed by the hardware? This answer doesn't go into the software communication between controller board and software that sends the instruction from another software/hardware platform  (see this answer), this answer addresses the positioning/movement.
Most of current 3D printers do not track the position of the print head. The software instructs the head to go somewhere, but it never checks if it actually arrives at that exact position. Problems like missing steps of the stepper or skipping notches on the belt are not detected and the printer will continue thinking it has reached the position.
Skipping of belts is a mechanical issue and should not occur (nor can be detected unless there are stepper steps missed), but skipping of steps is something that can be detected by certain type of stepper drivers (trinamic). Steppers do not use a feedback loop to check the final position. Servos, opposed to steppers, use a feedback loop, and as such are able to reach the position as instructed, but this comes a an increased cost, servo's are more expensive and hence not found in most of the "cheaper" 3D printing machines.
It is up to the designer of a 3D machine to choose the motors for the positioning system, if it is not highly loaded, you go for steppers without a feedback loop, or in higher loaded machines for servo's (basically steppers with some positioning electronics for the feedback). In case of a stepper you hope that it reaches the destination you tell it to go to, for a servo, you known that it reaches that exact position.
To get back on topic of your question, there is no feedback on reaching the position (you call this acknowledgement), you just send the G-codes sequentially or in a buffer to the printer electronics which executes the statements one at the time (this is done by the firmware, this this answer for replies of the machine on the code it receives). It is your choice of the hardware that actually determines whether this is executed like instructed. Do note that most machines are not highly loaded (the 3D printhead is not very heavy and normally does not hit any obstruction in its path as Z advances) justifying the use of steppers without the need for feedback. CNC machines, certainly the larger ones, that position a highly loaded cutting tool need such a feedback loop as the positioning needs to be very exact. You need to consider the forces at play in your paper punch machine, but from my point of view, your machine does not seem to be highly loaded. In such a case you are not in need for a more expensive positioning system, nor the need for the processing of a return/feedback signal in your custom software.

Note: detecting belt skipping can be detected equally: you just need a feedback sensor which include the belt in the loop. However I agree that poor quality 3D printer who usually use belts will not have this feedback. Considering ball-screw mechanisms, they just cannot skip, and also provide more rigidity.

The CNC system, and simplifying intentionally, is divided into several steps:

Acquisition of the g-code: This depends on the platform, whether is a file from an USB flash-memory, network or direct input from the operator. G-code operations needs to be buffered in a quantity enough to allow some "look-ahead" in the program.
Parsing of the g-code: Parsing of any formal language is based on "formal grammars" theory https://en.wikipedia.org/wiki/Formal_grammar. Fortunately, g-code is one of the simplest grammar of the Chomsky hierarchy. Language parsing is a full topic in itself, and it follows lexical, syntactical and semantical analysis.
Driving: It exists several different strategies:

Open-loop vs closed loop: In closed-loop CNC, sensors provide a feedback from the movement, allowing the driver to fix deviations (e.g. no step lots). Those systems are more expensive and usually not available in cheap 3D printers. In open-loop CNC, the driver send signals and "hope" the machine will follow, this is the case of most cheap 3D-printers, where if you block the head, it will lose steps.
Synchronous vs asynchronous (not sure about this naming): In synchronous systems, the driver send a single step for each axis each loop (one step forward, no step, or one step backward for each of the x, y, z, a... axis). In each iteration, the driver establish which steps need to be activated and send it; the speed of the movement depends on how fast this loop is performed. In Asynchronous driving, the loop run at a specific speed and apply steps as needed to correct the distance between the previous/detected position and the expected position.

Acquisition and parsing of g-code can be performed in soft real-time, however the driving needs hard real-time, which precision determine the maximum speed that your CNC can manage.
The servos/steppers usually cannot manage infinite acceleration, this is why the system needs to read g-code instructions ahead to anticipate closed angles or changes in direction. It should then reduce the indicated speed down to something which allows the next instruction.
I hope this give a quick introduction to the topic, obviously, each aspect needs further reading.

source: Stack Exchange

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

sort: votes


text:
Marlin 2.0 - set stepper drivers?
I have an Anycubic Delta with a Trigorilla board. I have swapped out the A4988 drivers for DRV8825.
Currently, I am assuming it is using the A4988 drivers as the steppers are making a quiet growling noise. Kinda like a grating, coarse hum.
When I put the A4988 back in they are as smooth as always.
Where do I tell Marlin 2.0 that the assigned board has the DRV8825 drivers?

In the configuration.h file of Marlin 2.0.x you can define which stepper driver type is used to drive the stepper in the Stepper Drivers section.
You can choose to use the following constants from the array to configure the correct driver:
['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE']

And update the section that links the steppers to the stepper driver by updating the following section of the configuration.h file.

//#define X_DRIVER_TYPE  A4988
//#define Y_DRIVER_TYPE  A4988
//#define Z_DRIVER_TYPE  A4988
//...
//#define E0_DRIVER_TYPE A4988
//...

by removing the // in front of the driver specification and update the constant of the correct stepper driver:

#define X_DRIVER_TYPE  DRV8825
#define Y_DRIVER_TYPE  DRV8825
#define Z_DRIVER_TYPE  DRV8825
//...
#define E0_DRIVER_TYPE DRV8825
//...

This results in the use of specific timings for the specific drivers. To be honest I have never set these constants when I used DRV8825 stepper drivers on my RUMBA board and my motors are operating smooth without these settings.
What you do need to look out for is when you replace stepper drivers is whether the micro stepping jumper settings on the board are correct for your stepper driver! I needed to set the jumper switches in a certain position to enable the 1/32 micro stepping functionality for the DRV8825 drivers. Knowing that the maximum micro step for the A4988 is 1/16, you also need to look out for the steps/mm; with more micro steps, you need twice as many steps per mm when you go from 1/16 to 1/32; e.g.:
#define DEFAULT_AXIS_STEPS_PER_UNIT   { 80, 80, 4000, 500 }

would need to be changed to:
#define DEFAULT_AXIS_STEPS_PER_UNIT   { 160, 160, 8000, 1000 }

Also, did you tune the new stepper drivers correctly? When you receive the stepper drivers, they are usually not tuned and the position of the potentiometer on the driver board is undefined! You need to calculate the correct $ V_{ref} $ for your stepper driver in use for the specific stepper you have (max current that the stepper can handle). For DRV8825 stepper drivers, the maximum current is defined as:
$$ A_{max} = V_{ref} \times 2 $$
For example, if you have a stepper motor rated for 1.4 A, you limit the current to 1.4 A by setting the reference voltage ($ V_{ref} $) to 0.7 V. More details are found here.

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


text:
Problems with bed leveling of Creality CR-10 Mini
So I've had my CR-10 Mini for some months now, and I've been continually having strange problems with bed leveling. Basically, after leveling the bed and printing a part, the bed is no longer leveled for printing again.
Just now, I auto-homed, leveled the bed to where there was a pretty good amount of friction between the nozzle and a piece of paper, and started a print. The first layer didn't look like it was getting squished just that little bit that it should be, so I stopped the print, auto-homed again and checked the leveling with the paper. Low and behold, there was no friction at all between the nozzle and the paper. I re-leveled again and restarted the print, and then the first layer went down OK.
So what I'd like to know is why the heck am I having so many leveling problems?!? I've checked to make sure all my set screws are tight, my belts properly tensioned, and the rollers on the bed adjusted to slide smoothly but still have a good amount of grab. Help?

i've noticed bed temp can affect leveling on my non-mini CR10; try to preheat the bed before leveling.

The Creality CR-10 Mini is a portal printer using a single Z lead screw at one side of the portal to move the whole X axis gantry. This implies that the X gantry needs to be very stiff when raised and lowered from one side and also have a minimum of play on the rollers (especially on the lead screw driven side).
I have seen many complaints from experience of people complaining that the gantry is not stiff enough, or that there is too much play on the rollers on either side of the gantry to result in a skew gantry. Consistent leveling is very hard on such machines. A colleague of me added an extra stepper (and split the original stepper connector) to have it raised and lowered from both sides. Do understand that this is also not optimal, missed steps on one of either sides can also cause the X gantry to become skew. A better solution is to create a belt driven extra lead screw that is powered by one stepper, you will not experience a skew gantry as the gantry is integrally moved.

Hmm..... good to know, I'll pay attention to the gantry next time I level for a print and see if I can confirm that's the issue.

I know this is a bit late, but I just saw it.  I have had my Mini for about 2 months now.  I noticed a similar problem and found that when I level the bed, I need to hit all 5 spots (4 corners and center) about 4 or 5 times.  Just the slightest adjustment on one corner can throw another corner off.  It's tedious, but worth it once the bed is level.

good advice - and it is for all printers like that.


text:
Cura doesn't slice
I can launch Cura with no issues, it runs fine. I can import objects and change settings, but when I click 'slice' it doesn't even show a progress bar on 3.6.0 and on v4 it shows a progress bar but there's never any progress.
I've looked in %appdata%\cura\4.0\cura.log and it just stops at an entry like this:

2019-01-11 20:38:46,714 - DEBUG - [MainThread] CuraEngineBackend.CuraEngineBackend._onStartSliceCompleted [430]: Sending slice message took 0.7397589683532715 seconds

I looked in task manager and the system idle process has >95% cpu (cpu is almost completely idle), and like I said I can use Cura just fine (no stuttering when I rotate objects).

The culprit was ZoneAlarm firewall.
Cura runs and talks to another executable (CuraEngine.exe) for slicing, and ZoneAlarm never asked me whether CuraEngine should have the access it needed, so it got blocked.
Here are the steps I took to fix it:

Open ZoneAlarm
click the firewall tab
click where it says "X programs secured"
under "View Programs" you'll see a bunch of program names. It takes a while for my list to populate, you may have to wait a minute here.
Find the entry for cura.exe (you can order them by alpha) and set "Outbound Trusted" to Allow
Find the entry for "Slicing engine for Cura" (that's how CuraEngine.exe is listed). Set "Outbound Internet" to "Allow" and set "Inbound Trusted" to "Allow" (this will implicitly set "Outbound Trusted" to "Allow" as well).
Click "OK"

You should be good to go. I didn't even have to restart Cura. I just hit 'cancel' on that slice and then clicked 'slice' again and it worked.
From my testing, the settings in 5. and 6. are the minimum you can allow and still get it to work.

Welcome at 3D Printing.SE! Thanks for sharing your experience, I have struggled many times to find a similar solution for other applications that call executables instead of dll files. The actual slicing is indeed done by the engine of Ultimaker Cura, a separate executable.

Sounds like another app never to install in the first place. BTW, your name seems to conflict with your current OS  :-) .

authors: ทำอะไร ก้อผิด


text:
Bed leveling compensation not working!
I have a DIY 3D printer that uses a probe as z min limit and bilinear bed leveling. The problem is that bed leveling compensation sometimes doesn't work.
This is in my starting scripts in Simplify3d:

M106 S200
G28
G29

Upon printing, it turns the fan on, home all axes and bed leveling is done perfectly but sometimes when I start printing, Z-axis compensation doesn't work. It's random, often when I restart my PC it fixes the problem.

You don't have much information for us to work with, unless you can replicate the problem that it is not occurring sometimes, it is really difficult to answer the question. Can you somehow troubleshoot the problem to find under what circumstance this happens? Also, printing from PC to printer is not recommended, when your PC crashes or shuts down, your print will fail. SD-printing or use of a dedicated printer server (Raspberry Pi with OctoPrint) is much more safe.

What kind of printer design in general are you using? do you have a Z-limit switch or do you use a probe to ge Z? Do you possibly use mesh bed leveling?

I use Arduino Mega+Rams 1.4 combination... my printer looks a lot like prusa i3 printers. I use a probe for min z axis and bi-linear bed leveling.


text:
Gap between infill and walls for one filament only
When I'm printing with my Chromatik filament white, 1.75 mm in diameter, I observe a gap between the infill and the walls (see picture).
Everywhere on the web I can find explanations for this kind of problem (apparently it's the symptom of loose belts), but I have this problem for this filament only. I have the filaments Chromatik electric blue and Octofiber black and I don't have this issue with them. I tried to increase the temperature by ~10 °C, but it didn't have much effect.
Have you ever seen that guys? I repeat, it's with this filament only.

I have observed similar issues between walls, not necessarily between the infill and the walls.
It is most likely that the viscosity of this filament is way different (less fluid) than the other filaments you print. Not only mechanical issues (to be precise: inaccurate positioning e.g. caused by loose belts) could play a part in this, but also printing speed. A more viscous filament needs more pressure and time to get the filament through the nozzle. This is exactly what happened in my case, because of different wall speed line settings (inner and outer), the filament did not flow fast enough leading to under extrusion. In your case you probably also have a higher infill than wall speed, so lowering your infill speed may mitigate your problem. Also, most slicers have an option to define the overlap between the infill and the perimeters/walls, you could also increase that for this filament.

It makes sense. I decreased the inner wall speed (60 to 45 mm/s) and the infill speed (60 to 45). The outer wall speed is still 30 mm/s. Print temperature increased by 5 °C. The issue is totally fixed. I know there shouldn't be any reason to expect it, but still, I'm a bit surprised that for the same brand of filament print settings need to be so different.


text:
How to clean up my build plate for a new build surface?
My ender3 came with a BuildTak-clone surface, and as I was a little too vigorous in getting the print off the bed (I had failed to level right and printed a bit too tight to the bed, resulting in SUPER strong adhesion), I needed to replace it.
Peeling off the black was easy. The plastic sheet that held the glue was easy too... but how to clean up the bed to get the residue glue off and prepare for the new 3M sticker?

No personal experience so I'm not adding it as an answer, but I've seen Goo-Gone recommended by GeckoTek.

In my experience, we deal with 3M™ Adhesive Transfer Tape 468MP; high-temperature glue residue. To remove the leftover glue from my Aluminium build plate I found that it works best if I apply paint thinner.
I ran out of acetone for one refurbishment so I tried thinner and white (cleaning) spirit; the latter option did not work well. However, thinner worked very well. I got a bottle of "thinner" at the hardware store's house brand and found it to be more aggressive stuff than turpentine or acetone. I had tried those latter 2 but found that "thinner" works best.
Putting the thinner fluid on paper cloth directly to clean the glue did not work well. I applied the thinner directly onto the glue (splash it on), waited for a while to let it soak in to weaken the bonds after which you can remove it with a spatula and kitchen paper towel.
The exact contents of paint thinners are not always available but they contain various hydrocarbons.

I just checked my cellar and found the one "Waschbenzin" (~solvent petroleum) have to contain "C6-C7 N-Alkane, ISO-Alkane, cyclic hydrocarbons, <5% N-Hexan" and marked with a CAS number; the other bottle labeled paint thinner just says "hydrocarbons, keep material and fumes away from flame"

"Waschbenzin" ("white spirit") or in Dutch "Wasbenzine" did not work for me. The sticky residue did not solve, it did  with paint thinner.

The results can be quite different it seems, based on the exact mixture.

Cleaning up the aluminium build platform was rather easy in a three step process as I figured out:
Preparation
Get the old bed-surface off and any film layers that stick to the original glue. Don't bother to try to scrape off the glue, it is wasted time.
Solvent
To remove the sticker's residue, I first tried heat and 70% isopropyl alcohol (aka isopropanol, 2-propanol), which was not very effective.
What did prove effective was nail-polish remover on the base of acetone. It worked like a charm to turn the sticky film into easily removable, goopy clumps. With small doses and a lot of rubbing/massaging it into the residue and careful use of the scraper, all the glue was gone after about half to three-quarters of an hour of work.
In subsequent replacement, I used paint thinner, which is more effective in goopifying the glue and allowing to scrape it off much faster. 10 minutes max.
Cleanup
After applying the generous amounts of nail polish remover, I thought that it might be best to get any of the additives that were meant to protect the skin off the bed - as well as the slight blue coloring - before applying the new tape. So I gave the aluminium a good wipe down with isopropanol.
In subsequent replacements I used ethanol 98 % to clean the bed before applying, just to make sure no fingerprints or glue residue creates bumps.
Applying the new bed surface was easy afterwards, and after a quick bed leveling, the printer runs like a charm again.

Following up from Charles Duffy's comment, I can confirm that adhesive remover containing D-limonene is an effective way of removing remaining glue when replacing an Ender-3 platform sticker. While “Goo Gone” was named in the comment, I used a similar product, Goo Buster.
Goo Buster turned the glue residue into a water soluble gel that was easily removed using a plastic scraper, with final clean up using a wet paper towel. While D-Limonene has a pleasant citrus fragrance, it is an irritant, and these adhesive removers typically also contain petroleum products and surfactants.
As ever, use care when using solvents near electrical devices such as 3D printers. Ensure the device is isolated from power and all parts are clean and dry before operating.


text:
Small structures are deformed after switching to Duet Wifi
I just switched to the Duet Wifi board (used MKS Gen L 1.0 before) and now small structures look terrible. From my observations the hot end moves correctly, but almost no filament gets extruded. On the other hand larger structures look very good. With the MKS board the exact same G-code worked fine.
After that I gradually disabled many features like coasting, wiping and even retractions altogether, the quality only improved by a tiny margin.
Example print (the two towers should be cylinders):

Additional information:

Printer: JGAurora A5
Material: PETG
Slicer: Simplify3D

More info (edit):

Hot end temperature: 225 °C (for the affected layers)
Bed temperature: 60 °C (I corrected the thermistor data, it's equivalent to 70-75 °C on other JGAurora A5 printers)
Nozzle diameter: 0.4 mm
Part cooling fan: 100% (improved cooler duct by Da Hai Zhu)
Print speed: 50 mm/s (50% for outline)
The cylinder is printed hollow because of my infill settings
Lubricant is fresh, belts are tightened, so there should be no mechanical issues

Welcome to 3DPrinting.SE! Could you edit your question and put the rest of the parameters in there, such as heat block temp, bed temp, cooling, etc. The more information, the better.

Your print looks as if it was printed way higher than 225 ℃, furthermore PETG doesn't need 100% cooling, but that is not your problem here. Is the right thermistor type chosen in the firmware?

@0scar Well I basically took the temperature table from my previous firmware (https://jgaurorawiki.com/a5/firmware), which was measured by someone else (worked fine with the MKS), and reverse calculated 3 entries. Then I used a thermistor calculator to get the beta-value for the Duet. Is this too unprecise? Measuring the actual hot end temperature is a bit difficult for me because I can not properly attach a thermocouple without burning the attachment of.

@0scar I just found about the method of removing the nozzle and then inserting the thermocouple. The actual temperature is 10°C lower.

@dav20011 Technically it does not matter what the sensor reads, it is just a reference for us as humans to relate the temperature on the filament box to the machine. From the image you provided it looks at if it was printed at 250 ℃, you should try to lower the "actual 225 ℃"  to a value that gives you a viable print. The duet has RepRapFirmware, the MKS has Marlin, somehow possibly, the temperature translation must have been done incorrectly.

Where did you get the values for RepRap firmware?

To complete this, the issue was related to the part cooling fan not spinning correctly. After replacing it the problem was gone.

Do you need the values for the stock thermistor? I might still have them around somewhere from my own measurements. The values from the custom MKS firmware are also not totally correct as I stated before.

Good to see you solved the problem and took the time to share it with us! But that is not where the comment section is for. Please create and accept your answer (after 48 hours) so that it does not pop up to the top of the queue once in a while. This also will help us reducing the unanswered questions list.

Comments are ephemeral in nature and will be deleted. Comments are not recommended for any of the following: Answering a question or providing an alternate solution to an existing answer; instead, post an actual answer (or edit to expand an existing one);. Please post an answer instead. Thanks.

The OP found the solution and shared this in comments but has not written a proper answer. The OP found:

To complete this, the issue was related to the part cooling fan not spinning correctly. After replacing it the problem was gone.

This actually just looks like heating issues. Cura has an option to set a minimum layer time and speed, and any layer that takes less than that amount of time it'll lift the head away from the print to allow the plastic to cool.
Unfortunately, the only things I can find for Simplify3D around head lift and minimum layer times are software feature request posts from 2017, or some features around scaling print speed for small layers, but unfortunately that'll just print the same object much slower and may not properly allow the part to cool as the melting-temperature print head is still sitting directly on top of the part.
I hate to be someone to suggest a software change, but you might try using Cura and seeing if you get better results with features such as this.

Scaling print speed is usually superior to the lift-and-wait method. My experience with lift-and-wait is some filament will seep from the nozzle during the wait time, creating a problem when printing resumes.

This question has an answer by the OP in comments, please unfold all comments under the question to see them all. @Greenonline could you convert the comment of the OP to an answer?

ah I hadn't seen that. Upboated the comment in question. @JoelCoehoorn, I've had the issue you're describing but for very small parts I found the little tags were easier to dispose of than dealing with the feature collapsing due to radiant heat from the block.


text:
Z-axes out of sync with Simplify3D
I have a Robo 3D R1+, and I'm using the default Simplify3D profile for it. When I finish a print, I notice that my X gantry is way out of level. The right side is visibly higher than the left side. So much so that it won't even auto-level on the next print. What that tells me is during the print, the Right z-axis is moving up faster than the left. It also ruins the print.
I do not believe this is a hardware issue, as when I use the Craftware slicer, it works properly (I tried the same model with both slicers). Is there a setting or something I need to adjust in Simplify3D to get this to print properly?
If you would like to see the G-code for the CW and S3D models I was testing with, you can download them here:
G-code download (Google drive)

Feed rate for Z axis is too high; probably your firmware has not limited that speed and your settings within Simplify3D is taking the fastest speed.

What you are describing is not possible as a result of changing slicers, this must be an intermittent hardware issue.
The slicer has no knowledge of the hardware layout of your machine (other than the build volume and gantry dimensions; if properly configured), it just creates slices of the model you present which are found in the G-code file as Z movements. In case multiple Z steppers are used to move the X gantry, these are usually driven by a single driver, but if they are separately controlled, even in the G-code file the instruction would be to move up Z in total, not per stepper. It is the firmware of the 3D printer that translates this Z level in movement for your 3D printer based on the layout of the machine and the firmware settings.
The CraftWare G-code file does show some inconsistencies with respect to the Simplify3D file in that it does not use G29 and has a too large first layer height of 0.45 mm (this is larger than you nozzle diameter of 0.40 mm, you should always limit that to about 75 % of your nozzle diameter).
For an X gantry to become unlevel/skew, there must be a mechanical issue that is causing it to miss steps/prevent advancing at one side. It is possible that one of the shafts or lead screws has some more friction than the other (generally it is not a good idea to grease the screws as dirt easily stick to the grease, a light oil may be better suited). This is not uncommon for Prusa i3 clones and is usually fixed by resettling the leadscrew nut by loosening and tightening the screws which attach the nut to the X gantry idler. It is unclear if this is your problem here with this specific machine.
To be fair, uneven displacement of any axis powered by 2 separate motors (driven by separate drivers) could be induced by the slicer when unrealistic high accelerations and incorrect hardware/electronic settings are employed.

I ended up removing the G29 line from the gcode, and it doesn't do it any longer. So yeah it probably is the firmware. This is good enough for me at the moment, as the printer prints successfully again.


text:
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.)
 */

would you please add the source code line and the pages you quote? Otherwise perfect answer

Math
In math, there is a way how a path is to be followed, and that is usually counterclockwise:
Assuming a perimeter path of a circle with $r=1$ around $(2,2)$, then the  path can be defined as $f(p)={{\cos(p)+2}\choose{\sin(p)+2}}$ - where $p$ is the path parameter, in this case an angle of 0 to 360°, and just increasing the angle rotates right hand around. If we had the same path but a different starting point, a shift by $\theta$, then the path would read $f(p)={{\cos(p+\theta)+2}\choose{\sin(p+\theta)+2}}$. So math is usually counterclockwise.
Slicers
Every slicer is applying math. As far as I can tell, any Slicer generates a perimeter path, which is always performed in the same way if sliced with the same settings. For one case look at this:

Counterclockwise starting from a 7 o clock position in this case. However, other slicers or other objects on the printbed might use other engines, thus doing it not that way. They might go clockwise since solving a path with $p=0°\to360°$ and solving it $p=360°\to0°$ results in producing the exact same print, just opposed print direction of the perimeter.
As long as the perimeter of an object is solved as being done as one closed loop, the perimeter will need to have just one, prescribed direction. This direction will be clockwise or counterclockwise depending on how the slicer exactly solves its calculations. Since both directions are equally valid, it is a programmer's decision. A programmer might even prescribe clockwise or counterclockwise solution based on any factor they wanted. They might use layer number (for alternating directions) or a user setting or even an RNG, if they wanted to.
On the other hand, how the memory is operated and written can also result in the path and the math looking differently. Two examples:

Solving the path correctly counterclockwise and putting the slicing into a FILO memory, resulting in a clockwise operation starting from the last solved point.
Solving counterclockwise and saving into FIFO, running counterclockwise.

Conclusion
Slicers for 3D printing have a hard-coded way to choose the direction that is followed when producing G-code. Any and all perimeters will be printed, starting from some arbitrary point, into that direction. In the end, it is a choice of the programmer of the slicing engine that determines if the path is to be run down "forward" or "backward" in mathematical sense.
Addendum
Slicers are derived from CAM programming. CAM - computer assisted machining - takes into account one more thing when solving the tool path that is not relevant to a 3D printer: The direction of the fluting of the tool. In fact, this one will determine into which direction the path will give a better cut and changing the fluting should swap the path direction to ensure best results.

@Thetravellingfool Path theory is commonly taught in Analysis lectures and textbooks. In my case, it was the class Math for Physicists III. FIFO/FILO are data storage informatics (First in, first/last out). Cura I can only carefully observe.

@Trish, The addendum is is a little misleading. The fluting "direction" has nothing to do with the path. That only matters to the spindle. Changing the path is only necessary if you are doing climb vs conventional milling. This relates to the quality of the cut, not the ability to cut.

@user77232 good comment, fixed up.


text:
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.

The value of Z can be found in the G-code file; if all layers are 0.2 mm, you can just look up parameter Z5, Z10, etc. in the file, there is no need to count for 25 layers. Positioning is usually absolute, not relative, for most slicers. Insertion of a dwell time (pause) is usually not necessary as the temperature steps are not that high, but nice addition if you want to be precise!

A little math goes a long way!  Watch out for 1st layer having a different height due to adhesion options (like in my file above).

Under the Extensions menu in Ultimaker Cura, there's an option to add post-processing scripts. One of these is called TweakAtZ, and it allows you to override certain print settings when the printer reaches a certain Z height. Multiple overrides can be specified for different heights.
TweakAtZ has been bundled with the standard Ultimaker Cura download for some time, but if your version doesn't have it, you can download it from GitHub.

authors: جبوري العبدلي


text:
Marlin: Making any GPIO pin HIGH for a given time
Is there any way Marlin Firmware supports G-code that can make a pin "high" and keep it at that state for a period of time specified?
I have made a machine, which runs on Marlin Firmware, that is a mould forming tool, that would make a mould into a powder, then another tool would come over this mould and dispense some liquid in it. I have a custom GUI to move the tools to given coordinates, press a mould, position the second tool over the mould.
For dispensing liquid I'm thinking about buying a diaphragm valve. I've downloaded the user manual for it. As per the documentation, when compressed air is given to valve it will lift diaphragm and will start dispensing. The amount of liquid it dispenses depends on the how long the valve is opened. So I'm thinking about using a relay to turn a solenoid valve ON and OFF to supply air to the valve. To turn the relay ON I need to make a certain GPIO pin "high". Is there any way I can do this in Marlin Firmware?

As explained in the comments by Tom, you can set any port directly from G-code using the M42 command. To set pin 22 "high", you need to call M42 P22 S255. There is no parameter to add time to the command, so you need to add that yourself using G4 (dwell or pause) to specify how long the printer needs to wait for the next instruction, e.g.:
M42 P22 S255 ; Activate solenoid/relay
G4 P2000     ; Dwell/pause for 2000 milliseconds (2 seconds)
M42 P22 S0   ; Deactivate solenoid/relay

As an alternative, you could use the existing fan if that fan is unused in your machine (or add an "extra fan" in the firmware and send the value 255 to that fan). To use the existing fan:
M106 S255 ; Activate solenoid/relay
G4 P2000  ; Dwell/pause for 2000 milliseconds (2 seconds)
M107      ; Deactivate solenoid/relay

How you add an extra fan is already described (for a specific RAMPS board) in this answer. However, the answer is valid for other boards as well, as long as you have exposed pins you have access to (or if you can solder directly to open pins), you can use the described technique.
The G-code to activate the "extra fan" (solenoid) is M106 P1 S255 disabling would be M107 P1. Note that there is an option/parameter to add time (Bnnn Blip time - fan will be run at full PWM for this number of seconds when started from standstill) to the M106 command, but that is only implemented in RepRapFirmware. An alternative is to use G4 (dwell or pause) to specify how long the printer needs to wait for the next instruction (M107) is being parsed, e.g.:
M106 P1 S255 ; Activate solenoid/relay
G4 P2000     ; Dwell/pause for 2000 milliseconds (2 seconds)
M107 P1      ; Deactivate solenoid/relay

You can also use M42 which allows you to toggle any pin, even if it's not a fan or anything else.

@0scar I have tried to understand pins.h of marlin. In your answe, you xhose pin number 22. By referrring to pins_arduino.h for mega, that pin curresponds to Digital Pin 22 of Arduino Mega. Am I right?? If not, is there any documentation available that maps pin number used in Marlin to Arduino or MCU pin. Also setting delay using M4 command. is it based on internal Timer/Counter module of MCU. I need it to be accurate

@Athul Pin 22 is used as an example, please see which you can use (D4, D6, D11 possibly). Some of the digital output pins can be used as PWM output, but you only need on/off. As an alternative, if you do not want to rely on the clock cycles of the MEGA, for accurate timing you could send the pulse to an external timer controller and let that operate the solenoid.

@0scar Extreranl timer controller. You have any link for suitable device. I think making external timer sync with machine movement would be difficult. Machine shouldn't move when dispensing. I was looking in to some liquid dispensing controllers. There are some controllers which dispense liquid when receive a pulse. User can set the duration in that controller, and when it finishes it would return a signal. I know marlin is not designed for this, but is it possible to make Marlin set a pin high to indicate START dispensing and wait till return signal received and move to next position

May be possible to set M0 and connect the return pulse from Dispensing controller to LCD switch pin


text:
Extruder get loose
Printer: Anet A6
I'm gaving some trouble with a loose hot end. I was trying to peel of some PLA when I noticed the whole thing was kinda loose. I could pull it out very easy.

So I tried to put it back, but it's verry loose and I don't know what exactly is wrong.

I'm not sure if I broke something, or doing something wrong. Does anyone know how to fix this or do I need a new extruder or hot-end?
Kind regards.
Update:
As Trish said in the accepted answer, the heatbreak is broken. When I've opened the extruder it became more clear:

I'm happy cause this is a fix for about 10 euro.

I am sorry to inform you, but your picture looks like your hotend has a broken heatbreak. The heatbreak is the screw that connects the heater block with he coldend.
Your first picture clearly shows that the tp 2 or 3 windings of the screw are ripped off. Probably from tightening the nut against the codend carriage and this way applying tremendous force - the lower picture hints that it was tightened far too strong.
You are lucky however, as replacement heatbreaks are easy to come by and cheap.

Yup this is the problem, thanks! I will update my post with some image that make it more clear.


text:
Do firmware updates affect print speeds?
I flashed the TH3D unified firmware (R2.7) yesterday and so far everything works. I printed the 20 mm cube using the same G-code file I used for my very first print ever. However, with TH3D firmware I noticed that the print head was ridiculously fast compared to the previous firmware. The new cube has layer shifting and more noticeable ghosting so I know it's not just my imagination/faulty memory.
The slicer should have everything moving at 60 mm/s but I feel like the printer is going like 80+ mm/s.  I only uncommented my printer model and a couple of features of the firmware; nothing involving speed (mainly the mesh bed leveling). Is it possible that the new firmware thinks 60 mm/s is a different speed than the original?

Note: This question isn't about print quality. While the cube had flaws, it was just testing that the printer would actually print. And, of course, I can just dial things down. This question's scope is just about the input of the G-code and the output of an actual speed of printer head facilitated by the firmware.

I agree with @silver, but also wanted to point out that maybe the acceleration values on the old firmware you had were different from the default in TH3D R2.7.
The current settings can be retrieved using the M503 command, which should return the values from the eeprom:
Maximum Acceleration (units/s2):
M201 X1000 Y1000 Z100 E10000
Acceleration (units/s2): P R T
M204 P400.00 R1000.00 T1000.00

You can then lookup the default settings for your printer model and use M201 and M204 to set the new values. Then M500 to save the new settings to the EEPROM.

Yes, the limits are often subject to some "interpretation" in the limiting algorithms, even if they are totally unchanged values. Eg, your speed may remain higher around corners if the momentum calculations were optimized to take into account print head weight and extrusion instead of only per axis speed curves.

Is there a certain #define that I should look for? Do you know which .h file has these settings?


text:
Why won't my filament feed through the extruder anymore?
Printer: Monoprice Select V2.
I've done several prints already and swapped out filaments many times but in my most recent swap, I can't feed my PLA through any more.
I first preheat my extruder for PLA temps (185 °C). Then I press the plastic thingy to allow me to push as much of the filament into the hole as possible. Then I adjust my extruder position to try to suck it in. Usually after a few mm, I start to see the filament come out of the extruder and I also feel a pull on the filament from the top. But nothing is happening now.
However, if I adjust the extruder position in the opposite direction, it eventually pushes the filament back up and out, so I guess the "stepper motor" (is that what it's called?) is working (at least in one direction).
I'm getting ready to open the extruder module up to see what's going on, but wanted to see if anyone had any simple ideas for me to try before I unscrew anything.

Terminology note: Keep in mind that the Extruder is the motion setup that pushes the filament. The part that reshapes the plastic is the nozzle which is mounted in the hotend.

I figured out the issue. I think I was shoving it in the wrong hole.
I took apart my extruder component. There's a good video on it here.
But basically, you just have to loosen the two bottom screws on the side fan like this:

I checked everything out first. I cleaned the extruder head with the included pin. I also shoved the filament through the heated area and filament came out ok.

But then I discovered the filament could go in the wrong way sometimes through the extruder.
This is the correct way for the filament to go through. It should come out of that plastic hole.

But once in awhile, I accidentally pushed the filament through this way.

If the filament was bent and I pushed the lever too hard, it would often find its way down the wrong path.
So I played around with how much force I should be holding down the  lever and how hard I should be pushing the filament through.
I don't know if other 3D printer extruder feeders are designed this way, but seems error prone. Or maybe it's just me.

If you want better prints, remove the spring from the X-axis belt and properly tension the belt by printing a proper belt tensioner. You now have an extra spring in the spring-mass system. Having 2 springs with different spring constants, the displacement of the mass (read hotend) becomes more complex.

"this thing" is the Extruder comprised of the motor, extruder gear, idler roller and its lever. I have to note though that the extruder looks somewhat sketchy... It might be a good idea to unmount the extruder and champher the feed hole  on the incoming side so it has an easier time "fetching" the filament.

I have two coworkers that each have monoprice printers with these extruder designs - I recommend putting the filament just barely in the extruder and using the "Feed filament" function in your firmware to put the filament where it needs to go. Having the bearing put pressure on the filament against the gear tends to guide the filament better than doing it manually, as I've discovered with quite a bit of trial and error.

Maybe some PLA is stuck in the throat above the heat break. Can you feed a very small wire all the way through it, or see light through the filament path?
185 is a little on the cold side. I would suggest trying to feed at 195 before taking more drastic measures.

I even have some PLA that recommends a temperature between 210-220C

183 is the coldest I've ever managed to go. For filament I haven't tried before, I'll usually start at 200 or 210, then come down in 5 degree increments until I start to see symptoms of it being too cold, then back up in 1 degree increments until those symptoms go away.

Try turning the temperature up to 260 °C and pushing it through.
Also, cut of a few centimetres for I'm the end of the PLA in case the drive wheel isn't able to grab it due to a greasy bit of filament.
If you get it all working, run cleaning filament throughout it and to a cold pull with it.  That removed an annoying but of grit from my Monoprice.

Although raising the temperature is encouraged, 260 ℃ is pretty high for PLA, in case of PTFE lined heat breaks the general advice is not to go above 250 ℃ to prevent degradation of the liner.

@0scar I've got the same machine as he does.  Printing a few centimetres of PLA at that temperature is what's recommended in the manual.

Could be possible if it is a few cm, but if you are dealing with a hard to remove piece of filament that is stuck higher up or longer and broken off, you would need to wait longer for the clog to get loose. If it has no PTFE lining, like an all metal hotend, my reasoning does not apply. Thanks for the info!


text:
Are black filaments more brittle?
I've been 3D printing for a while and I've noticed that, when printing small parts, my colored plastics (PLA, PLA+ and ABS) have better layer adhesion than black ones.
Did you notice this?
What could be the cause?

is that about several manufacturers or are you only testing one?

Several, mostly chinese manufacturers. My theory is that black filaments specially PLA ones have most scrap materials in it.
I've printed the same piece in all materials that I have and colored prints are almost indistructible while black ones are fragile and delaminate easily.

Would you be able to quatify your findings for example with a tension test of some sort?

No, I did not test. I just tried to twist pieces until the broke, I couldn't break colored prints while I could easily break black ones.

what is your sample size on the test? I mean, how many different filament batches did you do this test on?

The print is the middle one here: https://www.tinkercad.com/things/glwhcfspvjz (watch in 3D). Obviously I used supports to print it. I have tested about 3 colors (black included) for each print, same material.

sample size = how many prints per sample color & Shape.

Around 3-5 prints for each spool. Black ones consistently destroied when tension was applied. Can you suggest me a great spool (1/1.2Kg) of filament from a brand you trust?

Have you tried to dial in the settings for each filament color/manufacturer separately? You might have got just bad settings. Try to play with temperature a little!

Sure, I've tried dialing settings. I have tried dialing both temperatures and flow. All prints are looking good in the end... PLA+ have the greatest finish but it's the most fragile of all. For PLA filaments I've tried flows from 90% up to 110% (in steps of 5%) and temperatures from 190° up to 220° (in steps of 10°). For ABS I've a full enclosure and a plate at 110° I've tried flows from 100% up to 110% and temperaturs from 240° to 250°. After all I've had great looking prints for all materials despite black ones were all brittle.

To be honest  I have had great black prints, as I had bad white ones. It is often either the settings being messed up, but you just might have grabbed a bad batch of black filaments. I suggest to look at filament reviews, for example Thomas Sanladerer's Filaween series or CNC Kitchen's filament reviews, to check for a different supplier.

I have some experience in the textile industry and it is known that items, whether piece goods or yarn, which are black (for most fibers) it is likely an over-dye; colors that failed to match the color that was intended, goes into a pile for black re-dye.  It is easy for most fibers to over-dye something black.  I imagine that for filaments it is something similar.  My experience with black filaments is generally one where black breaks easier, and generally you can find PLA on sale if it is black.

Welcome, Jim. I'm not sure the process is analogous, since the filament would have to be melted down to be re-colorized. Please take the tour and thanks for joining.

I was speaking in general terms, that black is a re-process of other, generally failed, colors.  I agree with you that it would likely be re-melted, and I guess that is my point; black is a re-melting and re-dyeing result and - probably because of this - is somehow inferior in strength.  I imagine the re-melting is the cause. Jim

Yeah, re-dye can be done. And I think you are on spot with your answer. I've printed Km and Km of filaments as of today and the fact that black filaments are more brittle, indipendently of the brand, is a costant to me.

Not inherently.
There are two things at work that might cause one color to test weaker than others even as its properties otherwise are functionally identical:

A bad print among good ones.
A bad roll among good ones.

Let's take a look at both, then do a little excursus into plastics and color.
A bad print
There are probably thousands of reasons a print might fail, but bad layer bonding and squish-ability under torsion strongly hint to under extrusion. Now, under extrusion itself can be caused by a plethora of reasons: a clogged nozzle is equally as possible as too thinner diameter as is just a bad temperature. The last one is, in my opinion, the most likely culprit: filaments may look the same and feel the same and bond the same, but in different colors, they sometimes demand different print settings.
As an example, I print most of my Kaisertech PLAs at 200°C, as that offers a quite good result for all of them. Yet when I started I had a white China PLA and a crystal clear PLA from the same manufacturer, both came from the same warehouse in the same shipment. The clear one is quite more brittle on the roll, but their starting-to-print temperature differs by 5°C - the white started to extrude at 180°C decently and printed ok at 195°C-200°C, while the clear needed only 175°C to start to be extrudeable and was really printable at 190°C. Yet recently I tried the same roll again to achieve fully clear prints, and with 210°C and lots of overextrusion, I managed to go almost solid-clear. Because of such experience, I suggest tweaking the settings.
A Bad Filament
There are several reasons why one roll might resulting in bad prints, but the most prominent are that the roll has gone bad over bad storage. It might be stored too hot or too humid, making it brittle or bubble in the hotend. Aging under UV plays a role (it degrades PLA). And dimensional accuracy plays a role because it affects the whole roll of filament. This is why tests should always be performed with equally treated and measured samples to achieve comparability.
Excursus: Plastics and color
What gives a plastic its color? Pigments added to it. Now, pigments can be of varied kinds. Usually, they are embedded in the plastic (=not bonded to the carrier plastic), and the plastic polymer is often either inherently transparent(ish) or white. Let's take some examples to look at...

Yellow. Yellow can be made from a lot of stuff but many yellow pigments react to UV light by decay more than other colors, leading to yellow to fade quickly in comparison to other colors. It has varied chemical compositions, often they can become quite complex.
Black. Black pigment is typically the most simplistic coloration to achieve: pure powdered carbon is one of our most potent black pigments, and also one of the cheapest, making black plastic one of the most common plastics. In contrast to other colors, carbon can't fade. But the plastic around it decomposes and turns white, fading the color this way.

Now, most colorings are - in physical terms - sizeable. Some few to a couple dozen atoms, making them range in the Angström (~Atom diameter) to few nanometer area overall. However, even something as complex as $C_{22}H_{20}O_{13}$ (Carmine) is relatively small compared to the $(C_3H_4O_2)_n$ of PolyLacticAcid, aka PLA. Poly tells us that n is at least 100, because shorter chains are oligomers, not polymers. In comparison, our red carmine pigment is more dense, much more compact in fact. As a result, a 100-chain of PLA is not just in the Angstöm area but in the dozen nanometer to micrometer range - a magnitude of at least 2 larger. Unless we have a huge excess of pigment or a pigment that reacts with the plastic under heat, then the impact of it on the strength should be neglectible to the other fillers often used.

Your heading is about how brittle the material is, but the question is asking about layer adhesion. I'll go ahead and tackle the layer adhesion portion. There are many variables at play here but unless you are using two filaments fresh out of the box, I would guess moisture might be the issue.
Moisture
The filaments pick up moisture as they are left out or even just store. I've tried to prevent it, but nothing seems to work. When this happens you generally need to run the same filament a bit hotter to get the same results as a new roll. Comparing a new roll to an old roll, or even two rolls of questionable quality, will result in slight changes.
Bad Quality
Filament quality goes a long ways to making sure the print comes out consistently. Dimensional sizing is the main one the gets thrown around, but once again, moisture may creep in if the manufacturer is questionable. I use Hatchbox mainly and have not had an issue on either of these fronts. Poor dimensional quality will cause either under or over extrusion which can make the layers appear worse and is impossible to fix without buying a new roll as the filament itself is the issue.
Color
Can color make a difference? Perhaps. I've wondered if black heats up quicker than white filament. I have gone through quite a bit of white and black PLA from the same manufacturer and so far have notice no major difference between the two.
Brittleness and Layer Adhesion
I don't see how these two would have much to do with each other. There are too many variables between the heating and the cooling of the material for brittleness to have a major effect. For example, PLA is brittle but prints well. TPU is very flexible and prints well - it all depends on what your setup is.


text:
Difficult to remove support material
I'm having a lot of difficulty removing support material without damaging the print.

Are there any tips/tricks to doing this or is it just a case of sanding, cutting, chopping and then cleaning it up as best I can?
Settings

Printer: Monoprice Ultimate
Filament Temp: 200 °C
Plate Temp: 60 °C
Material:  PLA
Slicer:  Ultimaker Cura

Placement:  Everywhere
Angle:  20°
Pattern:  Concentric

The question lacks some basic information and settings like: "What material, printer, temperature, support settings, slicer, etc." Please add some more vital information by [edit] of the question.

The right side of the cube looks strange, was that the top or the bottom of the print?

@0scar The bottom.  The sphere protrudes the edge of the box very slightly, meaning that the bottom of the box also had support material,

CURA: Support->Support Z Distance -> activate the Support Z Distance Top and Support Z Distance bottom. Mostly the top distance is NOT the normal distance, e.g. I set the Z distance to 0.4 but the z distance top still was 0.12 which causes painfully hard to remover supports

I had the same problem some time ago: https://3dprinting.stackexchange.com/questions/5226/problems-with-support-interface-since-cura-3-1

Possible duplicate of Problems with support interface since cura 3.1

Oh, and double check this setting after EVERY Cura update. They mess this up every time.

Print/material specific settings
If you are printing too hot with too less distance, the support just fuses to the print object. Extra cooling, lower print temperature and support distance should be in balance to create easy to remove support structures with respect to an acceptable print object surface. If temperature and cooling cannot be balanced to prevent fused support structures (e.g. for high temperature filament materials that cannot take too much cooling as that would result in less structural solid prints), there is an option in Cura to override the fan speed for the first layer above the support (Fan Speed Override). If this fails to produce easy removable supports, you can resort to changing the support distance between the support and the print object.
Support settings
Most of the used slicers have an option to determine how much distance (in terms of layers) you want between your support and your product, you could add an extra layer as space to try out if that works better for you. E.g. the default Cura setting for Support Bottom Distance (which is a sub-setting of Support Z Distance) is the layer thickness specified in Layer Height. If you have a layer height of 0.2 mm, the Support Bottom Distance is also 0.2 mm. For the top, option Support Top Distance this is two layer heights, so 0.4 mm in this example. These options are visible in the expert mode, you can search for them in the search box, see image below.

Why should you want air in between your part and the support?
You'll soon find out when you want to remove supports, if no gap is used, the support will fuse to the print part. This is only interesting (no gap between print part and support structure) when you use a different filament for support like PVA or break-away filament; e.g. PVA dissolves in water in a dual nozzle printer setup (not that you can make the biggest part of the support except the top and bottom layer from the print object material, e.g. PLA for the main part of the support and PVA for the bottom and top layer: settings First Layer Support Extruder, Support Interface Extruder, Support Roof Extruder and Support Floor Extruder).

Would extra cooling be me buying a more powerful fan?

Or a better fan duct, e.g. the stock duct of the Anet A8 is quite bad. I don't own a CR-10 to evaluate the duct of the machine.

I've got a Monoprice Ultimate.  I suppose I could print a better duct and add a more powerful fan.

@BanksySan Or lower the temperature and increase the distance between the support and the print, much easier and faster to test.

@0scar Wouldn't an increased gap defeat the objective of the support?

@BanksySan No, as long you don't make them too big, an extra layer (so 2 layers instead of 1 of in total a few tenths of a millimeter) is usually sufficient. Else tune your temperature down and increase cooling, but that might affect the structural integrity of the print.

Test out a couple different types and z distances. I've found that the 'lines' type on Cura turns out very well - they are generally easy to remove and leave few artifacts on the part. Some types of support I've found to be much more difficult to remove than others, I would recommend 'lines' or 'zig zag'. See the link at the bottom for all possible values.
Z distance
Beyond switching over to 'lines' instead of 'concentric' this is the one that I've found has the most impact on the how easy it is to remove supports. You want this to be  as large as possible while still providing sufficient support. Do a couple test print, increasing this value until the detail start to get bad, then lower it just a bit.
Current link for Cura setting explanations
https://ultimaker.com/en/resources/20422-cura-support-settings

Welcome to 3dPrinting.SE! If the settings which are posted on the ultimaker site are important to your answer, please just copy them over here and leave the link in place. While this has a little more information in it than a "link only answer", it's not much beyond that. Please bring the information over as the link can become stale.

That's actually a really useful list.  I can see that it would be too much to copy over.

@Pᴀᴜʟsᴛᴇʀ2 - I've only just seen this, and you are obviously correct, and the link has now died... rendering (that part of) the answer almost useless. That's a shame. There is this link Ultimaker - Support... I'm not sure if this was the same sort of information. Anthony, can you either find a new version of your link or confirm that this new link contains the same information, please? Or this 3rd party site CURA SUPPORT SETTINGS
What Are Support Structures?

Yes, that contains an updated version of the information. In fact, that version is much better than the original.

Changing slicer settings will ultimately help with future prints, but there is a tool that has been an absolute god send to me for cleaning up hard to clean up prints.

Please, go pick one up.  You won't regret it.  They make life so much easier to clean up prints from hard to clean up materials.

deburring tools remove elephant foot and bad corners, but not sticking support material.

Why so many downvotes? Seems like a reasonable alternative to try. I've undeleted this, and upvoted..

It’s possible to use a heat gun to smooth it off after removing the majority of the supports. It creates a glossy effect as well.

Dont use external heat if you want to preserve your prints, just change separation from the part 1mm, and Z to 90% of your layer or 70% of population, this last parameter will make weak supports, of course dont make it too weaks.

It is recommended that you try "tree support" in the "experimental" module of settings.Also,before removing the support, blowing with a hot air gun to soften the support material connected to the model may achieve good results.

authors: Виктор Орлов


text:
Filament extrusion always stops at some point during print
I own a Creality CR-10 (using Ultimaker Cura for slicing) and I am experiencing terrible printing problems.
My problem:  I am not able to print anything that takes several hours to print. For parts printed in 30 minutes or so, my printer usually works.
The prints end up like this (unfinished and with a lot of stringing)

This below is actually the best result I got so far.. (important note: there is no under extrusion during the print, it suddenly stops out of nowhere..)

(Although I have to use terrible retraction settings and need a lot of post processing because of all the stringing - you might have an answer for that too.. I just couldnt get the 3d printer to print parts properly with good retraction settings.)
The problem is that at some point of the print, no more (PLA) material is extruded and the printer moves without actually printing anything. The first couple of layers usually work (you can see that in the images) but after wasting almost 600 grams of PLA, I am not able to find a solution myself.
.
I have some suspicions:
Could the problem be the angle, the PLA is inserted into the feeder? (so that it is almost a 90 degree bend)? The filament comes from a spool in the right hand side. But I dont think that this would cause such a problem..

Is it a software problem? Here are all my cura settings (I even reduced the printing speed to 30mm/s at 205°C - still didnt work..)     :-(

Could the length of the bowden tube and it tangling up be a problem? (as you can see in the image below)

And annother important thing: The feeder always grinds into the filament (even at those low retraction settings) and it is always very hard to pull the filament out of the bowden after a failed print. Sometimes its almost impossible and i have to use heavy tools for it.. that should be the probelem

I already did some atomic pulls, replaced the nozzle and switched the bowden tube.
I have a dream: My printer printing a part without any stringing and actually finishing the print. Please help me to achieve this dream..
Thank you for your help in advance. :)
(and the filament I used, sorry for the bad quality of the pic)

I've had a similar issue once. It was caused by very slight misconfiguration in filament feed rate (my printer tried to push through too much filament). While it was technically overextruding, I didn't realize that until I measured my extrusion lengths. Overextrusion could also contribute to stringing.
When you pull out the filament from your extruder after a print failure, does it have a thicker end? If so, it could be a sign of trying to push too much filament.
On the left is the filament I pulled from the extruder after a normal print - you can see it only gets thinner and has a long end. In the middle is a very pathological case - that shouldn't happen unless something is very wrong. On the right is how the filament was when I had my extruder feed rate misconfigured - you can see the dents from gear biting too hard into it, and a slight bulge.

What I think happened in my case, is that filament gets melted in the hotend, some of it gets pushed through the nozzle, the excess wells up into the heatbreak, where it solidifies and bonds to walls, causing blockage and difficulties pulling it out.
As to how to fix it (if it's indeed the cause) - if you configured printer's firmware yourself, you may need to tweak steps/mm for the extruder.
It looks like your printer runs Marlin firmware, which allows you to configure steps/mm from your LCD. You could also use PC software such as Pronterface to connect to your printer and tweak steps/mm parameters (alongside with other things). Here's a guide for checking and adjusting extruder steps/mm value. Though thick marker lines are not the best for measurement.
You can also measure how much filament exits your bowden tube with calipers when you move it from printer LCD.
If you don't want to mess around with firmware and steps/mm settings, you can adjust flow rate in Cura, although in that case you'll have to experiment with it and waste even more filament. I'd advise you to check for other possible issues first.
As the other answer has said, this could be caused by temperature creep too, with similar symptoms - filament melting in the heatbreak.
A long and bendy bowden tube could cause issues, but I'd expect underextrusion+grinding from that, whereas you don't see any underextrusion. Just to be sure, you could try pushing filament by hand (with other hand holding the lever on your extruder to release the filament) - it shouldn't take much force to move it all the way to extruder, and it shouldn't take much force to push it through the hotend either.
Yet another thing to check is whether your filament gets dented by the extruder gear during normal print. Just insert it until the hotend without holding the lever on extruder and pull it out - it should be as smooth and round as it was before insertion. If it has dents from the extruder gear, that could also be the source of your problems. In that case, you'll need to reduce tension on your extruder spring, or if it's non-adjustable, then get another spring or shorten the existing one.
As the last thing to check, does this happen with other filaments, especially single-color ones? Maybe this particular filament doesn't play nice with your hotend because of those black dot inclusions.
So, short list of things to check:

Check extruder steps/mm
Check force on pushing filament through bowden tube (by hand)
Check extruder gear tension
Try another filament

Thank you very much for your help! I will try to fix these issues. Actually, the end of the filament i pull out is thicker than 1.75mm so that might be it!

One more question: i adjusted my extruder gear tension so that it is just right (lower and the filament slips and higher tension and the filament gets extremely dented) but even though i think its good like that, my filament is not perfectly round after pulling it out of the bowden.. Until now i thought, that would be normal. Its not too bad just small knurls of the extruder gear.

@DonaldEnte well, there are tolerances for filament width and smoothness, so if the gear only deforms it a tiny bit, it could be fine. Severely deformed filament could easily get stuck in the hotend though. Compare your knurls to what I have on the right on the photo - what I had probably also caused issues for me. Also could be unusually soft filament.

@DonaldEnte It is very normal the the end is thicker! Nothing to worry about, the filament is 1.75 mm, the liners 2 mm, that explains the thicker end.

Why did you add the middle piece of filament, it would never come out a tube like that...

@knah Thank you very much. After some testing, I was able to fix all problems (including the stringing problem) of my 3d printer!

Stringing?
The stringing is explained by your relatively low retraction settings, 1.5 mm is not much for a Bowden setup. As do too high printing temperatures.
Stopping mid printing?
What you are experiencing is called clogging, the extruder cannot push the filament through the hotend and cause the grinding you report. Clogging mid printing is usually caused by insufficient cooling (for the temperature you print at) of the cold end (causing heat creep; slowly increasing temperature of the heat break), especially all-metal hotend assemblies are notoriously known for this problem.
Your Bowden tube does make a lot of kinks, maybe you can improve the path of the Bowden tube. Also if you are concerned about the sharp filament intake angle, you could print a filament guide:

Thank you, I will try to fix those things. Do you think my problem is software related or is it the hardware? I can only fix this issue by buying a new hotend?

@DonaldEnte - Get known issues fixed first, then move onto the next problem (if there is a "next problem*). I'm betting your main issues are mechanical having to do mainly with the Bowden tube and how it is run ... that's some pretty healthy kinking going on there.

Clogging implies heat creep, and heat creep implies overly hot printing temperature (assuming that the heat break cooling is vaguely normal). Printing too hot can also cause excessive stringing, so reducing print temp might kill two birds with one stone.

I had the same thing! On my anycubic I3 mega.
Tried a lot of stuff and got so sick of it so I installed a 10:1 gearbox on my extruder motor. So now it provides 10x more torque and since I havent got the issue anymore where the extruder is just grinding on the filament and the motor is just skipping steps.
No because of this and because my anycubic won't connect to a pc I can't change settings on my printer so I resolve the ratio with 1000% flow in my cura settings. And other stuff is also affected.
But at least it won't stop and just be sitting there and skipping steps.

So the additional gearbox is a solution? An extruder stepper motor with a planetary gearbox would probably solve the issue in a similar way. Note that this stepper has been discontinued, but an equivalent is the 3325_O. I wrote about this motor in this blog The extraordinary extruder

BTW, your other comments about subsequent issues encountered are useful but sort of cloud,or confuse, your actual solution of using the gearbox.


text:
After market bed heater for Intamsys Funmat HT 3D Printer
I am in college and am doing a team competition to print PPSU filament, and get the best results. This is being put on by the Solvay company, who makes the material. Our team signed up and the university bought us an Intamsys Funmat HT 3D Printer, which said it was capable of printing PPSU. However, the company doing the competition did not release the information that the bed plate must be a high temperature to avoid warping (Greater than 200 °C). However, our plate only reaches a temperature of 160. Does anyone know of any aftermarket heaters that would work with this printer?
Maximum temperatures according to Intamys: Chamber 90 °C, Magnetic Build Plate 160 °C, Extruder 450 °C

No, but we print with Solvay PPSU. I can give some parameters if you ask for them in a new question.

After research, Intamsys is a closed, high industrial grade producer of 3D Printers. To even learn prices, you have to request a quote, hinting they cost in the 5000 $ up range. Some of these machines come with service contracts and modifying can break them. It's 'brother', the FUNMAT PRO 610 HT, can achieve 300 °C build chamber and bed though.

If you're a brave individual you might try insulating the bottom of your heated bed. You're going to want to get fiberglass or something that can actually withstand the temperatures you're trying to reach; anything past about 230 °C and you'll get organic things like cork and cotton starting to smoke. 200 °C is pretty absurd for a print bed temperature unless you're printing some pretty exotic materials.
Aside from insulating the bottom of the bed to aid in heat retention, you might also try getting an external FET chip for your heated bed, like is recommended for the RAMPS1.4 boards since their connectors don't handle high amperage loads well. External FET plus a 24 V PSU might give you the kind of temperature range you're apparently aiming for. Best of luck with that, and try not to set your entire setup on fire, 200 °C really is kind of absurd for an entire print plate.
TL;DR:

Insulate
External FET chip
24V PSU

24V PSU on a heatbed designed for 12V will result in a 4x power increase. This could easily cause localised overheating. I feel 15 or 16V would be safer to over-drive the bed.

I don't disagree that's a pretty massive power jump, a slightly lower voltage might be a better option, but if he's got an aluminum heated bed and/or a glass plate up top I think he'd be fine.

Inspired by the answer from Nach0z, according to my back of the notepad radiative emission approximation, you need about a 3x increase in bed dissipation to get from $ \Delta T$ of 130 °C up to 170 °C. So that would correspond to an increase from 12 V at the bed to 18 V. As the current increases, the wire losses would also increase.
Sounds like a high power laptop charger could possibly fit the bill at 19V. Obviously this leaves a risk that the bed will be damaged, but I think it is better to aim for a steady load rather than pwm and a higher peak energy than necessary.


text:
Ridges and stepping in my prints
I'm having a problem where every few layers seems to be offset slightly, creating a stepping effect. The images below should be smooth along the sides, but having this ridge type effect. My question is how do I calibrate the printer to print smoothly?
I’m using a Hictop Prusa I3. I’ve recently installed an updated version of Marlin and have been tinkering with the configuration to make it match as close to the original config that was originally installed.
Printer: Prusa I3 (Hictop)
Marlin: 1.1.9
Filament: 1.75 PLA
Slicer: Ultimaker Cura
Layer height: .16 mm
Extruder: 190 °C
Bed: 60 °C
Speed: 30 mm/s
Line width: 0.8 mm
Cooling fan: 30%
Below are a few examples of what I mean by ridges and stepping

Print some calibration cubes and post pictures.

please try to photograph one of the cubes in a way that we don't get perspective tilt - this can help to identify small layer shifts or oscillation. Also, what is your acceleration and retraction setting?

Is this printer using a 0.8 mm nozzle?

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

looks like layer shifting to me...

@Trish Looks like extreme Z wobble on a low budget/quality printer to me.

@0scar or that... a real "budget" prusa design


text:
3DBenchy's bow prints out of alignment
I'm new to 3D printing, but I've solved all of my problems except for this rough surface shown in the image of a Benchy  print:

Any suggestions are appreciated.

Printer (new): Raptor 2 (400x400x700 mm)
Bed Temp: 65 °C
Extruder Temp: 210 °C
Filament: PLA (1.75 mm) right out of the package (came with printer from
Formbot)
200 degrees extruder; 60-degree hotbed - print success, bow issue
persists. speed: 100
fade height: 0
nozzle: 200
bed: 60
fan speed: 255
flow: 100 probe offset: -1.4

Hi Harrison, welcome to 3D Printing.SE!

Possible duplicate of Calibration improvement of the prusa I3

You should also specify print speed (see my answer) and layer height.

Too much temperature, try at 195 °C.

Best results so far: 200°, 60° hotbed, 50 speed. Best yet settings still need to be tweaked. Not sure where to go?

sadly the new pictures are barely visible. More light is needed, and an indicator which benchy you mean. is the white the one before and the black the new one? it would be better to have both in the same color.

You print too hot and probably with not enough cooling. These typical defects are caused by too much heat input into your model. You see this best at the overhang of the bow of Benchy, it should be smooth like the bottom part of the side of your Benchy. It clearly shows heat induced defects. Lower the temperature at least 10 °C. Know that PLA usually is printable at about 190 °C, also 65 °C for the hotbed is quite high, Depending on the surface you could aim for a temperature between 50 - 60 °C,

At 190°, the print was terrible. Pictured below was printed at 200°, 60° hotbed, 50 speed. Best yet settings still need to be tweaked.

Turns out the blower on the extruder was not plugged in at the factory. Now it's printing fine. Thank you all for the help and support.

totally missed that the fan could be off! but the temp drop surely did increase the print quality on its own already.

As I said I'm my answer: with not enough cooling.! Good that you found the plug! :)

The artifact your bow clearly shows is usually a result of very high print temperature - the filament sags unevenly as it is not cooling to solidification fast enough.
You might want to reduce your print temperature for PLA a little. Try one or two 5° steps. I print my PLA usually at 200 °C, some blends even lower. Do the same for the print bed - 60 °C is the usual temperature in many machines.
When I unpack 210 °C that's only in conjunction with 100 % infill and deliberate over-extrusion for what would be best described as a "cast-solid" result. It's because under that condition I want the filament to melt and merge with everything super tight.
It also might help to change the print cooling geometry to better cool the printed parts - and check if all fans are on.

If you printed Benchy upright, this is an overhang. You didn't state the print speed that you used, but I found that I can improve overhang quality considerably by printing them slower.
If you're otherwise satisfied with the print quality, you probably don't want to waste time by printing the whole model slower. If you're using Ultimaker Cura there is a setting in the Experimental section (don't worry, it works fine) to print only overhangs slower:

(Those are very conservative settings, a larger angle, like 30°, would probably be fine, too.)

My speed was 100. Reduced to 50 for most successful print see pic below.

Try to re-compile the gcode, sometimes the slicer "freaks out" whilst writing the file. Which slicer are you using? (Cura, Slic3r, Repetier, etc.)
I sometimes have that errors, and giving that they do seem quite consistent in shape in the pics I would say that's the issue.


text:
Vibration marks when printing slowly on Y-axis
My Anet A8 prints come out with vibration marks when I print under 80 mm/s.
Above that value, it's fine.
Has anyone experienced something like this with any axis?
The Y-axis motor also vibrates when the belt is removed, so I'm not sure if it's a board, motor or frame problem.
I haven't changed the motor yet, I just finished checking the linear rods and ran some tests.
Any ideas?

Please provide images, preferably calibration cubes and post them online by [edit]. Know that 80 mm/s is pretty fast, it should do better at lower speeds. Are the belts properly tightened?

in this case you might want to print some kind of oscillation test - a wall with a 0.5mm cut in it

@Oscar: I don't have a part right now that show that significantly. It's like ringing, lasting 100mm in the part. I noticed it printing some L shaped brackets to support the middle section of a plexiglass sheet. The belts are ok, and I think I notice the vibration when I run the stepper without the belt.

@Trish: that's a nice idea, I'll do that. First I'm going to swap the stepper motor, and see how it goes. Thank you.

@avc actually, if it is ghosting changing the stepper nothing will change. try https://www.thingiverse.com/thing:2855929 - that tests pretty much all ghosting variatons.


text:
How to fix evenly spaced vertical print pattern

These lines exist on all prints, PLA, ABS.
They're 0.8 mm apart [20T 2GT pulley, 1.8°/step motor = 1 line/4 full-steps]
Start to disappear above 75 mm/s but will still appear on slower axis when printing diagonal lines or curves
Custom built frame, cross bar (Ultimaker style) using linear rails
dual-motor (4 total on X-Y) + separate driver (1 motor/driver)
Running Smoothieware on Smoothieboard 5X [A5984 drivers, 32 microstep]

Tried all these with no improvement:
TL;DR problem is somewhere between drivers and motors

Switched to 6.625:1 geared extruder
Tried parallel, series, single coil on the 8 wires motor and 2 other different motors
Enable fast decay mode on A5984
Motor current from 0.5 A to 1.8 A
PLA temp from 170~200 °C
Acceleration as low as 100 mm/s2
**Changed 20T to 16T pulleys. The pattern scaled down proportional to the change in tooth count. Ruled out mechanical issues.

Have you tried 1/16 micro steps?

No, the drivers are soldered on-board and require tiny SMD resistor soldering to change microstepping, no jumper. THB6128 drivers and expansion board on the way.

that looks like ghosting...

I've tried 100mm/s2 acceleration and it still appeared.  Also they always appear perfectly vertical near curved edges. Definitely not ghosting.

@0scar tried 1/16. Did not help.

that's classic ghosting

The fact that these are all perfectly spaced, and don't mirror the edges of irregular prints, makes me think it's definitely not ghosting. That said, I can't see the Y direction on either print, just the X direction, so this all assumes it's only happening in one direction.
One thing to think about: Your motors have typically 2 opposing coils, and they get activated by taking 4 steps: (North, off, South):
N/o
o/N
S/o
o/S
If these are spaced out exactly 4 steps apart, that would imply that one of your coils is either underpowered or overpowered on the motor controlling that direction's movement. That would lead to your motor torque dipping and increasing, leading to slightly uneven print speed. This is 100% speculative and might be a goose chase since you've got 4 X/Y motors and it seems to happen in both the X and Y axis. The chances of having that many motors exhibit the same deficiency is astronomical.
That said, I've got little experience with multiple motors per axis. Another thing you might look into is whether the motors are fighting each other at all. If, for example, the motor-side pulley isn't aligned exactly the same way on both X motors, or the motors get out of sync with each other, because of the way the motor's holding torque falls as you get away from a full step position, you might find that one motor is holding the other back slightly, or pulling it forward towards the nearest full step. Again, this is all speculative, but it might be worth looking into. You can typically figure out the full step location by killing power to the machine and letting the motors settle into a full step on their own without the belts or other drive mechanisms attached. I'd unhook the belts, kill the power, get the motors settled (with a bit of a nudge if necessary), and then see if your belt perfectly settles into both pulleys in that location. You might find that the belt teeth don't quite line up on both pulleys, and the only way I can think of that would fix that specific problem is spinning the motor until it matches, or even physically relocating the motor closer or farther relative to the other on the same axis.
YMMV, best of luck.

This is a great blog post, Taxonomy of Z axis artifacts in extrusion-based 3d printing, explaining what I think I am seeing, although I'm not entirely sure what I'm seeing in your photos.
The short version is if your z-rods are threaded in an imperial unit, inches/fractions of inches, instead of metric, you get a repeating decimal value (think about converting 1/3 to decimal), which can lead to a rounding error depending on the chosen layer height.
Without knowing how exactly you built your machine it's hard to say more but the post goes over a number of things I almost did wrong (like anti-wobble caps on top of the z rods for Prusa i3s...)

I know this is a pretty old discussion, but I had the same trouble recently.  In my case, it think it could be a pattern caused by the extruder gears biting into the filament.  I found that the problem seemed to be worse with increased retractions.  That makes some sense to me, the more retractions you let the slicer make, the more the extruder gears are going to go back and forth through the same length of filament.
To try and confirm this, I turned off retraction completely and cut off and removed the filament that was already past the extruder (this length of filament was presumably marred by many retractions, the filament outside of the extruder would've been clean).  My resulting print still had the pattern but not nearly as contrasted and obvious.
I did try adjusting accel, jerk and print speed and the pattern didn't seem to change in frequency with any of that, so that led me to the extruder gears which are constant.  I was also going to test if my hotend fan was contributing vibration artifacts but haven't gotten around to it.
Not sure there's much else that can be done with this.  Maybe some filaments would have less of an issue than others.  It's possible the issue is more obvious on a dual gear extruder?  A single gear extruder will only bite into one side, which might be a bit more hidden.

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

Do you have any photos showing the difference in the pattern with retraction on and off? It would be a useful illustration of your point, if you could [edit] and add them to your answer..