.slfy

.slfy: an open format for engineering models that move and calculate

A .slfy file is one JSON document describing a 3D engineering model and its engineering:

glTF carries meshes; STEP carries exact CAD; neither carries the mechanism or the working. .slfy does.

Status: draft 0.1 (November 2026). Expect changes before 1.0. Website: https://slfy.solidify.studio.

   
Extension .slfy (readers should also accept .solidify.json)
Media type application/vnd.solidify+json (not yet registered with IANA)
Encoding UTF-8 JSON
Schema schema/slfy-0.1.schema.json (JSON Schema 2020-12), at https://slfy.solidify.studio/schema/slfy-0.1.schema.json
Specification SPEC.md
Examples examples/

The smallest file

{
  "format": "slfy",
  "version": "0.1",
  "model": {
    "id": "minimal-block",
    "title": "A block on a plate",
    "summary": "Two parts, one placed against the other.",
    "units": "mm",
    "parameters": [],
    "parts": [
      { "id": "plate", "name": "Base plate", "shapes": [{ "kind": "box", "sx": 0.3, "sy": 0.02, "sz": 0.2 }] },
      { "id": "block", "name": "Block", "mount": { "kind": "against", "target": "plate", "face": "+y" },
        "shapes": [{ "kind": "box", "sx": 0.1, "sy": 0.08, "sz": 0.1 }] }
    ]
  }
}

Examples

File Shows
minimal-block.slfy the least a file needs; placing by relation
shaft-in-torsion.slfy parameters, formulas as sizes, motion, calculations with a limit, a chart
spur-gear-pair.slfy gears, mesh mounts, a driven gear turning from its driver
beam-question.slfy a worked question: givens, steps, answers, loads and reactions, a bending moment diagram
helical-gear-pair.slfy, worm-reducer.slfy, open-differential.slfy, scotch-yoke.slfy, quick-return-mechanism.slfy, muff-coupling.slfy models from the Solidify library, reviewed by its team

Solidify opens them under Create → Open a model file (https://solidify.studio/#/create/open, arriving with its next release), and a link opens one straight in: https://solidify.studio/#/create/open?url=<https link to the file>. The example files on this site work as such links.

Checking a file

Any JSON Schema 2020-12 validator works, for example:

npx ajv-cli@5 validate --spec=draft2020 --strict=false -s schema/slfy-0.1.schema.json -d model.json

(Some tools pick a parser by extension; copy a .slfy to .json for them.) The schema checks structure; the specification also says how files are drawn and worked out, which a schema can’t.

Licences

The specification, schema and examples: CC BY 4.0 (LICENSE-SPEC). Code (later: the reference reader and viewer): Apache 2.0 (LICENSE). “Solidify” is the name of the product that created the format; the format itself is free for anyone to read and write.

Maintained by

Solidify (https://solidify.studio). The schema and examples are generated from the schemas Solidify itself reads and writes models with, so they stay in step with the app. Issues and suggestions are welcome.