function displayCustom(){ if($(tab+' input[name="start"]').is(':checked')){ $('.startExp').show(); } else { $('.startExp').hide(); } if($(tab+' input[name="centre"]').is(':checked')){ $('.dia').show(); $('.XY').hide(); } else { $('.dia').hide(); $('.XY').show(); } if($(tab+' input[name="end"]').is(':checked')){ $('.endExp').show(); } else { $('.endExp').hide(); } } var nozzleLayer = `
Select your nozzle diameter and layer height. If you have not changed your nozzle, it will likely be 0.4 mm. 0.2 mm is a typical layer height for this nozzle.
25 options are available, however some of the tests don't work very well with the larger options.
`; var startGcode = `If you have additional start commands, tick the box and enter the gcode. This can be used for an extruder prime sequence, overwriting the standard flow rate, standard print speed, compensating for 2.85/3.00 mm filament, setting K factor and more. Tick the box for more details.
For the majority of users, you can skip this section. Any gcode entered here will be inserted after temperatures are set and homing is complete. Start gcode is saved by the browser, you should only have to enter it once. Example uses include:
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.
You may add extra margin for clearing bed clips, etc. Caution! If this is too large on small printers the squares will overlap. You may also use a negative value to space the squares further apart. Make sure to preview the gcode before printing!
`; var tempReg = `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).
(use 0 for a non heated bed)For bed, typical PLA temperatures are 60, PETG 80, ABS 100, TPU 5 (effectively off).
(use 0 for a non heated bed)Typically, filament comes with a recommended hot end temperature. It is recommended to use values either side of this. For instance, if a PLA filament asked for 200 degrees, you may vary the temperature from 190, 195, 200, 205, 210 (the default values of the form). Typically, the first layer temperature will be elevated to increase adhesion with the bed, especially if a lower than usual temperature is being trialled for segment A. Suggested increments for how much to vary the value for each segment are shown in green.
Reference Diagram | Segment | Hot end temperature ± 5 - 10 |
---|---|---|
![]() |
E | |
D | ||
C | ||
B | ||
A | ||
First layer |
Printing with PLA typically has the part cooling fan come on from layer 2. Alter this default behaviour here. A zero speed value disables the fan apart from bridging.
% `; var pcFirstlayer = `Part cooling fans typically don't activate until at least layer 2. Since this print is only one layer thick, part cooling is not applicable.
`; var abl = `If you don't know what to enter here, you can leave the retraction speed at 40 mm/sec. For a bowden tube printer, 6mm is a likely retraction distance. For direct drive, a starting value of 1mm may be suitable. If you are not sure about extra restart distance, leave this as 0.
(zero disables Z hop)
`; var retractionTower = `For initial tests, you can leave the retraction speed at 40 mm/sec. For a bowden tube printer, 6mm is a likely retraction distance. For direct drive, a starting value of 1mm may be suitable. Vary either side of this for each segment. Suggested increments for how much to vary the value for each segment are shown in green..
Reference Diagram | Segment | Retraction distance (mm) ± 0.5 - 1 (bowden tube) ± 0.1 - 0.2 (direct drive) |
Retraction speed (mm/sec) ± 5 |
Extra restart distance (mm) ± 0.2 |
Prime (unretract) speed (mm/sec) ± 5 |
Z hop (mm) ± 0.1 |
---|---|---|---|---|---|---|
![]() |
F | |||||
E | ||||||
D | ||||||
C | ||||||
B | ||||||
A |
You can specify the feedrate for X and Y movements. The inner perimeter will be set to this speed and the outer perimeter 50% of this speed. It is recommend to follow the process above to calculate safe limits for feedrate.
After entering M503, I have determined my 3D printer firmware uses:
Based on the values you saw from M503, enter variables around this below.
Junction deviation requires a single value, whereas jerk has separate values for X and Y. You can leave them the same or enter independent values.
You should only change either acceleration or jerk/junction deviation for each test print, otherwise it will be impossible to know which parameter is responsible for any changes.
Suggested increments for how much to vary the value for each segment are shown in green.
Reference diagram | Segment | Acceleration (mm/sec/sec) ± 100 (moving bed i3) ± 500 (coreXY / delta) |
Jerk X ± 1 |
Jerk Y ± 1 |
Jerk Z (delta only) ± 1 |
Junction deviation ± 0.01 - 0.05 |
---|---|---|---|---|---|---|
![]() |
F | |||||
E | ||||||
D | ||||||
C | ||||||
B | > | |||||
A |
If you have additional end commands, tick the box and enter the gcode.
For the majority of users, you can skip this section. Any gcode entered here will be inserted at the very end of the file.
It is advised to preview the generated gcode through your slicer or Gcode.ws before printing.`; function createForm(n){ document.write('') document.write(nozzleLayer); document.write(startGcode); document.write(abl); document.write(bedDims); if(n == "firstlayer"){ document.write(extraMargin); } if(n == "temperature"){ document.write(tempTower) } else { document.write(tempReg) } if(n == "firstlayer"){ document.write(pcFirstlayer); } else { document.write(pcReg); } if(n == "retraction"){ document.write(retractionTower); } else { document.write(retractionReg); } if(n == "acceleration"){ document.write(accel); } document.write(endGcode); document.write(preview); }