Implementation API

Simple implementation

JobOx works entirely passive and the loading and ejecting process is controlled by simple GCODE sequences. This sequences are already included into the dedicated JobOx slicer profiles as START- and END-GCODE. Users are also advised using this dedicated profiles for their slicer tools. This mean each GCODE file will automatically come with the sequences needed to load an empty building plate at the beginning and ejecting this building plate when printing process is finished. So when finishing one GCODE the printer gets ready for the next one automatically. This make it quite simple implementing JobOx support into any third party printer managing software. The only thing need to be done is loading multiple GCODE files putting them in a queue and executing one after another. 

 

Deeper implementation

For deeper implementation of JobOx and additional functionality, please find further details below. Please note, that following information is optional and should be taken into account only if there is a certain demand for custom functionality.

 

START- and END-GCODE for loading and ejecting routine

All JobOx users are advised using the dedicated JobOx slicer profiles which, as already mentioned, contains the start- and end-sequence. However for development purposes it could be usable using this GCODE sequences separately. For example when an issue with the printed object was detected (e.g. by a camera), it can be reasonable aborting the current print, executing the ejecting GCODE sequence and restart the printing job. 

For JobOx on Prusa MK3/s/+ we recommend using following GCODE sequences (updated 2023.09.29):

jobox-loading-sequence.gcode

jobox-ejecting-sequence.gcode

 

For JobOx on Prusa MK4 we recommend using following GCODE sequences (updated 2023.09.29):

jobox-loading-sequence_mk4.gcode

jobox-ejecting-sequence_mk4.gcode

 

For JobOx on Prusa MINI we recommend using following GCODE sequences (updated 2023.11.23):

jobox-loading-sequence_prusa-mini.gcode

jobox-ejecting-sequence_prusa-mini.gcode

This sequences can also be used to equip GCODE files which were sliced without JobOx profile (e.g. some older, already existing, files). When you are planning such implementation in your software, we highly recommend adding some routine for analyzing the user GCODE file. For example if there is already a loading and ejecting sequence in the user GCODE file or if the users GCODE is using more printing space than allowed (read following chapters). You will also need to "watch out" for the "M115" command and remove it (or comment out the line). This line tells printer the newest firmware and can possibly lead to a dialogue on the printer LCD screen, which needs to be confirmed manually by pressing the rotary knob. This will interrupt the automation process.

 

Identifier of loading and ejection GCODE sequences

Dedicated JobOx slicer profiles contains specific lines which can be used as identifiers for JobOx specific routines.

Loading sequence is placed between following lines:

;--JOBOX_LOAD_BUILDING_PLATE_START-- 

;--JOBOX_LOAD_BUILDING_PLATE_END--

Ejecting sequence is placed between following lines:

;--JOBOX_EJECT_BUILDING_PLATE_START-- 

;--JOBOX_EJECT_BUILDING_PLATE_END--  

  

Limits of printed files

The JobOx system uses some printing space in the Y axis to trigger the loading and ejecting mechanics. That's why in our setup manual users are strongly advised switching the collision detection on and using the JobOx profiles for their slicer software or setup the limits manually. If this was done properly, than printing-file GCODE will operate within the allowed limits without causing any issues. However, to increase the safety of operation, it is recommended to analyze the GCODE file of the printed object loaded by user and check if it don't exceed the allowed range.

  • JobOx for Prusa MK3 Y-Axis limits: Min Y2.1 / Max Y205.9
  • JobOx for Prusa MK4 Y-Axis limits: Min Y15.1 / Max Y199.9
  • JobOx for Prusa MINI Y-Axis limits: Min Y3.1 / Max Y173.9

If GCODE file of the printed object does exceed the allowed range (eg. mowing the printing bad on MK3 to Y206.0 and beyond) , the software should deny processing the file, warn/inform user about this issue and advice using the dedicated JobOx profiles for their slicer software. Especially when the printing bad moves beyond the upper limit (e.g. Y206 on MK3), the unloading mechanics will be triggered accidentally in the middle of the printing process causing a crash. This could possibly damaging parts of the printer if collision detection wasn't turned on by the user as advised in the JobOx setup manual.

 

Share your implementation here

If you are already managed to implement JobOx into your system or if you are an enthusiast who would like to introduce how to run JobOx with your favorite system not yet listed here, please don't hesitate to get in touch. We would be glad adding your guidance to this list in order to share it with other users who can benefit from it.