Sustainability of Digital Formats: Planning for Library of Congress Collections

Introduction | Sustainability Factors | Content Categories | Format Descriptions | Contact
Format Description Categories >> Browse Alphabetical List

Polygon File Format (PLY) Family

>> Back
Table of Contents
Format Description Properties Explanation of format description terms

Identification and description Explanation of format description terms

Full name Polygon File Format (PLY) Family. Also known as Stanford Triangle Format.
Description

The PLY file format is a simple format for describing an object as a polygonal model. The format originated at the Stanford Computer Graphics Laboratory in the 1990s, where it was used for models derived from a 3D laser triangulation scanner. For this reason, the PLY format is sometimes referrred to as the Stanford Triangle Format or Stanford PLY. The goal stated in the introduction to The PLY Polygon File Format specification, written by Greg Turk in 1994, was to provide a format that was simple and easy to implement but general enough to be useful for a wide range of models. A PLY file describes only a single object.

The file format has two subtypes: an ASCII representation and a binary equivalent for more compact storage and more rapid saving and loading. Both subtypes start with an ASCII header, using carriage return (CR) as line separator that defines the elements and associated properties stored in the file. The first line of the header holds the ASCII characters "ply" followed by CR and serves as a magic number. The second line of the header declares the subtype used for the numeric data that follows the header, using one of the values format ascii 1.0, format binary_little_endian 1.0, or format binary_big_endian 1.0. Subsequent lines in the header declare the structure of the numeric data that follows the header, identifying elements and properties associated with each element. The core set of elements that any software for processing PLY files is expected to recognize are vertex and face. A vertex is a point; defined by its coordinates in three dimensions (properties x, y, and z). The properties of a face indicate how many vertices the face comprises (3 for a triangle) and specify those vertices. For a simple example and links to more, see PLY Files. The PLY format specification allows for user-defined elements and properties. To encourage interoperability, the specification supplies a second list of elements and properties that are described as "often used." These include basic support for color and characteristics of surface materials, such as reflectivity, by use of additional properties for the vertex element and a new material element.

The PLY format can also be used to store a point cloud, a collection of vertex elements without specification of faces that connect them. See, for example, description of Scanalyze software with a point cloud example and The PLY Format from MathWorks.

A third list of elements and properties in The PLY Polygon File Format specification is for "suggested extensions." The compilers of this resource have not been able to determine whether elements and properties from this third list are used widely or the degree to which elements and properties not on any of the three lists are in use. The table of "common elements" at The PLY Format, from MathWorks, lists all the elements in the second list, but only four from the third list. Because project-specific elements and properties can be used, the full detail of some PLY files may not be recognized and imported by all software claiming to handle the PLY format. For example, the basic mesh geometry may be rendered correctly, but information about textures may be lost. Comments welcome.

Production phase The PLY format is frequently used as an initial-state format as output from a 3D scanner or other process used to generate a point cloud or polygon mesh model of the surface of a physical artifact. The PLY model will often be input to 3D modeling software to add features not supported in the PLY format. For simple objects, PLY can be a middle-state format, e.g., as input to a 3D printing process. Models are often shared for re-use in the PLY format.

Local use Explanation of format description terms

LC experience or existing holdings No direct experience as of late 2019.
LC preference The Library of Congress Recommended Formats Statement (RFS) includes PLY as an acceptable format for Scanned 3D Objects (output from photogrammetry scanning.

Sustainability factors Explanation of format description terms

Disclosure

The PLY Polygon File Format is openly documented but not maintained through a formal governance structure.

The format was developed in the mid 1990s at the Stanford Computer Graphics Laboratory under the direction of Marc Levoy. A specification document was written in 1994 by Greg Turk, who was at Stanford as a post-doctoral student and has since been on the faculty of the University of North Carolina and Georgia Tech. Copies of the specification include "Copyright (c) 1994 The Board of Trustees of The Leland Stanford Junior University. All rights reserved. Permission to use, copy, modify and distribute this software and its documentation for any purpose is hereby granted without fee, provided that the above copyright notice and this permission notice appear in all copies of this software and that you do not sell the software."

    Documentation The most complete specification identified by the compilers of this resource is at http://gamma.cs.unc.edu/POWERPLANT/papers/ply.pdf. See Format Specifications below for links to additional copies.
Adoption

The PLY Polygon File Format has been in steady use since its introduction in the mid 1990s, primarily for 3D models derived by scanning physical artifacts. As of 2019, with 3D models in wide use for video games, online product information, 3D printing, and in archaeology, medicine and other professional disciplines, the simple, openly documented formats developed over 20 years ago, such as PLY, OBJ, and STL are supported in new contexts. For example, recent versions of the Windows and Mac operating systems come with basic tools that can render 3D files in a small number of formats, including the PLY format. Windows 10 includes Paint 3D, which can open files in PLY, STL, OBJ, 3MF, FBX, and GLB (the binary variant of glTF_2_0) formats. The version of Preview shipped with versions of Mac OS since 10.11 (El Capitan) has also been able to render 3D models in a number of formats; in 2019, Preview in Mac OS 10.14 (Mojave) supports PLY, OBJ, STL, USD (Universal Scene Description), ABC (Alembic), and possibly more.

Many tools for generating 3D models from physical artifacts can output PLY files. See, for example, Best Photogrammetry Software and 10 Best 3D Scanners in 2019 from All3DP.

Cultural heritage institutions and archaeologists have used the PLY format when scanning 3D artifacts in order to generate models that can be displayed online and viewed from all directions. For example, Reconstruction of a Nineteenth Century Plaster Piece Mold and Recreation of a Casting, published in 2009, describes use of the format by the Smithsonian Institution's Museum Conservation Institute. PLY continues to be used at the Smithsonian Institution. It is supported in the MeshSmith tool developed by the Smithsonian's 3D Digitization Program Office. MeshSmith is integrated into the Cook system (in development as of Fall 2019), which provides a simplified interface to manage 3D processing pipelines using about a dozen of the most widely used 3D processing tools. The UK Archaeology Data Service lists the PLY format in a table of "common" formats, and describes it as "suitable for preservation." A tool that can be used to render PLY files on the web is 3D Heritage Online Presenter (3DHOP) from the Visual Computing Lab of ISTI-CNR in Pisa, Italy. See Useful References below for more about 3DHOP.

SketchFab is a popular service for publishing 3D models and offers features aimed at museums. See, for example, The Gresham Ship. PLY is supported for uploading models to SketchFab. However, it is not one of the preferred formats listed at Supported 3D File Formats.

3D modeling applications and conversion tools that can import, export, or convert PLY files include: MeshLab, a widely used software system for manipulating 3D mesh models, maintained by the Visual Computing Lab of ISTI-CNR; Blender, a popular free and open-source 3D creation suite supported by the Blender Foundation, an independent non-profit public benefit corporation, established in the Netherlands; Mathematica; MathWorks; Rhinoceros; Aspose.3D for Java; Assimp (Open Asset Import Library); and quick3D. Examples of software libraries and tool that have been developed specifically to read and write files in the PLY format include: RPly, an open-source library in the C language; and Tinyply, an open-source library in the C++ language; PLY File Importer from Okino Computer Graphics (with a corresponding PLY File Exporter); and PLY tools from Georgia Tech.

The PLY format is often mentioned in association with 3D printing. For example, The Battle of File Formats: STL vs OBJ vs PLY, a blog post from a site dealing with applications in dentistry, identifies PLY as one of three formats commonly used for 3D printing in that domain. Also in the medical field, On-Demand Anatomical Models describes a service from 3DSystems for 3D printing based on uploading an STL, OBJ, or PLY file. What File Formats are used in 3D Printing?, a blog post from 2016 states, "PLY (Polygon File Format) files are generated by 3D scanners ... When 3D printing, you convert a PLY file into the format accepted by the 3D printer." 3D scanners that can generate PLY files include: NextEngine; and Sense. The post 4 Most Common 3D Printer File Formats in 2019 from All3DP does not include PLY. However, some 3D printers are packaged with software that directly accepts models in the PLY format, e.g., the X5 and other 3D printers from Tiertime. In addition to applications listed above, free applications from mainstream software companies that can be used to prepare models for a 3D printer and that support the PLY format include: 3D Builder from Microsoft; and Meshmixer from AutoDesk.

    Licensing and patents There are no concerns about patents or licensing associated with the PLY format.
Transparency The ASCII variant of the PLY format is in plain text, and thus easy to view with basic editing tools. The structure is simple and it is straightforward to build tools for reading and rendering based on the elements and properties listed in the header. The binary variants have an ASCII header that describes the simple structure and data types in use to enable straightforward development of software to read and write compliant files.
Self-documentation The mandatory header describes the technical details needed to render the file. The format provides no support for any other structured metadata. Comments can be included to provide informal descriptive and contextual metadata and information about provenance.
External dependencies None
Technical protection considerations None

Quality and functionality factors Explanation of format description terms

Other
3D Model Geometry A typical PLY object definition is simply a list of (x,y,z) triples for vertices and a list of faces that are described by indices into the list of vertices. Most PLY files include this core information, although some represent point clouds and do not have faces. Faces are often triangles, but can be polygons with more sides. The PLY specification at http://gamma.cs.unc.edu/POWERPLANT/papers/ply.pdf indicates that vertex properties for normal components are "often used." Normal components can facilitate the representation of smoothed surfaces for polygonal meshes. See Wikipedia entry for Normal(geometry).
3D Model Appearance The PLY format can be used to define coloring, but the core element list in the specification does not include capabilities for defining material characteristics, shading, or use of images to define surface appearance. Appearance characteristics can be added by defining new elements, that will be ignored by applications that do not recognize the element names. The PLY specification at http://gamma.cs.unc.edu/POWERPLANT/papers/ply.pdf indicates that vertex properties for colors (R,G,B, and alpha), and simple material characteristics are "often used." These elements for material characteristics allow basic properties for color and reflectivity.
3D Model Scene A PLY file can define only a single object, not a scene with several objects. The PLY format cannot incorporate control of lighting or pre-determined viewing positions.
3D Model Animation The PLY format does not support pre-determined animation sequences or skeleton structures (assemblies of bones and joints). A 3D viewer that can render models in the PLY format will allow rotation and zooming.

File type signifiers and format identifiers Explanation of format description terms

Tag Value Note
Filename extension ply
This file extension is found in practice, and listed in many file format resources.
Internet Media Type See note.  There is no media type registered with IANA. text/plain is appropriate for the ASCII variant and application/octet-stream for the binary variants. In practice many PLY files are stored and shared as ZIP or TAR files.
Magic numbers ply[CR]
"ply" followed by the carriage return character is mandatory content for the first line of the header of a PLY file according to the specification. The PRONOM record allows for other line separators and combines the first two lines of the header as the internal signature for a PLY file.
Pronom PUID fmt/831
See https://www.nationalarchives.gov.uk/pronom/fmt/831. Covers ASCII and binary variants.
Wikidata Title ID Q3077345
See https://www.wikidata.org/wiki/Q3077345. Covers ASCII and binary variants.

Notes Explanation of format description terms

General

3D Model Characteristics: The quality and functionality factors used above are based on an analysis from 2008 in An Overview of 3D Data Content, File Formats and Viewers, a technical report (ISDA08-002) from the National Center for Supercomputing Applications (NCSA). According to this analysis, the key aspects of a 3D model are: geometry, appearance, scene, and animation. For brief descriptions of these factors, see the table for 3D model formats under Quality and functionality factors. The descriptions there are drawn from the 2008 report and from 8 Most Common 3D File Formats of 2019 (an article from C|net), which uses the same factors to distinguish formats.

All 3D formats support some method for representing the geometry (the shape) of an object; support for other aspects is optional depending on the primary use of the format. Table 3 in the 2008 report, An Overview of 3D Data Content, File Formats and Viewers, compares nine popular 3D formats in use in 2008 based on these four aspects of 3D models. This table includes PLY.

History

The PLY format was developed in the mid-1990s by Greg Turk and others in the Stanford Computer Graphics Laboratory under the direction of Marc Levoy. Greg Turk has been a faculty member at the University of North Carolina and Georgia Tech where he continued to work with the format. See PLY Model Utilities from UNC and PLY File Format page at Georgia Tech. The compilers of this resource have been unable to locate an update to the PLY format specification that is clearly later than http://gamma.cs.unc.edu/POWERPLANT/papers/ply.pdf. Comments welcome.


Format specifications Explanation of format description terms


Useful references

URLs


Last Updated: 09/11/2020