Skip to content
Novus Examples
ply4.7 KB

PLY — Signpost, +Z up (comment only)

The signpost as ASCII PLY with +Z up. PLY has no axis or unit element, so the convention survives only as a header comment that no parser reads — the reason scan data so often arrives rotated.

Loading 3D preview…

Interactive preview rendered from the equivalent glTF (signpost-z-up.glb); drag to orbit. Download the file above for the PLY original.

Specifications

Format
PLY (ASCII)
Up Axis
+Z
Declares Axis
false
Axis Record
header comment
Vertices
144
Faces
48

Testing contract

Reference control
Scenario
Parse the file and try to determine its up axis programmatically.
Expected result
Nothing machine-readable states it; the only clue is a comment, so orientation has to come from out-of-band knowledge or from measuring the geometry.

What is a .ply file?

PLY (.ply, Polygon/Stanford Triangle Format) is a flexible 3D format storing a list of vertices and faces with arbitrary per-element properties (position, colour, normals, confidence), in ASCII or binary. It is standard for scanned meshes and point clouds.

How to use this file

Use an example .ply file to test mesh/point-cloud parsers (Open3D, MeshLab), per-vertex colour handling, and PLY conversion.

How to use this file for testing

“PLY — Signpost, +Z up (comment only)” is a deterministic Novus Examples fixture for Conversion testing, Metadata testing, Mesh processing QA. The same content exported across many formats and linked as a group, so you can convert one and diff against the expected twin.

Documented properties for this file: PLY (ASCII). Compare results against paired or grouped companions on this page when present (clean↔damaged, searchable↔scanned, or format twins) so scores stay reproducible across runs.

Download the file once, keep the path stable in CI or local scripts, and treat the spec table as the contract: dimensions, seeds, field lists, and roles are intentional. Corrupt or invalid samples are labelled as such — expect parsers to fail loudly rather than silently accept them.

3D and CAD fixtures carry one small, documented solid or scene. Convert and inspect against the known geometry, units, and structure; format twins let you diff interchange fidelity, and the 3D viewer previews the actual mesh.

Code examples

import trimesh  # pip install trimesh

mesh = trimesh.load("signpost-z-up.ply")
print(mesh.bounds, mesh.faces.shape)

Generated by generation/models_p7.py. Free for any use, no attribution required — license.