An OctoPrint plugin for MakerBot (prior to 5th gen) and clones.
It uses GPX to translate gcode to x3g underneath OctoPrint in the communications layer.
GPX is a Gcode Postprocessing to X3g tool written by WHPThomas. Gcode is a language for describing toolpaths in 3d printers which is derived from the gcode used in CNC machines. X3g is an extension to the s3g protocol which was named for the Sanguino v3 which was in use at the time as the bot's controller.
I've only tested this on one config: Raspberry Pi set up via the OctoPi image FlashForge Creator Pro running Sailfish 7.7
Start with OctoPi: Get your Raspberry Pi up and running by following the instructions on OctoPi
Get the GPX plugin. You get plugins by using the Plugin Manager in OctoPrint.
Set and save the GPX settings.
Try connecting
Choose a port and baudrate. I don't have AUTO working yet. 115200 works on my bot.
Upload gcode from your slicer to OctoPrint.
OctoPrint only understands ".gcode" and then GPX translates it to x3g. Don't upload x3g to OctoPrint. That won't work.
On the other hand, only use ".x3g" with the printer's SD card. It doesn't understand gcode and GPX running in OctoPrint can't help the firmware with it directly on the SD card.
I was thinking for my next project, possibly, to start an OctoPrint plug-in that will talk to the FlashAir SD card directly bypassing the motherboard on the the bot.
The GCode viewer can't follow along the build on the SD card because it doesn't have a good way to understand where the bot is in printing an x3g file. I'm thinking about this one. Perhaps we can use the number of commands processed to line something up. I have the printer reporting current position back to OctoPrint every second or so now, so theoretically it could follow along-ish on z-change, but it'd be guessing about the pacing in between. It'd require a new hook or something in OctoPrint.