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