Page 1 of 1
Changing the layer thickness mid print
Posted: 15 Dec 2016, 21:04
by MysticDarkLord
Hi is there a way to modify the print layer thickness after the print has started.
That is I want to start the print layer at 0.32mm then decrease that to 0.1 towards the top of the print.
Re: Changing the layer thickness mid print
Posted: 16 Dec 2016, 10:57
by EddyMI3D
You can accomplish that in this way:
Code: Select all
Printer -> Hardware -> Bed Roughness
Here you can set your first layer thickness. (e.g. 0.32 mm)
While in
you set your usual thickness.
Ed
Re: Changing the layer thickness mid print
Posted: 16 Dec 2016, 16:55
by MysticDarkLord
Thanks I did know about that method.
I am more interested in say printing 20 layers one at 0.32mm then the remaining 10 with 0.1mm.
Re: Changing the layer thickness mid print
Posted: 22 Jan 2017, 17:50
by Jani
MysticDarkLord wrote:Thanks I did know about that method.
I am more interested in say printing 20 layers one at 0.32mm then the remaining 10 with 0.1mm.
In short: slice twice and cut'n' paste. Longer explanation: Slice the part with 0.32 setting, save it and then slice part with 0.1mm setting (otherwise same settings) and save to different name and then just replace the gcode in the 0.32 file for the layers you wish to print 0.1mm from the 0.1 file. Make sure the ending and starting layers match. For example if your last 0.32 layer is at height 3.20, then cut and paste layers starting 3.30 in the 0.1 file.
I had a part that required 0.1 mm layers for only the top part. So I made two styles with all the same settings except for the layer thickness and sliced the same part with each style setting and saved the gcode with different names. Then just editor magic. Pretty easy but laborous. I'd rather have something like Slic3r has but without the bugs.
EDIT: Here is example of quick'n'dirty PHP script to merge the files:
Code: Select all
<?php
$end_fp1 = 9.75; // where to end merge (not included!)
$start_fp2 = 9.6; // where to start merge (included!)
$fp1 = fopen("250.clean.gcode", "r") or die("can't read file");
$fp2 = fopen("100.clean.gcode", "r") or die("can't read file");
// skip crap
function txt_seek($fp, $needle, $cut = false)
{
while (!feof($fp)) {
$line = fgets($fp);
if (FALSE !== strpos($line, $needle)) {
return $line;
}
echo (!$cut) ? $line : '';
}
}
echo txt_seek($fp1, '*** G-code Prefix ***', true);
echo txt_seek($fp1, '*** Main G-code ***', false);
txt_seek($fp1, "BEGIN_LAYER_OBJECT z={$end_fp1}", false);
echo "; END 0.250 layers, START 0.100 layers
";
fclose($fp1);
echo txt_seek($fp2, "BEGIN_LAYER_OBJECT z={$start_fp2}", true);
while (!feof($fp2))
{
$line = fgets($fp2);
echo $line;
}
fclose($fp2);
?>
In this example I started printing 0.1mm layers after printing 0.25mm layers to 9.50 height.