A printing dispatch engine for 3D objects and their friends
Python C++ Other
Latest commit c7a0b67 Feb 26, 2013 Matthew W. Samsonoff Disable excessive logging.
Failed to load latest commit information.
data Fix the name of the conveyor.server module for the Upstart configuration Feb 11, 2013
debian Merge branch 'rep2X_fix_fix' Feb 20, 2013
doc Split JsonReader into its own file and grant it the ability to strip … Jan 17, 2013
include/conveyor Move emission of conveyor::Job's concluded signal out of JobPrivate Feb 22, 2013
linux Make debian service starting not fail Jan 30, 2013
mac Update mac configs to match new paths Jan 28, 2013
site_scons/site_tools Standardizing qt4 tool across packages Sep 7, 2012
src Disable excessive logging. Feb 26, 2013
submodule Update conveyor_bins ref to pick up distutils __init__.py Feb 24, 2013
wrapper Yeah, just going with nofork now. Aug 2, 2012
.gitignore Ignore the log files. Jan 28, 2013
.gitmodules Make build use mw-scons-tools for all scons tools Sep 24, 2012
COPYING Add license. Apr 5, 2012
CopySharedLibs.sh added jog method to conveyor cpp object, added kludge to .pro to sudo… Jul 16, 2012
Doxyfile Make doxygen ignore 'private' items. Apr 26, 2012
HACKING.md added test for serial being makerbot's serial, as well as path setup … Jul 27, 2012
README.md added readme for conveyor setup Nov 5, 2012
SConscript Fix for linux virtualenv Feb 15, 2013
SConstruct Properly handle external egg dependencies during build and make a 2.6… Feb 5, 2013
TODO Update TODO. Sep 23, 2012
client-dev.py Re-enable the `-m` flag but use it in a way that works with both Python Feb 8, 2013
conveyor-debian.conf Fix for Skeinforge path in Debian config Feb 13, 2013
conveyor-dev.conf Another fix for default Miracle-Grue path in the dev config Feb 8, 2013
conveyor-mac.conf Update the default OSX configuration file. Feb 8, 2013
conveyor-thing.bat.old Adding old batch files as reference. Jul 10, 2012
conveyor-win32-dev.conf MW-384 Some Windows machines have a bad host file entry for "localhost". Jan 8, 2013
conveyor-win32.conf Disable excessive logging. Feb 26, 2013
conveyor.bat.old Adding old batch files as reference. Jul 10, 2012
conveyor.conf Fixing path to unified_mesh_hack Dec 3, 2012
conveyor_cmdline_client.py Fix conveyor_cmdline_client.py and conveyor_service.py, even though you Feb 4, 2013
conveyor_service.py Fix conveyor_cmdline_client.py and conveyor_service.py, even though you Feb 4, 2013
conveyord.bat.old Adding old batch files as reference. Jul 10, 2012
mb_version Adding version file. Jan 24, 2013
pi_test.py updated version of bot detector and query, fixes some problems in det… Aug 7, 2012
pic_test.py Add pi_test.py and pic_test.py. Jul 19, 2012
restart-dev.sh Fix restart-dev.sh so that it also deletes the .pid and .socket files. Jan 25, 2013
restart.bat rebuilt start/end/restart/stop batch scripts to match the release branch Aug 2, 2012
setup-dev.sh Fix setup-dev.sh to work with the new build system. Feb 13, 2013
setup.py Add the conveyor.machine.port package to setup.py. Feb 1, 2013
setup.sh Use python_daemon 1.6 Nov 20, 2012
setup_conveyor_env.py Fix handling if install_name_tool for OSX. Feb 12, 2013
setup_conveyor_env.sh Properly handle external egg dependencies during build and make a 2.6… Feb 5, 2013
start-dev.py Re-enable the `-m` flag but use it in a way that works with both Python Feb 8, 2013
start.bat Fix a stupid typo in start.bat. Feb 4, 2013
stop-dev.py Sleep longer before deciding that conveyor needs to be killed in a more Jan 25, 2013
stop.bat Stop.bat leaves pid file intact, start.bat deletes it if exists Dec 6, 2012
test-suite.py fixing test-suite script, minor error. Jan 9, 2013
test.py Add command-line options to test.py for setting the logging May 3, 2012
test.sh updated stoppable test coverage to get more thatn 75% coverage, and t… Oct 30, 2012
virtualenv.py Add virtualenv.py since people usually don't have it installed. Jun 14, 2012



the conveyor module handles machine connections and is the commnunication link bewtween Makerware UI and makerbot_driver

##Repository Setup To run conveyor from the command line, you must also clone the s3g (makerbot_driver) repository. If you want to slice models, you must also clone the Miracle-Grue Repository or the Skeinforge repository. These repositorys must be installed at the same folder level as conveyor. To use Miracle-Grue, you must build a miracle-grue binary. Instructions for this are contained in the Miracle Grue repository.

##VirtualEnv Due to makerbot_driver's dependency on our (Makerbot Industries) own version of pyserial, and for the sake of not polluting your own system that may have the 'true' version of pyserial installed, you must invoke conveyor inside a virtualenv. We provide the necessary files to operate inside a VirtualEnv that will install all dependencies for you without polluting your own machine.

First, obtain a copy of our version of pyserial. This can be done VIA git. On the same directory level as makerbot_driver, in a terminal window issue:

git clone git@github.com:makerbot/pyserial.git

Dependent submodules must be up to date to run the virutalenv. In the root directory of makerbot_driver, issue:

git submodule update --init

To create the VirtualEnv, inside the root directory of the makerbot_driver folder, issue:

python virtualenv.py virtualenv

To configure the VirtualEnv, navigate to the root directory of the makerbot_driver driver and, in a terminal issue:


To activate the VirtualEnv, in the root directory of the makerbot_driver driver, issue:

. virtualenv/bin/activate

##Additional Conveyor dependencies Conveyor relies on submodules. Set these up using:

git submodule update --init

Then get the pyserial egg using:

cd submodule/conveyor_bins
easy_install pyserial-2.7_mb2.1-py2.7.egg

Note the pyserial egg can also be activated from the makerbot_driver directory using the same process. This is an option if there are any issues running the install in the conveyor directory.

##Running Conveyor Conveyor has a server-client organization. The conveyor server runs continually, and the conveyor client makes requests to the server. You can run both the server and client processes in the same command line terminal, but it is often advantageous to run them in separate terminals.

To start the conveyor_service, from the top level of the conveyor directory, run:

python conveyor_service.py  -c conveyor-dev.conf --nofork

conveyor-dev.conf is the configuration file used for the dev configuration. This file describes the repository dependecies described at the top. Install versions of Makerware have an alternate conf file. If you want to print debug messages while running the conveyor server, use the flag '-l DEBUG'.

Run the conveyor client in a seperate terminal. first activate the virtual env. from the top level of the conveyor directory, run:

. virtualenv/bin/activate

There are a number of client operations that can be performed. To print to a connected bot, run:

python conveyor_cmdline_client.py -c conveyor-dev.conf print 'intputfile'

To build a model to an s3g/x3g file, use:

python conveyor_cmdline_client.py -c conveyor-dev.conf printtofile 'inputfile' 'outputfile'

These commands will run with default configurations. To view configuration options for an operation, use the -h flag. To see a list of operations run:

python conveyor_cmdline_clieny.py -c conveyor-dev.conf list

Logging messages while running conveyor are stored in the conveyord.log file, located at the top level of the conveyor directory.