Remote Slicer (Alpha)
by cun83, published
Remote Slicer is a Client-Server program that offloads the slicing of your models to a fast remote computer. This way, you can use a slow computer to control the printer, while still enjoying the fast slicing times from a state-of-the-art computer.
Additionally, you can keep using the printer computer as a frontend, the remote slicing process is transparent to the printing host. Even better, the configuration on the printer computer is used by the remote slicer, you can still use the GUI to configure you printer, and have different configurations for each printer.
Update - 2013-02-23 - Alpha4
-Connection Timeout raised to 60 minutes. Slicing times >1 minute are possible now XD
Update - 2013-02-20 - Alpha3
-Both client and service should run on Linux now... or pretty much anywhere where a recent Mono version is available... *nix, MacOS, you name it :-)
-Service needs to be run as admin on Windows
Update - 2013-02-19 - Alpha2 (Client only update)
-Use multiple services to fall back to! (hint: use one local service for fallback to local slicing :-) )
-Config file changed. See comments in the .config file for how to configure multiple services
-Use Alpha1 service with the Alpha2 Client
Read the instructions for additional information.
Current features - Alpha3
-Linux, MacOS, Unix support via Mono
Current features - Alpha2
-Use Multiple services to fall back to!
Current features - Alpha1
-Client config is used by remote slicing services
-Fall back to local slicing if no service is available (without local service running)
-Configurability for the client & services
-Live feedback from the slicing process
-Support for more (all?) slicers
-Make the service a windowless service / background program
Recent Commentsview all
Just tried both ways, and I get the same error on both.
Unhandled Exception: System.TypeLoadException: A type load exception has occurred.
[ERROR] FATAL UNHANDLED EXCEPTION: System.TypeLoadException: A type load exception has occurred.
How would I invoke this on linux? "./RemoteSlicer_Service.exe" or with mono something like "mono RemoteSlicer_Service.exe -home /home/jc61990/remote_slic3r&"
Going to give this a shot for remote slicing from work. I print with a raspberry pi, and sometimes my cubieboard. Both absolutely do not have the power to slice.
Liked Byview all
Give a Shout Out
The slicing time of a moderatly complex model went down from ~230s on my atom netbook to 37s on a Core 2 Quad machine.
Please note: This is work in progress, a barebone but functional proof-of-concept implementation. As it is working fine already, I figured I'll give you a chance to enjoy remote slicing early on. Follow this thing (or me) to be notified of future versions.
-Always use the latest version of both the client and the service. The versions are not necessarily in sync, just use the latest of each and it'll work :-)
-Integration into Pronterface is easy, and other host software that lets you can change the slicing software should work as well.
-If you have any suggestions or features you would like to see then I would love to hear about that.
-Currently only Slic3r is supported as a slicer
-Works on Windows, Linux, and probably MacOS, Unix... anywhere where you can install a recent .NET or Mono version (http://www.mono-project.com/)
-Service needs to be run as administrator on Windows (or permissions for URL-space can be given to a user/group. Run "netsh http add urlacl" in an admin cmd and see the help for the command. Url is "http://+:3333/SlicingService". Example for user cun83: "netsh http add urlacl url=http://+:3333/SlicingService user=cun83")
Instructions and Informations
Setup - Server
-Put a working installation of Slic3r on the server machine
-Extract the Remote Slicer Service zip on the server machine
-Edit the "RemoteSlicer_Service.exe.config" file, and insert the path to your Slic3r installation in the "Slic3rPath" configuration setting (just replace the existing path there). This needs to be the path to where the executable is! (slic3r.exe on Windows, slicer on Linux)
-Linux only (and maybe other non Windows OSs) : you need to add a symlink named "slic3r.exe" that is pointing to the slicer executable (slicer in Linux). This name is currently hard coded in the service... Oops.
-Run the "RemoteSlicer_Service.exe" service program. Just leave it running, no user interaction is required.
Setup - Client
-Extract the Remote Slicer Client zip file somwhere on the client (I like to put it in it's own subfolder in the pronterface folder)
-Read comments in "RemoteSlicer_Client.exe.config" how to set up one (or multiple) remote slicing services to use (hint: use an additional local service for fallback to local slicing :-) )
-Setup your host program to use RemoteSlicer as a slicing program. It uses the same arguments as Slic3r:
%INPUTFILE% --load %CONFIGFILE% --output %OUTPUTFILE%
(see screenshot for configuration of pronterface option. Note: this assumes that you put Remote Slicer in a subfolder of pronterface (i.e. next to the Slic3r folder), called "RemoteSlicer". You can use absolute paths for the exe and the config.ini file if you have different folder structures).
-Both the client and the server need the Microsoft .NET Framework 4.0 Client Profile installed (OR a recent Mono version (http://www.mono-project.com) if you're running an OS other than Windows). See thingiverse.com/thing:51262#comment-810548825 for download link (Windows only).
-Port 3333 needs to open for incoming connection on the server, and the client needs to be able to use Port 3333 for outgoing connections. You may need to configure your firewalls to allow for this. [Edit:] Windows only: Turns out you need to add a rule to the firewall in advanced config (Allow Port 3333 TCP). Simply addding the service exe to the allowed programs does not suffice!
-Do NOT publish the service on a public IP. It's neither intended nor safe to do that.
You must be logged in to post a comment.