Mesh bed leveling only in printing area using orca slicer
-
I've been researching how I could define the mesh for the print area using the orca slicer.
I'd like to record here how I did it, after reading some old posts here on the forum, which helped me a lot. Who knows, maybe it will be useful to someone else.
My start gcode in the orca slicer:
set global.varNozzleTemp = [nozzle_temperature_initial_layer] set global.varBedTemp = [bed_temperature_initial_layer_single] M557 X{first_layer_print_min[0]}:{first_layer_print_max[0]} Y{first_layer_print_min[1]}:{first_layer_print_max[1]} P3:3 M98 P"0:/macros/Print/start_print.g"
Macro start_print.g:
T0 M104 S150 M190 S{global.varBedTemp} ; aquece mesa e espera G28 G32 M104 S{global.varNozzleTemp} ; aquece bico na temperatura de primeira camada e segue; G29 M109 S{global.varNozzleTemp} ; aquece bico na temperatura de primeira camada e espera ;Purge line G1 X115 Y-3 Z0.24 F6000 G1 E3 G1 X190 E30 F360 G1 X205 Z0.04 E-0.2 F180 G1 Z1 F360 G92 E0
Macro load_variables.g (loaded in config.g by M98):
global varNozzleTemp = 0 global varBedTemp = 0
It's a very simple process but it works well for me.
-
@RodrigoRMaraujo you could pass the nozzle and bed temp through to the macro using parameters. so something like
M98 P"0:/macros/Print/start_print.g" A[nozzle_temperature_initial_layer] B[bed_temperature_initial_layer_single]
then in your macro
T0 M104 S150 M190 S{param.B} ; aquece mesa e espera G28 G32 M104 S{param.A} ; aquece bico na temperatura de primeira camada e segue; G29 M109 S{param.A} ; aquece bico na temperatura de primeira camada e espera ;Purge line G1 X115 Y-3 Z0.24 F6000 G1 E3 G1 X190 E30 F360 G1 X205 Z0.04 E-0.2 F180 G1 Z1 F360 G92 E0
-
@jay_s_uk
Yes, it's an interesting approach too, because it doesn't use memory by creating global variables.
Thanks for commenting. -
undefined droftarts referenced this topic
-
@RodrigoRMaraujo Does it require G29 S1 to load a mesh or it is done differently?
-
@aceranic The first script, in OrcaSlicer, sets the M557 mesh area by using the min and max print area defined by the object in the slicer. This gets passed to the RRF in the Gcode file, and mesh is made by calling the start.g macro from that Gcode file. No, you don't need to load another mesh first.
Ian
-
@droftarts Hi, I tested and it is working fine, also changed to 5x5 points.