Toolchain

By toolchain I will mean the chain of tools that brings me from an idea of a 3D object to the movements of the printer that prints that object (a somewhat extended definition compared to https://reprap.org/wiki/CAM_Toolchains ). There are quite a lot of independence in these tools, as they largely use standard interfaces to communicate, so this is just my current choices - some of these choices does however influences some of the design choices of the printer as such.

Modeling

Before starting with 3D printing I had no experience with 3D modelling. However for me 3D printing is as much about the possibility of designing objects as it is about printing them. I started out with Sketchup, witch is free and quite approachable when you have no prior modeling experience. However my conclusion is that Sketchup is just no good for 3D part modeling. Some more Googling has turned me toward Fusion 360, which is a professional tool, but is free for makers. I find Fusion 360 quite intimidation, but are going to put some time into learning it. An interesting alternative is OpenScad, and as a programmer, I will probably dig into that befor using to much time on Fusion 360.
There seems to be no standard for moving models between different modeling software that keeps the model intact for editing, kind of boxing you in with the tool. The standard for exporting models for slicing is STL, which is supported by most tools.

Slicer

I use the Cura slicer, and although it is a bit quirky in the user interface I have had no problems with the actual slicing. Some have strong opinions about which slicer is best, but I suspect that the reason often is that different slicers have different defaults. I work on actually understanding all the settings in the slicer - I find these settings really important for getting good prints. Some area where the slicers may differ more is in generation of supports; an area where I don’t yet have much experience.
A really good thing in Cura is the neat integration with OctoPrint. I never save or move around GCODE files, I just lets Cura send to OctoPrint directly, and I also do simple stuff like preheating directly in Cura. So Cure is both my slicer and my basic interface to the printer!

Scheduler

I am not sure that is the correct designation, but I call OctoPrint a scheduler. I don’t plan to control the printer directly on some printer panel and I never want to move around GCODE files on SD-cards. OctoPrint runs on a Raspberry Pi, and handles all control of the printer - mostly through GCODE’s, but also by controlling hardware more directly. This means that a Raspberry Pi running OctoPrint is going to be a part of my printer electronics.
The only alternative to OctoPrint I know of is Repitier Server of which I have little actual knowledge, for know I am very satisfied with OctoPrint not least because of the large collection of different plugins available.

Controller

By tradition a controller running firmware controls the printer by interpreting a stream of GCode commands. I am going to use Klipper, that is special in being split in two: 1) one part runs on the Raspberry Pi alongside OctoPrint - this part interprets the GCODE and schedules the steps of the motors. 2) another part runs on an Arduino micro-controller - it takes directives from part 1 and handles the hardware, mostly just motor steps, pin setting and reading and interrupts. Klipper kan split the tasks between several cheap controllers, and I am going to use two RAMPS controllers.
In the HEVO community the Duet controllers has a lot of popularity. This controller seems very nice, but I really like the software/hardware architecture of OctoPrint+Klipper a lot better. It is more modular, is seeing a lot of high quality active development, and also turns out somewhat cheaper. Merlin on different controllers without or with OctoPrint also has a lot of popularity, but does not seem up with the other options as far as I can see.

This complete toolchain means I will mostly just use Fusion 360 and Cura, and only occasionally do stuff in OctoPrint - I will not normally mess with the controller directly. Fusion 360, Cura and OctoPrint can all be used on my PC. Additionally I plan to have a cheap small Android tablet mounted on the printer, so I can use OctoPrint while being at the printer.

Comments

Popular posts from this blog

Electronics #3: Setting up the first RAMPS with Klipper

Electronics #2: Setting up Raspberry Pi with OctoPrint

Electronics #?: wiring a stepper motor