diff --git a/calibration.html b/calibration.html index 193bdbd..cb83510 100644 --- a/calibration.html +++ b/calibration.html @@ -157,8 +157,12 @@

Auto Bed Levelling

@@ -554,8 +558,12 @@

Auto Bed Levelling

@@ -685,12 +693,17 @@

For the bed, typical PLA temperature is 60, PETG 80, ABS 100, and TPU 5 (effectively off).


Part Cooling Fan

-

PLA typically has the part cooling fan come on from layer 2. Alter this default behaviour here:

+

PLA typically has the part cooling fan come on from layer 2. Alter this default behaviour here.

+

Regardless of which part cooling fan behaviour you select here, the five bridge sections at the top of each segment will always print with 100% part cooling. Once the bridge is printed, the fan will then return to the speed set in the dropdown.

Auto Bed Levelling

@@ -865,8 +878,12 @@

Auto Bed Levelling

diff --git a/js/acceleration.js b/js/acceleration.js index 82b3055..94ff143 100644 --- a/js/acceleration.js +++ b/js/acceleration.js @@ -482,7 +482,7 @@ G1 X25.710 Y94.135 E3.8264 G92 E0.0000 G1 E-5.0000 F2400 ; layer 2, Z = 0.400 -M106 S255 +;fan2 ; feature inner perimeter ; tool H0.200 W0.480 G1 Z0.600 F1200 @@ -514,6 +514,7 @@ G1 X24.740 Y96.950 E11.5223 G92 E0.0000 G1 E-5.0000 F2400 ; layer 3, Z = 0.600 +;fan3 ; feature inner perimeter G1 Z0.800 F1200 G1 X25.220 Y95.847 F6000 @@ -632,6 +633,7 @@ G1 X8.097 Y22.663 E0.0130 F3720 G92 E0.0000 G1 E-5.0000 F2400 ; layer 5, Z = 1.000 +;fan5 ; feature inner perimeter G1 Z1.200 F1200 G1 X8.120 Y22.951 F6000 diff --git a/js/baseline.js b/js/baseline.js index bba9ac5..f31b6d0 100644 --- a/js/baseline.js +++ b/js/baseline.js @@ -159,7 +159,7 @@ G1 X41.923 Y58.214 E21.6099 G92 E0.0000 G1 E-5.0000 F2400 ; layer 2, Z = 0.400 -M106 S255 +;fan2 ; feature inner perimeter ; tool H0.200 W0.480 G1 Z0.600 F1200 @@ -291,6 +291,7 @@ G1 X58.512 Y58.459 E22.9102 G92 E0.0000 G1 E-5.0000 F2400 ; layer 3, Z = 0.600 +;fan3 ; feature inner perimeter G1 Z0.800 F1200 G1 X58.800 Y58.800 F6000 @@ -456,6 +457,7 @@ G1 X41.548 Y49.967 E2.9046 G92 E0.0000 G1 E-5.0000 F2400 ; layer 5, Z = 1.000 +;fan5 ; feature inner perimeter ; tool H0.200 W0.480 G1 Z1.200 F1200 diff --git a/js/gcodeprocessing.js b/js/gcodeprocessing.js index fff5e48..aded0da 100644 --- a/js/gcodeprocessing.js +++ b/js/gcodeprocessing.js @@ -90,13 +90,35 @@ function processBaseline(){ var retSpeed = document.baselineForm.retspeed.value*60; var abl = document.baselineForm.abl.value; var pc = document.baselineForm.pc.value; + var pcResume = 255; var customStart = document.baselineForm.startgcode.value; var baseline = originalBaseline; - if(pc == 1){ - baseline = baseline.replace(/M106 S255/, "M106 S130 ; custom fan 50%"); - } - if(pc == 2){ - baseline = baseline.replace(/M106 S255/, ";M106 S255 ; custom fan off"); + switch(pc){ + case '0': + baseline = baseline.replace(/;fan2/, "M106 S255 ; custom fan 100% from layer 2"); + break; + case '1': + baseline = baseline.replace(/;fan3/, "M106 S255 ; custom fan 100% from layer 3"); + break; + case '2': + baseline = baseline.replace(/;fan5/, "M106 S255 ; custom fan 100% from layer 5"); + break; + case '3': + baseline = baseline.replace(/;fan2/, "M106 S130 ; custom fan 50% from layer 2"); + pcResume = 130; + break; + case '4': + baseline = baseline.replace(/;fan3/, "M106 S130 ; custom fan 50% from layer 3"); + pcResume = 130; + break; + case '5': + baseline = baseline.replace(/;fan5/, "M106 S130 ; custom fan 50% from layer 5"); + pcResume = 130; + break; + case '6': + baseline = baseline.replace(/;fan2/, "; custom fan off"); + pcResume = 0; + break; } baseline = baseline.replace(/M140 S60/g, "M140 S"+bedTemp+" ; custom bed temp"); baseline = baseline.replace(/M190 S60/g, "M190 S"+bedTemp+" ; custom bed temp"); @@ -183,6 +205,7 @@ function processRetraction(){ var bedY = Math.round((document.retractionForm.bedy.value-100)/2); var abl = document.retractionForm.abl.value; var pc = document.retractionForm.pc.value; + var pcResume = 255; var a1 = document.retractionForm.ret_a1.value; var a2 = document.retractionForm.ret_a2.value*60; var a3 = document.retractionForm.ret_a3.value; @@ -215,11 +238,32 @@ function processRetraction(){ var f5 = document.retractionForm.ret_f5.value; var customStart = document.retractionForm.startgcode.value; var retraction = originalRetraction; - if(pc == 1){ - retraction = retraction.replace(/M106 S255/, "M106 S130 ; custom fan 50%"); - } - if(pc == 2){ - retraction = retraction.replace(/M106 S255/, ";M106 S255 ; custom fan off"); + switch(pc){ + case '0': + retraction = retraction.replace(/;fan2/, "M106 S255 ; custom fan 100% from layer 2"); + break; + case '1': + retraction = retraction.replace(/;fan3/, "M106 S255 ; custom fan 100% from layer 3"); + break; + case '2': + retraction = retraction.replace(/;fan5/, "M106 S255 ; custom fan 100% from layer 5"); + break; + case '3': + retraction = retraction.replace(/;fan2/, "M106 S130 ; custom fan 50% from layer 2"); + pcResume = 130; + break; + case '4': + retraction = retraction.replace(/;fan3/, "M106 S130 ; custom fan 50% from layer 3"); + pcResume = 130; + break; + case '5': + retraction = retraction.replace(/;fan5/, "M106 S130 ; custom fan 50% from layer 5"); + pcResume = 130; + break; + case '6': + retraction = retraction.replace(/;fan2/, "; custom fan off"); + pcResume = 0; + break; } retraction = retraction.replace(/M140 S60/g, "M140 S"+bedTemp+" ; custom bed temp"); retraction = retraction.replace(/M190 S60/g, "M190 S"+bedTemp+" ; custom bed temp"); @@ -323,7 +367,7 @@ function processRetraction(){ // F section retraction = retraction.replace(/;retractionF/g, "G1 E-"+f1+" F"+f2+" ; custom retraction - F"); retraction = retraction.replace(/;unretractionF/g, "G1 E"+f3+" F"+f4+" ; custom un-retraction/prime - F"); - + if(document.retractionForm.start.checked == true) { retraction = retraction.replace(/;customstart/, "; custom start gcode\n"+customStart); if(f5 > 0){ @@ -342,6 +386,7 @@ function processTemperature(){ var retSpeed = document.temperatureForm.retspeed.value*60; var abl = document.temperatureForm.abl.value; var pc = document.temperatureForm.pc.value; + var pcResume = 255; var a0 = document.temperatureForm.temp_a0.value; var a1 = document.temperatureForm.temp_a1.value; var b1 = document.temperatureForm.temp_b1.value; @@ -350,12 +395,34 @@ function processTemperature(){ var e1 = document.temperatureForm.temp_e1.value; var customStart = document.temperatureForm.startgcode.value; var temperature = originalTemperature; - if(pc == 1){ - temperature = temperature.replace(/M106 S255/, "M106 S130 ; custom fan 50%"); - } - if(pc == 2){ - temperature = temperature.replace(/M106 S255/, ";M106 S255 ; custom fan off"); + switch(pc){ + case '0': + temperature = temperature.replace(/;fan2/, "M106 S255 ; custom fan 100% from layer 2"); + break; + case '1': + temperature = temperature.replace(/;fan3/, "M106 S255 ; custom fan 100% from layer 3"); + break; + case '2': + temperature = temperature.replace(/;fan5/, "M106 S255 ; custom fan 100% from layer 5"); + break; + case '3': + temperature = temperature.replace(/;fan2/, "M106 S130 ; custom fan 50% from layer 2"); + pcResume = 130; + break; + case '4': + temperature = temperature.replace(/;fan3/, "M106 S130 ; custom fan 50% from layer 3"); + pcResume = 130; + break; + case '5': + temperature = temperature.replace(/;fan5/, "M106 S130 ; custom fan 50% from layer 5"); + pcResume = 130; + break; + case '6': + temperature = temperature.replace(/;fan2/, "; custom fan off"); + pcResume = 0; + break; } + temperature = temperature.replace(/;fanrestore/g, "M106 S"+pcResume+" ; restore previous fan speed"); if(abl == 1){ temperature = temperature.replace(/;G29 ; probe ABL/, "G29 ; probe ABL"); } @@ -449,6 +516,7 @@ function processAcceleration(){ var retSpeed = document.accelerationForm.retspeed.value*60; var abl = document.accelerationForm.abl.value; var pc = document.accelerationForm.pc.value; + var pcResume = 255; var feed = document.accelerationForm.feedrate.value*60; var jerk_or_jd = document.accelerationForm.jerk_or_jd.value; var a1 = document.accelerationForm.accel_a1.value; @@ -477,11 +545,32 @@ function processAcceleration(){ var f4 = document.accelerationForm.accel_f4.value; var customStart = document.accelerationForm.startgcode.value; var acceleration = originalAcceleration; - if(pc == 1){ - acceleration = acceleration.replace(/M106 S255/, "M106 S130 ; custom fan 50%"); - } - if(pc == 2){ - acceleration = acceleration.replace(/M106 S255/, ";M106 S255 ; custom fan off"); + switch(pc){ + case '0': + acceleration = acceleration.replace(/;fan2/, "M106 S255 ; custom fan 100% from layer 2"); + break; + case '1': + acceleration = acceleration.replace(/;fan3/, "M106 S255 ; custom fan 100% from layer 3"); + break; + case '2': + acceleration = acceleration.replace(/;fan5/, "M106 S255 ; custom fan 100% from layer 5"); + break; + case '3': + acceleration = acceleration.replace(/;fan2/, "M106 S130 ; custom fan 50% from layer 2"); + pcResume = 130; + break; + case '4': + acceleration = acceleration.replace(/;fan3/, "M106 S130 ; custom fan 50% from layer 3"); + pcResume = 130; + break; + case '5': + acceleration = acceleration.replace(/;fan5/, "M106 S130 ; custom fan 50% from layer 5"); + pcResume = 130; + break; + case '6': + acceleration = acceleration.replace(/;fan2/, "; custom fan off"); + pcResume = 0; + break; } acceleration = acceleration.replace(/M140 S60/g, "M140 S"+bedTemp+" ; custom bed temp"); acceleration = acceleration.replace(/M190 S60/g, "M190 S"+bedTemp+" ; custom bed temp"); diff --git a/js/retraction.js b/js/retraction.js index 267cdeb..105ad41 100644 --- a/js/retraction.js +++ b/js/retraction.js @@ -693,7 +693,7 @@ G1 X77.965 Y42.938 E67.5571 G92 E0.0000 ;retractionA ; layer 2, Z = 0.400 -M106 S255 +;fan2 ; feature inner perimeter ; tool H0.200 W0.480 ;zhopupA @@ -1132,6 +1132,7 @@ G1 X19.616 Y45.085 E70.2497 G92 E0.0000 ;retractionA ; layer 3, Z = 0.600 +;fan3 ; feature inner perimeter ;zhopupA G1 X19.388 Y44.826 F6000 @@ -1828,6 +1829,7 @@ G1 X19.549 Y46.510 E9.7252 G92 E0.0000 ;retractionA ; layer 5, Z = 1.000 +;fan5 ; feature inner perimeter ; tool H0.200 W0.480 ;zhopupA diff --git a/js/temperature.js b/js/temperature.js index 8bc2165..52106c1 100644 --- a/js/temperature.js +++ b/js/temperature.js @@ -668,7 +668,7 @@ G92 E0.0000 G1 E-5.0000 F2400 ; layer 2, Z = 0.400 temp1 -M106 S255 +;fan2 ; feature inner perimeter ; tool H0.200 W0.480 G1 Z0.600 F1200 @@ -1076,6 +1076,7 @@ G1 X26.716 Y44.773 E54.0817 G92 E0.0000 G1 E-5.0000 F2400 ; layer 3, Z = 0.600 +;fan3 ; feature inner perimeter G1 Z0.800 F1200 G1 X26.388 Y44.826 F6000 @@ -1717,6 +1718,7 @@ G1 X26.548 Y47.996 E7.4212 G92 E0.0000 G1 E-5.0000 F2400 ; layer 5, Z = 1.000 +;fan5 ; feature inner perimeter ; tool H0.200 W0.480 G1 Z1.200 F1200 @@ -8006,6 +8008,7 @@ G1 X63.513 Y46.542 F6000 G92 E0.0000 G1 X68.417 Y51.446 E0.3114 F3600 ; feature bridge +M106 S255 ; full fan for bridge ; tool H0.200 W0.480 G1 X55.660 Y51.440 F6000 G92 E0.0000 @@ -8031,6 +8034,7 @@ G1 X55.660 Y47.120 E4.2212 G1 X55.660 Y46.640 E4.2385 G1 X44.340 Y46.640 E4.6451 G92 E0.0000 +;fanrestore G1 E-5.0000 F2400 ; layer 50, Z = 10.000 ; feature inner perimeter @@ -12000,6 +12004,7 @@ G1 X63.513 Y46.542 F6000 G92 E0.0000 G1 X68.417 Y51.446 E0.3114 F3600 ; feature bridge +M106 S255 ; full fan for bridge ; tool H0.200 W0.480 G1 X55.660 Y51.440 F6000 G92 E0.0000 @@ -12025,6 +12030,7 @@ G1 X55.660 Y47.120 E4.2212 G1 X55.660 Y46.640 E4.2385 G1 X44.340 Y46.640 E4.6451 G92 E0.0000 +;fanrestore G1 E-5.0000 F2400 ; layer 90, Z = 18.000 ; feature inner perimeter @@ -15994,6 +16000,7 @@ G1 X63.513 Y46.542 F6000 G92 E0.0000 G1 X68.417 Y51.446 E0.3114 F3600 ; feature bridge +M106 S255 ; full fan for bridge ; tool H0.200 W0.480 G1 X55.660 Y51.440 F6000 G92 E0.0000 @@ -16019,6 +16026,7 @@ G1 X55.660 Y47.120 E4.2212 G1 X55.660 Y46.640 E4.2385 G1 X44.340 Y46.640 E4.6451 G92 E0.0000 +;fanrestore G1 E-5.0000 F2400 ; layer 130, Z = 26.000 ; feature inner perimeter @@ -19988,6 +19996,7 @@ G1 X63.513 Y46.542 F6000 G92 E0.0000 G1 X68.417 Y51.446 E0.3114 F3600 ; feature bridge +M106 S255 ; full fan for bridge ; tool H0.200 W0.480 G1 X55.660 Y51.440 F6000 G92 E0.0000 @@ -20013,6 +20022,7 @@ G1 X55.660 Y47.120 E4.2212 G1 X55.660 Y46.640 E4.2385 G1 X44.340 Y46.640 E4.6451 G92 E0.0000 +;fanrestore G1 E-5.0000 F2400 ; layer 170, Z = 34.000 ; feature inner perimeter @@ -24071,6 +24081,7 @@ G1 X68.512 Y47.468 E5.2240 G1 X68.512 Y46.790 E5.2484 G1 X68.205 Y46.482 E5.2640 ; feature bridge +M106 S255 ; full fan for bridge G1 X55.660 Y51.440 F6000 G92 E0.0000 G1 X44.340 Y51.440 E0.4066 F3600 @@ -24095,6 +24106,7 @@ G1 X55.660 Y47.120 E4.2212 G1 X55.660 Y46.640 E4.2385 G1 X44.340 Y46.640 E4.6451 G92 E0.0000 +;fanrestore G1 E-5.0000 F2400 ; layer 210, Z = 42.000 ; feature inner perimeter