Marlin customs formula
In my start code, I use the formula M104 S {material_print_temperature_layer_0} to obtain a T ° equal to the first layer T° defined in CURA 4.0.0 . That work fine.
To improve fluidity at start, how to increase it by + 15 °?
I tried unsuccessfully the various formulas: M104 S {material_print_temperature_layer_0 + 15} or M104 S {material_print_temperature_layer_0 +15}, or M104 S {(material_print_temperature_layer_0) +15} or M104 S {material_print_temperature_layer_0 * 1.1}
none works.
Any suggestion ?
Many tks
RE: Marlin customs formula
M104 S{material_print_temperature_layer_0+15}
And that's only if the reserved term "material_print_temperature_layer_0" exists ... I can't verify that term. Prusa Slicer probably uses a different term for layer one temp, like these. And I haven't tested whether [ or { is required for computational references. But using this code as reference, at least for conditionals, the curly brace is probably needed.
{if layer_z < max_print_height}G1 Z{z_offset+min(layer_z+30, max_print_height)}{endif} ; Move print head up
Here's what the stock gcode has for first layer:
M109 S[first_layer_temperature]
M190 S[first_layer_bed_temperature]
RE: Marlin customs formula
Tks @tim-m30.
M104 S {material_print_temperature_layer_0} works and generate the string M104 S210 .... which is ok as T° is set to 210°
unfortunately the formula M104 S {material_print_temperature_layer_0+15} do'nt and generate the unusable string "M104 S {material_print_temperature_layer_0+15}"
the formula "M104 S[first_layer_temperature]" do'nt and also generate the identical unusable string.
RE: Marlin customs formula
Sorry - I only use Prusa Slicer - so how Cura interprets Marlin code is an unknown. The functions listed work for me. You are adding spaces at odd locations, and I doubt Marlin expects them and will not interpret them correctly.
RE: Marlin customs formula
Found this, not sure if it applies, but at first glance it looks like Cura wants strings that Python can decode.
"'G29 P' + str(int(machine_width/25))"
"'M104 S'+str(int(material_print_temperature_layer_0+15))"
RE: Marlin customs formula
unfortunately, no good.
RE: Marlin customs formula
He, I received this answer from Ultimaker teams :
"You can not do arithmetic in Gcode snippets in Cura, sorry."
RE: Marlin customs formula
He, I received this answer from Ultimaker teams :
"You can not do arithmetic in Gcode snippets in Cura, sorry."
PrusaSlicer/Slic3r and KISSlicer are the only slicers that I've encountered that allow any sort of conditional testing during generation of gcode while slicing. Note that there is no "gcode programming". Gcode commands simply tell the printer to move and extrude. The printer has no intelligence beyond the basics. PS does support limited conditionals, math and use of min() and max() in gcode that is parsed by PS. Only actual values are written to the actual gcode. Unfortunately, this means anything that you manage to get working in one slicer is only going to work in that slicer. The names of the placeholders (variables) for temps, layer height etc. also vary among slicers.
Whilst researching this months ago, I did find a reference to Slic3r supporting limited PERL syntax for math and an explicit mention that other than the min() and max() functions, no other external libraries or calls were supported.
You could write a post-processing script to parse gcode and make changes, but again, you will be writing actual move and extrude commands. If you only want to bump temps on the 1st layer, you can already do that in the filament profile of most slicers. Otherwise, you could parse the slicer-generated gcode and insert code at the appropriate layer changes to do this. I've done this to bump fan speeds, for example.
I think we had this same discussion on reddit recently. The answers have not changed.
and miscellaneous other tech projects
He is intelligent, but not experienced. His pattern indicates two dimensional thinking. -- Spock in Star Trek: The Wrath of Khan
RE: Marlin customs formula
As usual, we appreciate your clear detailed answer . By the way, we love your blog http://projects.ttlexceeded.com/index.html . He is a great pool of ideas in which we draw to improve ourself. Thank you for your sharing.
We are priting with 0.15/0.20 nozzles and the only slicer which is able to correctly manage all our constraints is Cura. He does it in a masterful way. it's impressive. Having to intervene manually in the Cura start / end codes is only a minor problem in view of the quality obtained.
We follow with interest the very positive fast evolution of PrusaSlicer, but in our opinion, even the latest version is not at the same level.
Sorry to have generated duplicates.....have tried, but Reddit sites are difficult to understand/handle for begginers like us.
kind regards
Philippe