A 3D printer uses more than hardware to operate properly. When Aleph Objects wanted to create a custom 2.0 version of its open-source Cura software that runs its LulzBot desktop 3D printers, it turned to Boston-based Integrated Computer Solutions (ICS) to make it happen.
Aleph Objects engineers wanted to make life easy for users by developing robust software that could capably support the entire line of printers, as well as the 3D printing filament materials sold by both the company and its partners. The engineers also looked to ICS to help automate the build process and acquire the ability to conduct far more extensive quality assurance (QA) testing.
Cura is an expansive application implemented using Qt, which allows the software to run on multiple platforms. Because Cura uses several third-party libraries that are implemented in Python, C++, C, and even FORTRAN, the ICS team needed to leverage broad domain knowledge related to 3D printing. The engineers at ICS customized Cura for Aleph Objects’ branded hardware, optimizing settings for the specific printer model and filaments. The updated software prepares files for printing and allows users to easily control the printer’s operation. As part of the new release, ICS incorporated a modern user interface, added more slicing options, and enhanced print quality.
As an open-source product, the software needed to run well on Linux, Windows and Mac platforms. That meant for each platform developers had to provide packaged binaries: dmg files for macOS; graphical install wizards for Windows; and, for Linux, packages in deb format for both Ubuntu and Debian Linux distributions.
To improve product quality and eliminate redundant development tasks, ICS set up build servers for all these platforms, automating simple, repeatable tasks. Here’s how it works: the server pulls code from the git repository, builds it on a suitable machine, and then uploads packages to a download server. By automating this process, consistent builds for both release and internal testing purposes were made available daily.
Prior to connecting with ICS, Aleph Objects was able to focus QA only on a few hardware configurations and strictly the Linux platform. Because the company’s software supports multiple models of printers with a variety of possible hardware configurations, running on multiple platforms, a more formal QA process was needed.
The development team set up an array of 3D printers and computers in ICS’ innovation lab — enough equipment to test the gamut of hardware and software combinations Aleph Objects supports. The team wrote a formal test procedure and included in the test matrix 25 different combinations of printer hardware, computer hardware, platform, operating system version and screen resolution.
Daily testing, which culminated with a 15-minute test print, verified all the basic functions of the Cura application. Developers also could complete a comprehensive test of the entire application on all platforms in about a day. Thanks to the revamped QA process, Aleph Objects was able to quickly and confidently release Cura 3.2 after a brief beta test cycle.
Integrated Computer Solutions