CUPS 2.1 Is Adding Basic 3D Printer Support
cups.org
cups.org
Added support for 3D printers (basic types only, no built-in filters) based on PWG white paper. ... can anyone find the white paper?
Note the "copyright (C) 2015 Apple Inc" part (makes some sense given that Apple owns CUPS)
"Print to file" is a widely-supported printing operation, where the spooler saves the prepared document (in whatever format the printer uses: PostScript, Diablo 630, XPS, PDF, something proprietary...) to a file, rather than sending it down USB/parallel/etc.
> 3D printers also tent to be very unreliable
Plenty of regular printers are too, particularly older ones. Printing systems can handle it.
> you need ability to pause the print (jams, skips).
This is also needed, and supported, for regular printers.
> How is putting CUPS between you and the printer helpful?
Well, otherwise, you need some other software. Unless you're proposing people do `cat file > /dev/usb001`?
Because of the existing software support for integrating with CUPS. You know, the Common Unix Printing System.
I'm not up to date on the current state of the art, but 15 years ago industrial 3D printers required solid model generation, slicing using either some proprietary software or solidworks, and transmission to the device over network share, ftp, or sneakernet. Some or all of those parts could be common to a print system, reducing the scope for machine vendors, and allowing operators to mix and match components in interesting ways.
These days(for me, and most of the stuff I've seen) it's solid model generation, slicing using free/open source(slic3r or equivalent), transmission over usb.
It's an interesting idea, but part of the problem is slicing is currently a tricky operation. I change settings based on a variety of things. I'm not certain what this is cutting out, cause I doubt they made their own slicer. If this is just taking pre-sliced data files, then you have to run everything through your slicer before you can send it to CUPS anyways. If they are integrating a slicer into CUPS, that'd be interesting, but I'd be really interested to see how they handle the many many settings that you can(need) to configure to get your slicer to output a file that the printer will work with.
Another issue is quality of progress display. I like to be able to see the print while it's printing, and track variables like temp of the printhead and progress through the print. Bear in mind, the average hobbyist 3d printer is going to take more then a couple hours to print anything of halfway decent size, so "oh you can just sit and watch it" isn't an answer. I personally use OctoPrint, which lets me track the print, and even see it using a webcam.
I'm sure it's gotten much better, but CUPS is pretty opaque, and when you're doing 3D printing, controlling the conversion pipeline from model to print code is typically done manually with a great attention to detail.
Old Laser printers were brutally poor at modeswitching. You have to send the set of escapes for language selection in exactly the right state in the state machine for it to take effect. If you've left a bit of an old job in a buffer somewhere -- oops, that's 50 pages of raw postscript.
Modern printers that ditched plain-ASCII printing are far more reliable.
In general I think there's a positive correlation between the precentage of cases where software "just works" with no manual intervention and the effort required to diagnose the cases where it doesn't.
These days, I print in a number of ways that work fine, including Mac OS X (a version of CUPS which has already been debugged and polished for many printers I use), Windows (my preferred printing system since it supports the largest number of printers), and Google Cloud Print (for the set of printers I use that have that as their access protocol).
The main change when Apple purchased the project was a license change to allow proprietary drivers when running on OS X.
I suspect you're getting confused with the change from NeXTSTEP to MacOS X where Display PostScript was replaced with a PDF-like system for copyright/licensing reasons.
Why would cups concern itself with these parameters, versus, for example, just acting as a transport for the actual print file (gcode, x3g, etc.)? I feel like this is akin to having CUPS assemble a PDF, versus just acting as a transport for postscript file that gets printed.
If you want one example of a good high end 3D printer for the home market, I'd say take a look at the Form 1+:
The Taz and Taz mini are also quite good.
I have a LOT of different computers/VMs that need X in some form, and will never, ever EVER print anything. Why do I need the 10+ CUPS packages to install a minimal desktop environment?
This is also true for audio bullcrap.
I just hope that the 3d part of CUPS is easily removable... I'd hate to see it part of the common user experience, CUPS already has a reputation for a complex and bewildering UI as-is.
I agree that adding new features will introduce new defects. Should we allow fear of new defects to define what software should do?
This is true. Given CUPS's modularity, I think this won't add too much complexity, though.
> I just hope that the 3d part of CUPS is easily removable... I'd hate to see it part of the common user experience, CUPS already has a reputation for a complex and bewildering UI as-is.
I don't imagine it affecting the normal user experience at all. 3D printers are still printers and presumably configured similarly.