Last week we lamented the current state of personal 3D printing workflow: difficult. It's so difficult we believe many potential mainstream 3D printer owners would never be able to make their way through it. But what's the answer? What should the experience look like for the majority of future 3D printer owners?
Let's look at what works: The familiar 2D "Print" button. It's not quite as simple as just hitting the button, as you must occasionally specify the number of copies, the print quality or the portion of your document to be printed. These are things that are known only by you and cannot be known by the printer - unless it can read your mind! Perhaps that will be a future feature, but for now, we must specify that stuff when we request a 2D print.
What's hidden from the 2D print user is the complexity. The 2D print user does not see the printer's mechanical instructions for print head movement, temperature settings and the like. Those are the concern of the printer itself, and have been pre-engineered into the device for optimum performance. Those factors were developed by the printer's professional engineers at great time and expense and have been tested to deliver the best performance.
Hiding the complexity is not done in today's home 3D print workflow. The printer operator is exposed to all that stuff, and while some may find it interesting, the masses will be vastly confused by it.
Why are we exposed to all that complexity? We believe it's because today's home 3D printers are dumb. A 2D printer can accept a complex file such as PDF and figure out on its own how to move its mechanical parts to successfully render the images and text. Today's home 3D printers cannot do this. They must rely on this processing to take place separately in software on the printer owner's PC. This means that such software must necessarily be able to handle all kinds of different 3D printers, making the problem even more complex.
We believe the "3D Print Button" will not truly appear until 3D printers are smart enough to accept generic 3D model files (in an appropriate format) and process them internally in the optimum way for that particular printer. Then you'll not only be able to "print" using simple commands, but you'll also be able to print on different printers, too.
3D printers should be self-aware of their configuration and the currently loaded materials so they can verify the print request is valid or make appropriate corrections. This is particularly important for 3D printers with multiple heads and materials, which have different thermal requirements.
When will this happen? Not for a while, we fear. It turns out that the processing required to handle 3D model slicing and rendering is daunting and probably requires PC-type processing power, at least for now, to get the job done.
Meanwhile, there are some optimizations that could be attempted in the existing personal 3D printing workflow we'd like to see:
- Eliminate SD card printing. 3D printers should be USB attached like other printers and accept input files on an internal buffer.
- Printer management software should have a minimal interface, emphasizing only the most basic decisions facing the user, while hiding the more complex settings for experts to use when they feel the need.
- Printer management software should be as integrated as possible, hopefully to a single tool. Eventually we'd like to see a "3D Print" button built directly into all 3D modeling and viewing software.
- Printers should always be bundled with highly optimized configuration files that ensure successful and accurate 3D printing right out of the box.
- 3D printers should be offered with an "assembled" option to ensure those who can't build one are still included.
- 3D printer owners should not have to calibrate their machine or software. It should just work.
- Software tools should validate the printability of a given model and automatically fix obvious common errors.
- Printer users should be provided with significant feedback on the validity of their print request, the estimated time required for printing.
That's a lot to ask, for sure. But wouldn't we like to see all of those things happen? What else would you like to see in an optimized 3D print workflow?