Become an expert in R — Interactive courses, Cheat Sheets, certificates and more!
Get Started for Free

writePLY

Write Stanford PLY format files


Description

This function writes PLY files. This is a simple file format that is commonly used in 3D printing. It does not represent text, only edges and polygons. The writePLY function does the necessary conversions.

Usage

writePLY(con, format = c("little_endian", "big_endian", "ascii"), 
         pointRadius = 0.005, pointShape = icosahedron3d(), 
         lineRadius = pointRadius, lineSides = 20, 
         pointsAsEdges = FALSE, linesAsEdges = pointsAsEdges, 
         withColors = TRUE, withNormals = !(pointsAsEdges || linesAsEdges), 
         ids = NULL)

Arguments

con

A connection or filename.

format

Which output format. Defaults to little-endian binary.

pointRadius, lineRadius

The radius of points and lines relative to the overall scale of the figure, if they are converted to polyhedra.

pointShape

A mesh shape to use for points if they are converted. It is scaled by the pointRadius.

lineSides

Lines are rendered as cylinders with this many sides.

pointsAsEdges, linesAsEdges

Whether to convert points and lines to “Edge” records in the PLY output.

withColors

Whether to output vertex color information.

withNormals

Whether to output vertex normals for smooth shading.

ids

The identifiers (from ids3d) of the objects to write. If NULL, try to write everything.

Details

The current implementation only outputs triangles, quads, planes, spheres, points, line segments, line strips and surfaces.

The defaults for pointsAsEdges and linesAsEdges have been chosen because Blender (https://www.blender.org) does not import lines, only polygons. If you are exporting to other software you may want to change them.

Since the PLY format only allows one object per file, all RGL objects are combined into a single object when output.

The output file is readable by Blender and Meshlab; the latter can write in a number of other formats, including U3D, suitable for import into a PDF document.

Value

Invisibly returns the name of the connection to which the data was written.

Author(s)

Duncan Murdoch

References

The file format was found on https://www.mathworks.com on November 10, 2012 at a URL that no longer exists; currently the format is described at https://www.mathworks.com/help/vision/ug/the-ply-format.html.

See Also

scene3d saves a copy of a scene to an R variable; rglwidget, writeASY, writeOBJ and writeSTL write the scene to a file in various other formats.

Examples

filename <- tempfile(fileext = ".ply")
open3d()
shade3d( icosahedron3d(col = "magenta") )
writePLY(filename)

rgl

3D Visualization Using OpenGL

v0.106.8
GPL
Authors
Duncan Murdoch [aut, cre], Daniel Adler [aut], Oleg Nenadic [ctb], Simon Urbanek [ctb], Ming Chen [ctb], Albrecht Gebhardt [ctb], Ben Bolker [ctb], Gabor Csardi [ctb], Adam Strzelecki [ctb], Alexander Senger [ctb], The R Core Team [ctb, cph], Dirk Eddelbuettel [ctb], The authors of Shiny [cph], The authors of knitr [cph], Jeroen Ooms [ctb], Yohann Demont [ctb], Joshua Ulrich [ctb], Xavier Fernandez i Marin [ctb], George Helffrich [ctb], Ivan Krylov [ctb]
Initial release

We don't support your browser anymore

Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.