2018-10-03 09:06:56

For those with an interest in 3D printing...

I've been digging around lately for compatible resources to work with, and came across a tool called [Printrun]. It has a command line interface for connecting to and controlling 3D printers called "Pronsole" thats screen reader accessible. The Pronsole gives feedback on nozzle and bed temperatures, progress, and functions for controlling a 3D Printer, which can allow users to bypass the normally inaccessible hardware readouts and controls. The tests i've done with my rig and Anet A8 have been a bit flaky with inconsistent control and thermal readings, though that could be for a number of reasons, awkward chinese com drivers for example. Getting a second opinion from some other 3D printer enthusiasts running different hardware who use the program on KDE Debian seems to work fine.

I've also tested some available slicers for converting 3D models to printable gcode, Cura's GUI is inaccessible, but curaEngine has a command line system that could work. [Slic3r] though is almost entirely accessible, it has a robust command line system and screen reader compatible GUI, although its a bit fiddly for loading models, you have to tab to the 3D view row and move all the way right to the "layers" option, hitting tab after that should highlight the "add" button, which you can use to load stl models. The model display is still inaccessible, which can make positioning and scaling potentially problematic. Viewing the models in AudiMesh3D before hand though may help give an idea of the models default position and scale to work with. A copy of Slic3r is also included with Printrun.

-BrushTone v1.3.3: Accessible Paint Tool
-AudiMesh3D v1.0.0: Accessible 3D Model Viewer

2018-11-07 11:01:36

Bit of an update and expansion on this, I checked more with some local folks on the Pronsole input handling, and it does work fairly reliably on linux at least, albet a bit rough in some parts. When connecting to a printer you would use the "connect" command, which will attempt to connect to an available plugged in printer in its default config. If you type "help command" it will list the number of available comm ports to connect to, so you can type "connect COM5" and it will attempt to reach a printer connected to that port, if any if the default does not connect properly.

After that, the command prompt should feature a temperature gauge and progress percentage, such as 0/215, 0%>, which is the current temperature, set temperature, and percentage complete on print, this doesn't include the bed temperature however, which you'll need to use the "gettemp" command for. From there you would need to use the load command to initialize a G-Code file for printing by typing "load C:/myfolder/my_model.gcode", then use the print command and it should automatically begin heating and printing, if you type "help print" it will tell you what gcode file you have currently loaded, in case you don't want to print the wrong file by mistake, or change it by loading a different file. The Monitor command can also give regular feedback on the prints progress every 5 seconds, but no temperature feedback. You can also adjust the temperate on the fly by using the "settemp" and "bedtemp" commands, and the "eta" command can give you a rough estimate on how long the print will take, note that the estimate can fluctuate as its going. For regular updates on temperature and progress, all you'll need to do is hit enter to refresh the command prompt.

Typically when a print is finished the print head will automatically home to its starting position and set the temperatures back to a cool off mode, which is where things might get a bit tricky if you want to abort a print in progress. What you want to do is type the "pause" command which will stop the print but not reset the nozzle or bed temps, use the "home" command to return it to its starting position, and then the "off" command, which will shut everything off, even the cooling fans. You can reconnect to the printer and use the "reset" command to reinitialize the fans and system, but this isn't exactly a very graceful way of doing it, although it should be mostly okay as the nozzle and bed will start cooling when the heaters cut. Another would be to pause, home, and manually set the bed and nozzle temps to zero to cool off with the fans active, or just cut the power altogether.

If anybody plans on playing around with 3D printers, I would encourage you to try seeking out a local hacker or maker space, if one is available. They'll likely have a 3D printer on hand that you can experiment with using the Pronsole to get a feel for it, as opposed to dropping 200$ to 300$ on one with gnarly assembly that you may or may not use, heh.

-BrushTone v1.3.3: Accessible Paint Tool
-AudiMesh3D v1.0.0: Accessible 3D Model Viewer