Skip to content

RESTful API and web frontend for Stratasys uPrint 3D printers using reverse-engineered protocol implementation

License

Notifications You must be signed in to change notification settings

jonmotos/stratasys_api

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Reverse engineered client implementation of the Stratasys proprietary network protocol that presents data from a Stratasys 3D printer via a JSON based web interface. A basic web GUI utilizing bootstrap is also provided.

Requirements

  • Python 3.x
  • flask

Stratasys Protocol Documentation

The network protocol used by Stratasys machines uses a request/response system, listening on port 53742, where all commands and responses are null terminated C strings, padded to 64 bytes if shorter than such. Furthermore, the commands are sent such that the command is sent first, followed by each of its arguments as a separate 64 byte message. The argument list is then terminated by sending the negative acknowledgement command, NA. Once a full command and arguments is sent, the command and arguments are then sent back to the sender and have to be acknowledged individually with an acknowledgement, 'OK'. Furthermore, when a command is sent that will return more than 64 bytes, the machine will respond with a packet containing an ASCII string comprised of only digits. In this case, the numeric value of the string is the size of the data payload that is to be returned. If this is acknowledged by replying with 'OK', the next N bytes of data returned will then be returned. Putting this all together, sending the 'GetFile' command followed by the argument 'status.sts' and 'NA', replying OK to all responses and finally reading N bytes from the socket will allow you to read the full machine status.

Compatible Printers

  • Fortus 900mc
  • Dimension 1200es
  • uPrint SE
  • Mojo (unstable, in progress)

About

RESTful API and web frontend for Stratasys uPrint 3D printers using reverse-engineered protocol implementation

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • HTML 52.0%
  • Python 39.5%
  • JavaScript 7.5%
  • CSS 1.0%