3D Printing

The Printer Working Group has developed an extension to the Internet Printing Protocol for 3D Printing. The extension combines our IPP network printing protocol and Job Ticket formats with existing high-level 3D file formats or PWG Safe G-Code to describe the objects to print, discover the printer's capabilities, and monitor a job's progress with portability and interoperability. The IPP Workgroup has also developed a version of the PWG Semantic Model Print Job Ticket schema for 3D printing to support data exchange and embedding within common 3D file formats such as 3MF and 3D PDF documents so that user intent is preserved regardless of the transport or workflow used.

We welcome participation from all interested parties in the continued prototyping and development of these specifications.

3D Printing and the Practical Applications of Time Travel

The PWG and its predecessors have spent the last 60+ years defining and refining 2D printing, to the point that today you can print without using vendor-specific software or hardware. 3D printers can take advantage of the many years of traditional 2D printing to offer high-level, networked, and cloud-aware printing services to client devices running any operating system. IPP provides a flexible and secure network protocol for queuing jobs, monitoring the state of jobs and printers, and managing jobs and printers.

When combined with a high-level 3D file format, the proper job ticket attributes (print options), and service discovery (Bonjour) or directory (LDAP) protocols a client device can successfully print 3D objects to any printer using "generic" software.

IPP 3D Print Jobs and Capabilities

Client devices query an IPP 3D printer for the available materials and capabilities (heated build platform, multiple material support, etc.) and then send 3D files to the printer, specifying the material(s) and other options to use for the print job. The client can then monitor the progress of the job and the printer status, including any available camera video of the build platform. All slicing happens on the printer.

IPP 3D File Formats

3D Manufacturing File Format (3MF): 3MF offers a compact XML format with physical dimensions, named materials, and shared vertices. 3MF is supported by major CAD and slicer software and is a required file format for the IPP 3D Printing Extensions.

PDF: PDF 1.7 (ISO 32000-1) includes 3D support using the Universal 3D format ("U3D", ECMA-363) and PDF 2.0 (ISO 32000-2) adds support for the Product Representation Compact format ("PRC", ISO 14739-1:2014) format. Both U3D and PRC are binary file formats with named materials. PRC also includes manufacturing tolerance metadata. Future versions of PDF will add support for the STEP-NC format for 3D content. PDF is a recommended file format for the IPP 3D Printing Extensions.

PWG Safe G-Code Subset for 3D Printing: G-Code is the de-facto pre-sliced format for FDM and concrete printers. The PWG subset limits the G-Code commands that can be used to those that are common and have no side-effects.

Intent vs. Process

IPP is based on an intent-based data model - what you want done - vs. a process-based data model - how you want something done. This design choice has served us well over the past 20+ years to support a wide variety of printing technologies and features. With IPP 3D, you specify the materials you want used for a print, quality values (accuracy, in-fill, etc.), and in some cases environmental values (temperate/humidity) that are necessary to produce a successful print - this is known as a Job Ticket. The Job Ticket can even specify international standard material identifiers to ensure the printed result meets the requirements of the job. The printer then determines the best way to satisfy the Job Ticket, given the unique physical and technological characteristics of the printer, and produces the 3D object provided by the client.