3MF Sample Files
3MF (.3mf) files package printable 3D model geometry, build metadata, and production-oriented settings inside a zipped XML container. Use sample .3mf files to validate slicer imports, build-item handling, and additive manufacturing preparation workflows.
3MF Sample Files — Download
3MF Testing Workflows
Use the file table first, then branch into compare or FAQ only if the task needs more context.
3MF Format Comparisons
3MF File FAQ
Checksum Verification
Use checksums to confirm file integrity after download.
shasum -a 256 your_file_name_here
# Compare output with SHA256 values listed above.
Where is the machine-readable manifest?
Use the manifest when you need stable names, SHA256 values, and URLs for automation.
Use in code — curl, Python, Node, wget
Copy any snippet directly into scripts, test suites, or CI pipelines. All URLs are stable and publicly accessible with no auth required.
# Download 3mf_calibration_cube_sample.3mf
curl -L -o 3mf_calibration_cube_sample.3mf \
https://samplefile.com/samples/download/three-d/3mf/3mf_calibration_cube_sample.3mf/
# Or fetch a random 3MF file
curl -s "https://samplefile.com/samples/api/random?format=3mf" | jq -r '.download_url'
# Download 3mf_calibration_cube_sample.3mf
wget -O 3mf_calibration_cube_sample.3mf \
https://samplefile.com/samples/download/three-d/3mf/3mf_calibration_cube_sample.3mf/
import requests
# Download a specific file
url = "https://samplefile.com/samples/download/three-d/3mf/3mf_calibration_cube_sample.3mf/"
resp = requests.get(url)
with open("3mf_calibration_cube_sample.3mf", "wb") as f:
f.write(resp.content)
# Or fetch a random 3MF file via API
meta = requests.get("https://samplefile.com/samples/api/random?format=3mf").json()
resp = requests.get(meta["download_url"])
with open(meta["name"], "wb") as f:
f.write(resp.content)
// Download a specific file
const fs = require("fs");
const https = require("https");
const url = "https://samplefile.com/samples/download/three-d/3mf/3mf_calibration_cube_sample.3mf/";
https.get(url, (res) => {
res.pipe(fs.createWriteStream("3mf_calibration_cube_sample.3mf"));
});
// Or fetch a random 3MF via the API
const meta = await fetch("https://samplefile.com/samples/api/random?format=3mf").then(r => r.json());
const file = await fetch(meta.download_url);
// use file.arrayBuffer(), file.body, etc.
# Random 3MF file (JSON response)
GET https://samplefile.com/samples/api/random?format=3mf
# All 3MF files
GET https://samplefile.com/samples/api/files?format=3mf
# Manifest with SHA256 checksums
GET https://samplefile.com/samples/three-d/3mf/manifest.json
# Response includes: name, size_bytes, mime_type, sha256, download_url
Validation Methodology
- Validate extension and MIME detection before processing.
- Benchmark performance with small and larger files.
- Test malformed-input handling and error messaging.
Use the curated 3MF matrix to choose the right clean, edge-case, and broken fixtures for this format.
Open Matrix