Notifications
Clear all

Marlin customs formula  

  RSS
phmalcontacts@gmail.com
(@phmalcontactsgmail-com)
Eminent Member
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

Napsal : 28/06/2019 4:03 pm
--
 --
(@)
Illustrious Member
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]

 

Napsal : 28/06/2019 6:49 pm
phmalcontacts@gmail.com
(@phmalcontactsgmail-com)
Eminent Member
Topic starter answered:
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.

This post was modified před 5 years by [email protected]
Napsal : 28/06/2019 6:59 pm
--
 --
(@)
Illustrious Member
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.

This post was modified před 5 years by --
Napsal : 28/06/2019 7:16 pm
--
 --
(@)
Illustrious Member
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))"
Napsal : 28/06/2019 7:27 pm
phmalcontacts@gmail.com
(@phmalcontactsgmail-com)
Eminent Member
Topic starter answered:
RE: Marlin customs formula

unfortunately, no good.

Napsal : 30/06/2019 5:13 pm
phmalcontacts@gmail.com
(@phmalcontactsgmail-com)
Eminent Member
Topic starter answered:
RE: Marlin customs formula

He, I received this answer  from Ultimaker teams :

"You can not do arithmetic in Gcode snippets in Cura, sorry."

 

Napsal : 03/07/2019 9:02 am
bobstro
(@bobstro)
Illustrious Member
RE: Marlin customs formula
Posted by: philippe.m11

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.

My notes and disclaimers on 3D printing

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

Napsal : 03/07/2019 3:41 pm
phmalcontacts@gmail.com
(@phmalcontactsgmail-com)
Eminent Member
Topic starter answered:
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

Napsal : 03/07/2019 6:24 pm
Share: