Fix delta first layer spacing, add optional margin

This commit is contained in:
lawgicau
2020-08-30 13:03:04 +10:00
parent 3d1f10ca21
commit 6174c2db45
2 changed files with 23 additions and 17 deletions

View File

@ -193,7 +193,7 @@
</script> </script>
<h4>Bed dimensions</h4> <h4>Bed dimensions</h4>
<p>Inputting the correct number will attempt to move the print into the centre of the bed. If the 0,0 at centre button is checked for a delta, also enter your bed diameter. Please check the gcode to ensure it will fit on your bed.</p> <p>Inputting the correct number will attempt to move the print into the centre of the bed. If the 0,0 at centre button is checked for a delta, also enter your bed diameter. Please check the gcode to ensure it will fit on your bed.</p>
<label>0,0 at centre of bed (Delta):<input name="centre" type="checkbox" onchange="toggle(this.checked, 'first')" value="centre"></label> <label>0,0 at centre of bed (most deltas):<input name="centre" type="checkbox" onchange="toggle(this.checked, 'first')" value="centre"></label>
<span id="firstlayerXY"><label>Bed X dimension (mm): <input type="number" name="bedx" value="100" min="100" max="600" step="1"></label> <span id="firstlayerXY"><label>Bed X dimension (mm): <input type="number" name="bedx" value="100" min="100" max="600" step="1"></label>
<label>Bed Y dimension (mm): <input type="number" name="bedy" value="100" min="100" max="600" step="1"></label><br /></span> <label>Bed Y dimension (mm): <input type="number" name="bedy" value="100" min="100" max="600" step="1"></label><br /></span>
<span id="firstlayerdia"><label>Bed diameter dimension (mm): <input type="number" name="beddia" value="100" min="100" max="600" step="1"></label></span> <span id="firstlayerdia"><label>Bed diameter dimension (mm): <input type="number" name="beddia" value="100" min="100" max="600" step="1"></label></span>
@ -206,6 +206,8 @@
$("#firstlayerdia").show(); $("#firstlayerdia").show();
} }
</script> </script>
<p>You may add extra margin for clearing bed clips, etc. Caution! If this is too large on small printers the squares will overlap.</p>
<label>Extra margin from edge (mm): <input type="number" name="margin" value="0" min="0" max="100" step="1"></label>
<h4>Temperatures</h4> <h4>Temperatures</h4>
<p>For the hot end and bed respectively, typical PLA temperatures are 200 and 60, PETG 235 and 80, ABS 250 and 100, TPU 230 and 5 (effectively off).</p> <p>For the hot end and bed respectively, typical PLA temperatures are 200 and 60, PETG 235 and 80, ABS 250 and 100, TPU 230 and 5 (effectively off).</p>
<label>Hot end temperature (deg C): <input type="number" name="hotendtemp" value="200" min="160" max="450"></label> <label>Hot end temperature (deg C): <input type="number" name="hotendtemp" value="200" min="160" max="450"></label>
@ -271,7 +273,7 @@
</script> </script>
<h4>Bed dimensions</h4> <h4>Bed dimensions</h4>
<p>Inputting the correct number will attempt to move the print into the centre of the bed. If the 0,0 at centre button is checked, the bed size is irrelevant. Please check the gcode to ensure it will fit on your bed.</p> <p>Inputting the correct number will attempt to move the print into the centre of the bed. If the 0,0 at centre button is checked, the bed size is irrelevant. Please check the gcode to ensure it will fit on your bed.</p>
<label>0,0 at centre of bed (Delta):<input name="centre" type="checkbox" onchange="toggle(this.checked, '#baselineXY')" value="centre"></label> <label>0,0 at centre of bed (most deltas):<input name="centre" type="checkbox" onchange="toggle(this.checked, '#baselineXY')" value="centre"></label>
<span id="baselineXY"><label>Bed X dimension (mm): <input type="number" name="bedx" value="100" min="100" max="600" step="1"></label> <span id="baselineXY"><label>Bed X dimension (mm): <input type="number" name="bedx" value="100" min="100" max="600" step="1"></label>
<label>Bed Y dimension (mm): <input type="number" name="bedy" value="100" min="100" max="600" step="1"></label><br /></span> <label>Bed Y dimension (mm): <input type="number" name="bedy" value="100" min="100" max="600" step="1"></label><br /></span>
<h4>Temperatures</h4> <h4>Temperatures</h4>
@ -704,7 +706,7 @@
</script> </script>
<h4>Bed dimensions</h4> <h4>Bed dimensions</h4>
<p>Inputting the correct number will attempt to move the print into the centre of the bed. If the centre button is checked, the bed size is irrelevant. Please check the gcode to ensure it will fit on your bed.</p> <p>Inputting the correct number will attempt to move the print into the centre of the bed. If the centre button is checked, the bed size is irrelevant. Please check the gcode to ensure it will fit on your bed.</p>
<label>0,0 at centre of bed (Delta):<input name="centre" type="checkbox" onchange="toggle(this.checked, '#retractionXY')" value="centre"></label> <label>0,0 at centre of bed (most deltas):<input name="centre" type="checkbox" onchange="toggle(this.checked, '#retractionXY')" value="centre"></label>
<span id="retractionXY"><label>Bed X dimension (mm): <input type="number" name="bedx" value="100" min="100" max="600" step="1"></label> <span id="retractionXY"><label>Bed X dimension (mm): <input type="number" name="bedx" value="100" min="100" max="600" step="1"></label>
<label>Bed Y dimension (mm): <input type="number" name="bedy" value="100" min="100" max="600" step="1"></label><br /></span> <label>Bed Y dimension (mm): <input type="number" name="bedy" value="100" min="100" max="600" step="1"></label><br /></span>
<h4>Temperatures</h4> <h4>Temperatures</h4>
@ -855,7 +857,7 @@
</script> </script>
<h4>Bed dimensions</h4> <h4>Bed dimensions</h4>
<p>Inputting the correct number will attempt to move the print into the centre of the bed. If the centre button is checked, the bed size is irrelevant. Please check the gcode to ensure it will fit on your bed.</p> <p>Inputting the correct number will attempt to move the print into the centre of the bed. If the centre button is checked, the bed size is irrelevant. Please check the gcode to ensure it will fit on your bed.</p>
<label>0,0 at centre of bed (Delta):<input name="centre" type="checkbox" onchange="toggle(this.checked, '#tempXY')" value="centre"></label> <label>0,0 at centre of bed (most deltas):<input name="centre" type="checkbox" onchange="toggle(this.checked, '#tempXY')" value="centre"></label>
<span id="tempXY"><label>Bed X dimension (mm): <input type="number" name="bedx" value="100" min="100" max="600" step="1"></label> <span id="tempXY"><label>Bed X dimension (mm): <input type="number" name="bedx" value="100" min="100" max="600" step="1"></label>
<label>Bed Y dimension (mm): <input type="number" name="bedy" value="100" min="100" max="600" step="1"></label><br /></span> <label>Bed Y dimension (mm): <input type="number" name="bedy" value="100" min="100" max="600" step="1"></label><br /></span>
<h4>Bed Temperature</h4> <h4>Bed Temperature</h4>
@ -1046,7 +1048,7 @@
</script> </script>
<h4>Bed dimensions</h4> <h4>Bed dimensions</h4>
<p>Inputting the correct number will attempt to move the print into the centre of the bed. If the centre button is checked, the bed size is irrelevant. Please check the gcode to ensure it will fit on your bed.</p> <p>Inputting the correct number will attempt to move the print into the centre of the bed. If the centre button is checked, the bed size is irrelevant. Please check the gcode to ensure it will fit on your bed.</p>
<label>0,0 at centre of bed (Delta):<input name="centre" type="checkbox" onchange="toggle(this.checked, '#accelerationXY')" value="centre"></label> <label>0,0 at centre of bed (most deltas):<input name="centre" type="checkbox" onchange="toggle(this.checked, '#accelerationXY')" value="centre"></label>
<span id="accelerationXY"><label>Bed X dimension (mm): <input type="number" name="bedx" value="100" min="100" max="600" step="1"></label> <span id="accelerationXY"><label>Bed X dimension (mm): <input type="number" name="bedx" value="100" min="100" max="600" step="1"></label>
<label>Bed Y dimension (mm): <input type="number" name="bedy" value="100" min="100" max="600" step="1"></label><br /></span> <label>Bed Y dimension (mm): <input type="number" name="bedy" value="100" min="100" max="600" step="1"></label><br /></span>
<h4>Temperatures</h4> <h4>Temperatures</h4>

View File

@ -109,38 +109,39 @@ function processFirstlayer(){
var offsets = [0,0,0,0,0,0,0,0,0,0]; var offsets = [0,0,0,0,0,0,0,0,0,0];
var delt = 30; var delt = 30;
var xy = 30; var xy = 30;
var margin = parseInt(document.firstlayerForm.margin.value);
if(centre == true) { if(centre == true) {
// left // left
offsets[0] = bedRad*-1 - 50; offsets[0] = (bedRad*-1) - 50 + delt + margin;
offsets[1] = -50; offsets[1] = -50;
// bottom // bottom
offsets[2] = -50; offsets[2] = -50;
offsets[3] = bedRad*-1 - 50; offsets[3] = (bedRad*-1) - 50 + delt + margin;
// centre // centre
offsets[4] = -50; offsets[4] = -50;
offsets[5] = -50; offsets[5] = -50;
// top // top
offsets[6] = -50; offsets[6] = -50;
offsets[7] = bedRad - 50; offsets[7] = (bedRad - 50 - delt) - margin;
//right //right
offsets[8] = bedRad - 50; offsets[8] = (bedRad - 50 - delt) - margin;
offsets[9] = -50; offsets[9] = -50;
} else { } else {
// bottom left // bottom left
offsets[0] = 0 + xy - 50; offsets[0] = 0 + xy - 50 + margin;
offsets[1] = 0 + xy - 50; offsets[1] = 0 + xy - 50 + margin;
// top left // top left
offsets[2] = 0 + xy - 50; offsets[2] = 0 + xy - 50 + margin;
offsets[3] = bedY - xy; offsets[3] = bedY - xy - margin;
// centre // centre
offsets[4] = bedX/2 - 25; offsets[4] = bedX/2 - 25;
offsets[5] = bedY/2 - 25; offsets[5] = bedY/2 - 25;
// bottom right // bottom right
offsets[6] = bedX - xy; offsets[6] = bedX - xy - margin;
offsets[7] = 0 + xy - 50; offsets[7] = 0 + xy - 50 + margin;
// top right // top right
offsets[8] = bedX - xy; offsets[8] = bedX - xy - margin;
offsets[9] = bedY - xy; offsets[9] = bedY - xy - margin;
} }
firstlayerStart = firstlayerStart.replace(/M140 S60/g, "M140 S"+bedTemp+" ; custom bed temp"); firstlayerStart = firstlayerStart.replace(/M140 S60/g, "M140 S"+bedTemp+" ; custom bed temp");
firstlayerStart = firstlayerStart.replace(/M190 S60/g, "M190 S"+bedTemp+" ; custom bed temp"); firstlayerStart = firstlayerStart.replace(/M190 S60/g, "M190 S"+bedTemp+" ; custom bed temp");
@ -871,6 +872,9 @@ function outputSettings(formName) {
string += ", "+formName.beddia.value+" mm diameter"; string += ", "+formName.beddia.value+" mm diameter";
} }
} }
if(formName.name == "firstlayerForm") {
string += "\nExtra margin from edge: "+formName.margin.value+" mm";
}
string += "\n\nTemperatures:\n"; string += "\n\nTemperatures:\n";
if(formName.name == "temperatureForm") { if(formName.name == "temperatureForm") {
string += "Bed: "+formName.bedtemp.value+" deg C\n"; string += "Bed: "+formName.bedtemp.value+" deg C\n";