When you add a raft in Slic3r, the first layer of the raft prints at the first layer speed. After the raft is finished, the first layer of the print prints at the standard speed. How can I make the first layer of the actual print slow down to the first layer speed?
-
$\begingroup$ May I ask why you want to achieve this? Also, are you willing to edit the G-code? $\endgroup$– Tormod HaugeneCommented Jan 15, 2016 at 13:15
-
2$\begingroup$ When I print the raft, there is a slight gap between the raft and the print itself for easy removal. When you print at faster speeds, the adhesion is not enough to even keep the outer parts of the first layer where they were extruded (a circle turns into a hexagon). Slowing down this part of the print fixes the problem. I know that I can solve this by editing G-code, or manually slowing the the printers speed on the LCD for that part of the print, but I want a way that can slow down the first layer after the raft specifically in Slic3r. $\endgroup$– Eric JohnsonCommented Jan 15, 2016 at 13:34
-
1$\begingroup$ I see. Very interesting problem! There appears to be a feature for running "post process scripts" in Slic3r. Might be worth having a look at. $\endgroup$– Tormod HaugeneCommented Jan 15, 2016 at 13:42
3 Answers
This is still work in progress, and here is what I have so far, but first:
A useful alternative for similar problems:
A problem very similar to this would be to use different settings for different parts of a model in Slic3r. For most settings, this can be achieved through modifier meshes.
Post processing scripts:
As far as I know, Slic3r does not give you the option of setting the speed of the first layer after a raft directly, but they do allow you to run post processing scripts; that is, to automatically run a set of operations - programmed by you - on the g-code output.
Although far from trivial, you can in theory make a program that runs through the output g-code, adjusts the settings to your preference, and then saves it again at the target destination.
Tuning overall printer speed through g-code:
As it turns out, there is a simple g-code command that sets the overall speed of your printer's operation:
M220 S[some number] ; see the link above for compatible firmware
A newsletter from Reprapwold explains that:
For example M220 S50 will reduce the speed to 50% of the original sliced G-code. If you want to hurry your print to the finish in time for dinner, use M220 S200, to print twice as fast (200%)
In other words, just like some printers allow you the change speed mid-print, you can use the M220 command to override the current speed used, either through a user interface such as PrintRun, or by fiddling with the original g-code itself.
Manipulating the g-code output to adjust speed settings:
The easiest way to achieve our goal would be to manually manipulate the output g-code file through a text editor, and insert our M220 command in appropriate places:
- Set M220 S50 just before the first perimeter layer (after the raft's interface layer), to slow down the first layer of the actual model.
- Set M220 S100 sometime after the first perimeter layer, to resume the normal speed settings.
In order to do this, though, we need to be able to distinguish these two points in the g-code output.
Distinguishing insertion points:
Slic3r offers a setting under Print Settings -> Output options -> Verbose G-code
that - when enabled - inserts written comments all throughout the g-code files generated.
If one inspects a g-code file outputted for a model with raft, one will find the comment:
; move to first perimeter point <- lets call this A
and
; move to next layer (x) <- lets call this B
littered several places throughout the gcode.
It is under my impression that the first occurrence of comment A happens right after the raft is finished, and before the actual model is being printed, while the first occurrence of comment B succeeding comment A can be used to set the speed back to normal.
It should be noted, however, that the comments in the output g-code does not seem fully consistent, and I would therefore not recommend anyone to automate this logic into a script without possibly finding other, more reliable breakpoints, and thoroughly verify these through several different models.
I have not looked into the details of writing an automatic script for this task as of yet.
I've played with v1.2.9 only a little bit (I primarily use MakerWare). However, it looks as though you can just go to Print Settings -> Speed -> (Modifiers) First Layer Speed
. Here you'll have the option to set the speed in mm/s or %
. If you're having issues with the first layer (or two) not adhering very well to a raft, try reducing the distance between the part and the raft. Mine looks to be a default of 0.2mm. This can be adjusted from Print Settings -> Support Material -> (Options for support material and raft) Contact Z distance
.
Please note that the closer the part is to the raft, the more likely the part is to sticking to the raft once it cools. So, I would recommend being close by as the part finished so you can quickly remove the raft before it cools with the part. It become especially more difficult with PLA because it becomes hardened during the print process, therefore resulting in a more catastrophic material failure if any part of the object is broken (such as a raft).
I'll also note that I primarily use MakerWare for my machine and v3.8 has made it much easier to apply these types of settings. It's similar to Slic3r's interface and no longer in a JSON file that pops up. Through the MakerWare interface, you can navigate to Settings -> Custom -> Extrusion Speeds -> First Layer
to adjust the print speed. You'll also notice that there is a separate option for First Layer Raft
that ensures that the two values are separate in the post-processer. I believe it still may be possible to use MakerWare for a non-MakerBot machine, just export the file to GCode and you should be able to load it directly into your machine via SD card or possibly even Slic3r (it might change some of the code though).
You shouldn't need to. The purpose of a slower first layer is to help with need adhesion. With a raft the first layer of the model is printing on the raft so it can go at regular speeds.
-
1$\begingroup$ When the print is printing though, there is a gap between the 2 lays so the print can be removed. if you are printing a circle or such, it will be lines instead because it only fully contacts at a few points $\endgroup$ Commented Jan 13, 2016 at 4:37