With some tweaking I was able to get this most of the way there for my Rep 1. I think the steps should be similar for the ToM.
makerbot_driver needs a modified version of the pyserial library in order to query the USB vendor and device IDs. This is used to detect Rep 1 vs 2 vs ToM. You can get that from MakerBot's GitHub account, here:
The makerbot_driver's s3g.py driver is pretty tight about what kinds of G-code it will accept. makerbot_driver includes some (incomplete) examples for G-code filters to remove or rewrite codes that s3g.py won't accept. I've been hesitant to tackle writing the filter for this step, so s3g.py just chokes on the G-Code and the bot doesn't do much of anything when I print from BotQueue.
Most everything is is just about good to go. bumblebee already has an "s3gdriver" in place for loading up a G-code file, running it through a GCodeProcessor, and sending the resulting filtered G-Code to s3g.py. Unfortunately, the filter in there is not useful for output from slic3r.
You can find the bumblebee s3gdriver here:
BotQueue/bumblebee/drivers/s3gdriver.py
The GCodeProcessor it is using is here:
BotQueue/bumblebee/drivers/makerbot_driver/GcodeProcessors/SlicerProcessor.py
The G- and M-codes that s3g.py supports are here:
Tony Buser wrote a slic3r G-Code filter in Perl for another purpose, but it should be a good starting point on replacing the SlicerProcessor. Here's my copy of that:
I hope that helps!
Thanks,
Marty