Skip to content
Novus Examples
ply799 B

PLY — Duplicate Vertices, Split Seam

The duplicated-corner cube as ASCII PLY — the format scanners and photogrammetry tools emit, and the one where unwelded duplicates are most common because each captured point arrives independently.

Loading 3D preview…

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

Specifications

Format
PLY (ASCII)
Vertices
16
Unique Positions
8
Duplicate Vertices
8
Faces
12
Note
same topology as the OBJ twin

Testing contract

Expected to recover
Scenario
Import into a point-cloud or mesh tool and read back the vertex count before any cleanup.
Expected result
16 vertices for 8 distinct positions; a duplicate-removal pass at tolerance 0.0 must halve the count without moving any surface.

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 — Duplicate Vertices, Split Seam” is a deterministic Novus Examples fixture for Mesh repair testing, Mesh processing QA. A watertight mesh paired with a deliberately broken twin (holes, missing faces, open ends) — the input and intended result for a mesh-repair / hole-filling tool.

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("duplicate-vertices.ply")
print(mesh.bounds, mesh.faces.shape)

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