===== Raspberry Pi as a Host: Installing and Running Slicers =====
Slic3r and skeinforge are programs for slicing (turning shapes into G-code files, so they can be printed). It's best to do this on a machine other than the Pi, but if you want to try them on the Pi here's how to install them.
The following assumes that you have already installed the host program called pronterface, as described [[raspberry-pi/|here]]. It's a good idea to install pronterface, even if you intend to use a different host control program; it's light on resource requirements, and gives you something to switch to if you suspect that your other host control program might be causing problems. (If you switch to a different host program and the problem doesn't go away, then the problem is probably being caused by something other than the host program.)
== skeinforge ==
If you want to run skeinforge on the Pi, get the latest version from [[http://fabmetheus.crsndoo.com/|here]]. Make a subdirectory called ~/Printrun/skeinforge/ and unzip the contents of the downloaded file into there. ( ~ stands for your home directory.)
== Slic3r ==
If you want to try Slic3r, install it into another subdirectory of Printrun:
cd ~/Printrun
git clone https://github.com/alexrj/Slic3r.git
cd Slic3r
sudo cpanm Boost::Geometry::Utils Math::Clipper \
Math::ConvexHull Math::ConvexHull::MonotoneChain Math::Geometry::Voronoi Math::PlanePath Moo Wx
./slic3r.pl
Slic3r will be installed and started, and will launch the Slic3r Configuration Assistant. You can use that tool, or instead you can cancel out of it and import some canned profiles already set up for the Bukobot; just download the appropriate zip file from [[host-slicing-settings|here]], unzip it, and use Slic3r's menu (File >> Load Config...) to load the profiles you need, starting with the profile that matches your printer, then the profiles for the filament you use, and some print profiles. (Or, find Slic3r's hidden folder, which on the Pi is located at ~/.Slic3r and simply unzip the file there.)
If you are using pronterface, and running your slicer from there, it will use skeinforge for slicing by default. To use Slic3r instead, you have to change some settings in pronterface. Start up pronterface, then do Settings >> Options, and widen the Edit Settings window enough so that you can see all of the values in it. Then change two values:
slicecommand:
perl /home/pi/Printrun/Slic3r/slic3r.pl $s --load /home/pi/.Slic3r/slic3r.ini --output $o
sliceoptscommand:
perl home/pi/Printrun/Slic3r/slic3r.pl --load /home/pi/.Slic3r/slic3r.ini --ignore-nonexistent-config
Note that you can't use relative paths there. If you are using a username other than pi, substitute that in four places.
If you decide to switch back to skeinforge, the settings are:
slicecommand:
python skeinforge/skeinforge_application/skeinforge_utilities/skeinforge_craft.py $s
sliceoptscommand:
python skeinforge/skeinforge_application/skeinforge.py
On a low-resource machine like the Pi, it makes sense to run only one program at a time, as it saves memory. You can run Slic3r as a standalone program, and use it to transform a .stl file into a .gcode file that can later be used to print a part with a printer control program like pronterface. You can create a desktop icon to launch Slic3r; create a file on Desktop called slic3r.desktop as described above, and put the following text into it:
[Desktop Entry]
Name=Slic3r
Comment=Slic3r for 3D Printer
Exec=perl /home/pi/Printrun/Slic3r/slic3r.pl
Icon=/home/pi/Printrun/Slic3r/var/Slic3r.ico
Terminal=false
Type=Application
Categories=Application;Development;
(As before, change the username in two places if needed.)
Some testing has been done with Slic3r on the Pi. It works, and runs fairly quickly; it can process a part much quicker than the printer can print it. More testing needs to be done to find out if Slic3r runs out of memory on the Pi when dealing with really large complicated parts.
[[raspberry-pi/|Go back to the Raspberry Pi page.]]
//The contents of this page may be re-used under any of the following licenses: The [[http://creativecommons.org/licenses/by-sa/3.0/|Creative Commons Attribution-ShareAlike 3.0 Unported License (CC BY-SA 3.0)]], or the [[http://www.gnu.org/copyleft/fdl.html|GNU Free Documentation License (GFDL, version 1.2 or later)]].//