Skip to content
Novus Examples
obj5.6 MB

N dog park: reconstructed mesh (OBJ)

A single-image 3D reconstruction of golden retriever sitting on grass in a park, written as Wavefront text, one `v` line per vertex and one `f` line per face. Its twin in this group is the same mesh written as the other format, from ONE reconstruction rather than two runs - so the pair tests whether a reader returns the same geometry from two containers with nothing in common. Both hold 35,318 vertices and 70,636 triangles; those counts were read from the GLB's accessor table and by counting lines in the OBJ, by separate code, and a disagreement would have stopped this shipping. It is closed: every edge belongs to exactly two triangles, so there are no holes and no non-manifold edges. The bounding box measures 0.1048 x 1.0295 x 1.0232 units.

obj

model/obj

5.6 MB
Vertices
35318
Triangles
70636
Boundary Edges
0
Non Manifold Edges
0
Container
OBJ
Role
pair-member

Binary obj: no in-browser preview. Download it above to open in a compatible application.

Specifications

Vertices
35318
Triangles
70636
Boundary Edges
0
Non Manifold Edges
0
Container
OBJ
Role
pair-member
Pair Format
glb
Model
TripoSR (MIT), marching cubes at detail 128
Cutout
BiRefNet background removal, applied before reconstruction
Detail
128
Surface Threshold
25
Object Fills
0.85
Source Plate
nss-n-dog-park_00001_.png
Bounding Box Extent
0.1048 x 1.0295 x 1.0232
Synthetic
true
Disclosure
Reconstructed from an AI-generated plate. Synthetic geometry, not a scan of a real object.
Schema Version
1

Testing contract

Expected to pass
Scenario
Load this file and its GLB twin in the same pair, then compare vertex count, triangle count and bounding box between the two.
Expected result
Both report 35,318 vertices and 70,636 triangles over a bounding box of 0.1048 x 1.0295 x 1.0232 units, because they were written from ONE reconstruction rather than two runs. That is the check worth making: a reader that drops vertices, re-triangulates a face or flips an axis still returns a file that loads and still looks like the object, and only a second encoding of the same geometry exposes it. Every edge belongs to exactly two triangles, so the surface is closed: no holes, no non-manifold edges.

What is a .obj file?

OBJ (Wavefront OBJ) is a text-based 3D geometry format defining vertices, texture coordinates, normals, and faces, and referencing materials through a companion MTL file. It is simple, widely supported, and can represent polygonal meshes with UV mapping. It is a common interchange format across 3D tools.

How to use this file

Use an example OBJ to test mesh and UV parsing, MTL material resolution, and importers in 3D engines, renderers, and modeling applications.

How to use this file for testing

“N dog park: reconstructed mesh (OBJ)” is a deterministic Novus Examples fixture for Mesh processing QA. Deterministic GLB meshes with known geometry and triangle counts for regression-testing mesh import/export, decimation, repair, and validation pipelines.

Documented properties for this file: pair-member. 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("n-dog-park.obj")
print(mesh.bounds, mesh.faces.shape)

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