Skip to content

Repository files navigation

CutNesting Benchmarks and Sample Files

Public, versioned test data for measuring material use in one-dimensional and two-dimensional cutting workflows. This repository is the canonical home for CutNesting benchmark inputs, schemas, methodology, DXF/NC1 samples, spreadsheet templates, and immutable result releases.

It is not a competitor leaderboard. The benchmark reports what a named engine version produced for fixed public inputs: feasibility, stock consumption, finished-part yield, reusable remnants, disposable material, solver status, and runtime. A result is described as globally optimal only when the engine returns an independently validated proof-bearing optimal status.

Start here

For practical context, use the relevant CutNesting guide rather than only its homepage:

Repository layout

datasets/       Versioned benchmark inputs and suite manifests
methodology/    Metric definitions, validation rules, and timing policy
schemas/        Machine-readable benchmark contracts
samples/        Synthetic DXF and NC1 parser/review fixtures
templates/      Import-ready CSV examples for common materials
results/        Immutable public result snapshots and compact CSV summaries
docs/           Format and integration notes
scripts/        Dependency-free repository validation

Validate the repository

Node.js 20 or newer is sufficient; there are no package dependencies.

npm test

The check verifies every manifest reference, benchmark case identity, important input invariant, sample-file declaration, generated CSV/XLSX template, and published SHA-256 checksum.

Template files are generated deterministically from templates/definitions.json. After changing those definitions, run:

npm run generate:templates
npm run generate:checksums
npm test

Running the actual solver benchmark is intentionally an engine responsibility. The CutNesting product repository contains its production Rust adapter and pins the exact dataset release or commit that it consumes.

Result status

The first 1D reference-machine result is published for all 13 cases against dataset tag v1.0.1. It includes raw timings, complete material accounting, independent validation outcomes, engine and dataset commits, and machine metadata. Development runs remain local diagnostics and must not be copied into marketing claims.

The initial 2D suite contains five deterministic cases covering exact fit, steel plate, wood sheet, irregular remnant geometry, and finite-stock exhaustion. Its primary metric is geometric utilization. "Estimated unused area" is not disposable waste because kerf, lead-ins, pierces, and toolpaths are outside this benchmark's scope.

The current immutable dataset release is v1.1.0. This release adds the initial public 2D suite without changing the immutable 1D v1 inputs. Release v1.0.1 remains the source for the published 1D result. Release v1.0.0 is superseded because Windows checkout line-ending conversion prevented byte-for-byte template verification; benchmark case semantics did not change in v1.0.1.

Licensing

  • Dataset cases, sample files, templates, and documentation: CC BY 4.0. See LICENSE-DATA.md.
  • Validation and repository code: MIT. See LICENSE.

Every currently included case and geometry file is synthetic. Do not contribute customer drawings, production files, or third-party examples without documented permission and anonymisation.

Contributing

See CONTRIBUTING.md. Changes to an existing versioned suite must preserve reproducibility; semantic input changes require a new suite version.

About

No description, website, or topics provided.

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages