Use many height map with bed temp
-
Hi all,
Anyone know how to make a macro who choose a height map with a specified bed temp?
Ex 70deg bed temp load 70 height map
100deg bed temp load 100 height mapI make a 1000/1000 printer and I don't have the same height map with 50 deg and 10p deg
Thx for all!!
-
Well you could do it manually with two macros. Each macro would load a corresponding heightmap.
If you wanted to do it automatically with conditional gcode in RRF3 that should be possible as well, but it would depend on the firmware knowing what the print temps will be before you need the heightmap loaded.
-
@phaedrux said in Use many height map with bed temp:
Well you could do it manually with two macros. Each macro would load a corresponding heightmap.
If you wanted to do it automatically with conditional gcode in RRF3 that should be possible as well, but it would depend on the firmware knowing what the print temps will be before you need the heightmap loaded.
I use the filament handling feature of DWC to set temps. It also could load different height maps.
-
One thing you could do is performing bed mesh probing before each print, at the printed area only, after the bed reached its target temperature.
This is what I do.
-
@phaedrux hi, thx for your answer I have a duet 3 with last rf3 I have condionnal
-
@phaedrux You have an idea how to make the maccro ? i think make a folder with 50 deg map 70 deg map and 100 deg map and i need a maccro who call 50deg map if bed temp is 50 deg etc...
-
@amagatth said in Use many height map with bed temp:
@phaedrux You have an idea how to make the maccro ? i think make a folder with 50 deg map 70 deg map and 100 deg map and i need a macro who call 50deg map if bed temp is 50 deg etc...
Yes, that is correct. Up to you where you store them.
But you'll have to wait for your bed to reach temp before calling the macro.
M116 should do it, but you may find it only waits till the bad is "almost" at temp, in which case you may have to set your targets in the macros a few degrees lower than 100, 70, 50 etc.The macro would be something like this.
Note: You must first create the height maps and make adjust the file names.; LoadMap.g ; called to load height map according to current bed temp ;heightmaps must be already created ; adjust file location and file name of height maps to suit your system if move.axes[0].homed !=true || move.axes[1].homed !=true || move.axes[2].homed !=true echo "Machine not homed - height map operation cancelled" abort ; cancel macro & print G29 S2 ; Clear current height map ;now check temps and load the height map to suit if heat.heaters[0].current >= 100 G29 S1 P"0:/sys/heightmaps/100_Deg_heightmap.csv" ; if temp is 100 or greater load this file if result !=0 echo "Failed to load height map " ^ {move.compensation.file} abort ; cancel macro and print elif heat.heaters[0].current >= 70 ; if temp is less than 100 AND greater then or equal to 70 load this file G29 S1 P"0:/sys/heightmaps/70_Deg_heightmap.csv" if result !=0 echo "Failed to load height map " ^ {move.compensation.file} abort ; cancel macro and print elif heat.heaters[0].current >= 50 ; if temp is less than 70 AND greater then or equal to 50 load this file G29 S1 P"0:/sys/heightmaps/70_Deg_heightmap.csv" if result !=0 echo "Failed to load height map " ^ {move.compensation.file} abort ; cancel macro and print ; START COLD BED MAP else ; - temp is under 50 , so we might have a cold bed height map - otherwise delete COLD BED MAP section G29 S1 P"0:/sys/heightmaps/Cold_Bed_heightmap.csv" ; if result !=0 echo "Failed to load height map " ^ {move.compensation.file} abort ; cancel macro and print ;END COLD BED MAP ; START FINAL CHECK ;do a final check and report height map loaded ; comment this out if you want no height map when under 50 degrees if move.compensation.file !=null echo "Height map loaded is " ^ {move.compensation.file} else "MACRO ERROR: No height map has been loaded" abort ; cancel print ; END FINAL CHECK ;echo "Height map loaded is " ^ {move.compensation.file} ;if you don't use FINAL CHECK section, uncomment this line
-
THX For that !! i just have to call my macro in slicer after M116
-
@amagatth
That is correct.
If you're running RRF 3.3b2 you can use this version which uses variables, so it's easier to tweak as you don't have to search the full macro.
All the settings are at the top.https://forum.duet3d.com/topic/22636/macro-to-call-heaight-map-based-on-bed-temp/1