{
  "generatedOn": "2026-10-29",
  "source": "Author-defined design passed to the existing Studio geometry kernel; no AI prompt or private user project used.",
  "versions": {
    "python": "3.11.17",
    "cadquery": "2.5.2",
    "trimesh": "4.6.8",
    "numpy": "2.2.5"
  },
  "dimensionsMm": [
    80,
    50,
    6
  ],
  "holeDiameterMm": 5,
  "holeCentersMm": [
    [
      10,
      10
    ],
    [
      70,
      10
    ],
    [
      10,
      40
    ],
    [
      70,
      40
    ]
  ],
  "expectedVolumeMm3": 23528.761101961532,
  "nativeHoleCheck": {
    "status": "pass",
    "cylindricalFaces": [
      [
        10.0,
        10.0,
        2.5
      ],
      [
        10.0,
        40.0,
        2.5
      ],
      [
        70.0,
        10.0,
        2.5
      ],
      [
        70.0,
        40.0,
        2.5
      ]
    ]
  },
  "kernelReport": {
    "schemaVersion": 1,
    "kind": "cad",
    "valid": true,
    "units": "mm",
    "bounds": {
      "min": [
        0.0,
        0.0,
        0.0
      ],
      "max": [
        80.0,
        50.0,
        6.0
      ],
      "size": [
        80.0,
        50.0,
        6.0
      ]
    },
    "volumeMm3": 23528.761101961536,
    "solidCount": 1,
    "parts": [
      {
        "id": "mounting-plate",
        "name": "Mounting plate",
        "kind": "part",
        "valid": true,
        "solidCount": 1,
        "volumeMm3": 23528.761101961536,
        "bounds": {
          "min": [
            0.0,
            0.0,
            0.0
          ],
          "max": [
            80.0,
            50.0,
            6.0
          ],
          "size": [
            80.0,
            50.0,
            6.0
          ]
        },
        "operationCount": 5
      }
    ],
    "operationCount": 5,
    "triangleCount": 2044,
    "preview": {
      "units": "m",
      "upAxis": "Y",
      "designToPreview": "(x,y,z) mm -> (x,z,-y) / 1000 m"
    },
    "tessellation": {
      "linearToleranceMm": 0.1,
      "angularToleranceRadians": 0.1
    },
    "scope": "Explicit-placement constructive solids; no constraint solver, simulation, or manufacturing certification",
    "validation": {
      "status": "passed",
      "checks": [
        {
          "id": "step.parse",
          "status": "pass",
          "required": true
        },
        {
          "id": "step.units",
          "status": "pass",
          "required": true,
          "expected": "millimetre",
          "actual": [
            "millimetre"
          ]
        },
        {
          "id": "step.transfer",
          "status": "pass",
          "required": true
        },
        {
          "id": "step.valid",
          "status": "pass",
          "required": true
        },
        {
          "id": "step.solids",
          "status": "pass",
          "required": true,
          "expected": 1,
          "actual": 1
        },
        {
          "id": "step.bounds.min",
          "status": "pass",
          "required": true,
          "expected": [
            0.0,
            0.0,
            0.0
          ],
          "actual": [
            0.0,
            0.0,
            0.0
          ]
        },
        {
          "id": "step.bounds.max",
          "status": "pass",
          "required": true,
          "expected": [
            80.0,
            50.0,
            6.0
          ],
          "actual": [
            80.0,
            50.0,
            6.0
          ]
        },
        {
          "id": "step.volume",
          "status": "pass",
          "required": true,
          "expected": 23528.761101961536,
          "actual": 23528.76110196152
        },
        {
          "id": "step.reimport",
          "status": "pass",
          "required": true
        },
        {
          "id": "stl.binaryLength",
          "status": "pass",
          "required": true
        },
        {
          "id": "stl.facets",
          "status": "pass",
          "required": true,
          "expected": 2044,
          "actual": 2044
        },
        {
          "id": "stl.mounting-plate.solids",
          "status": "pass",
          "required": true,
          "expected": 1,
          "actual": 1
        },
        {
          "id": "stl.mounting-plate.facets",
          "status": "pass",
          "required": true,
          "expected": 2044,
          "actual": 2044
        },
        {
          "id": "stl.mounting-plate.solid0.finite",
          "status": "pass",
          "required": true
        },
        {
          "id": "stl.mounting-plate.solid0.watertight",
          "status": "pass",
          "required": true
        },
        {
          "id": "stl.mounting-plate.solid0.winding",
          "status": "pass",
          "required": true
        },
        {
          "id": "stl.mounting-plate.solid0.shellConnectivity",
          "status": "pass",
          "required": true,
          "expected": 1,
          "actual": 1
        },
        {
          "id": "stl.mounting-plate.solid0.positiveVolume",
          "status": "pass",
          "required": true
        },
        {
          "id": "stl.mounting-plate.solid0.bounds.min",
          "status": "pass",
          "required": true,
          "expected": [
            0.0,
            0.0,
            0.0
          ],
          "actual": [
            0.0,
            0.0,
            0.0
          ]
        },
        {
          "id": "stl.mounting-plate.solid0.bounds.max",
          "status": "pass",
          "required": true,
          "expected": [
            80.0,
            50.0,
            6.0
          ],
          "actual": [
            80.0,
            50.0,
            6.0
          ]
        },
        {
          "id": "stl.mounting-plate.solid0.volume",
          "status": "pass",
          "required": true,
          "expected": 23528.761101961536,
          "actual": 23528.956501227338
        },
        {
          "id": "stl.mounting-plate.solid0.triangles",
          "status": "pass",
          "required": true,
          "expected": 2044,
          "actual": 2044
        },
        {
          "id": "stl.mounting-plate.solid0.roundTripVolume",
          "status": "pass",
          "required": true,
          "expected": 23528.956380506414,
          "actual": 23528.956501227338
        },
        {
          "id": "stl.mounting-plate.solid0.roundTripBounds.0",
          "status": "pass",
          "required": true
        },
        {
          "id": "stl.mounting-plate.solid0.roundTripBounds.1",
          "status": "pass",
          "required": true
        },
        {
          "id": "stl.mounting-plate.solid0.facetCoordinates",
          "status": "pass",
          "required": true
        },
        {
          "id": "stl.reimport",
          "status": "pass",
          "required": true
        },
        {
          "id": "glb.header",
          "status": "pass",
          "required": true
        },
        {
          "id": "glb.identities",
          "status": "pass",
          "required": true,
          "expected": [
            "mounting-plate"
          ],
          "actual": [
            "mounting-plate"
          ]
        },
        {
          "id": "glb.mounting-plate.metadata",
          "status": "pass",
          "required": true
        },
        {
          "id": "glb.mounting-plate.solids",
          "status": "pass",
          "required": true,
          "expected": 1,
          "actual": 1
        },
        {
          "id": "glb.mounting-plate.facets",
          "status": "pass",
          "required": true,
          "expected": 2044,
          "actual": 2044
        },
        {
          "id": "glb.mounting-plate.solid0.finite",
          "status": "pass",
          "required": true
        },
        {
          "id": "glb.mounting-plate.solid0.watertight",
          "status": "pass",
          "required": true
        },
        {
          "id": "glb.mounting-plate.solid0.winding",
          "status": "pass",
          "required": true
        },
        {
          "id": "glb.mounting-plate.solid0.shellConnectivity",
          "status": "pass",
          "required": true,
          "expected": 1,
          "actual": 1
        },
        {
          "id": "glb.mounting-plate.solid0.positiveVolume",
          "status": "pass",
          "required": true
        },
        {
          "id": "glb.mounting-plate.solid0.bounds.min",
          "status": "pass",
          "required": true,
          "expected": [
            0.0,
            0.0,
            0.0
          ],
          "actual": [
            0.0,
            0.0,
            0.0
          ]
        },
        {
          "id": "glb.mounting-plate.solid0.bounds.max",
          "status": "pass",
          "required": true,
          "expected": [
            80.0,
            50.0,
            6.0
          ],
          "actual": [
            79.99999821186066,
            50.00000074505806,
            6.000000052154064
          ]
        },
        {
          "id": "glb.mounting-plate.solid0.volume",
          "status": "pass",
          "required": true,
          "expected": 23528.761101961536,
          "actual": 23528.956468959685
        },
        {
          "id": "glb.mounting-plate.solid0.triangles",
          "status": "pass",
          "required": true,
          "expected": 2044,
          "actual": 2044
        },
        {
          "id": "glb.mounting-plate.solid0.roundTripVolume",
          "status": "pass",
          "required": true,
          "expected": 23528.956380506414,
          "actual": 23528.956468959685
        },
        {
          "id": "glb.mounting-plate.solid0.roundTripBounds.0",
          "status": "pass",
          "required": true
        },
        {
          "id": "glb.mounting-plate.solid0.roundTripBounds.1",
          "status": "pass",
          "required": true
        },
        {
          "id": "glb.mounting-plate.solid0.facetCoordinates",
          "status": "pass",
          "required": true
        },
        {
          "id": "glb.reimport",
          "status": "pass",
          "required": true
        },
        {
          "id": "json.designIdentity",
          "status": "pass",
          "required": true
        },
        {
          "id": "json.units",
          "status": "pass",
          "required": true,
          "expected": "mm",
          "actual": "mm"
        },
        {
          "id": "json.reimport",
          "status": "pass",
          "required": true
        }
      ],
      "manifest": [
        {
          "format": "step",
          "sha256": "0c70746ce4dd9d6d051cffe32e23ac2e66bf2b116e1a66eee53f0085ad4d4f6a",
          "bytes": 34697
        },
        {
          "format": "stl",
          "sha256": "7320006481331852fcf705dfa05a857b9204a9219b3fa6320e4e49f172ee08aa",
          "bytes": 102284
        },
        {
          "format": "glb",
          "sha256": "9adfd4ecbf1ff4b1738e10269a09aea8c58b5499fb2dc2584f081a3aba915a67",
          "bytes": 50220
        },
        {
          "format": "json",
          "sha256": "078a58ac404d2563d54cc1554b476e66c7c78b47856c6300e5613c97688575de",
          "bytes": 617
        }
      ],
      "tolerances": {
        "step": {
          "boundsAbsoluteMm": 1e-05,
          "volumeRelative": 1e-07,
          "volumeAbsoluteMm3": 1e-05
        },
        "mesh": {
          "chordErrorMm": 0.1,
          "angularErrorRadians": 0.1,
          "float32Relative": 9.5367431640625e-07,
          "weldMm": 1e-05,
          "volumeAbsoluteMm3": 1e-06,
          "volumeRule": "native surface area * (chord error + coordinate quantisation); also compare native reference tessellation within quantisation only"
        },
        "stl": {
          "units": "mm",
          "solidConnectivity": "native solid facet blocks; weld within each block only"
        },
        "glb": {
          "units": "m",
          "upAxis": "Y",
          "inverseTransform": "(x,y,z) m -> (x,-z,y) * 1000 mm"
        },
        "ifc": {
          "schema": "IFC4",
          "lengthScaleMetres": 0.001,
          "geometryOutputUnits": "m"
        }
      }
    }
  },
  "formatComparison": {
    "sameTriangleCoordinatesAsStl": true,
    "indexedMeshWatertight": true,
    "consistentWinding": true,
    "explicitUnit": "millimeter",
    "independentReader": "Trimesh 3MF loader",
    "triangleCount": 2044,
    "volumeMm3": 23528.956501227338
  },
  "files": {
    "mounting-plate.step": {
      "bytes": 34697,
      "sha256": "0c70746ce4dd9d6d051cffe32e23ac2e66bf2b116e1a66eee53f0085ad4d4f6a"
    },
    "mounting-plate.stl": {
      "bytes": 102284,
      "sha256": "7320006481331852fcf705dfa05a857b9204a9219b3fa6320e4e49f172ee08aa"
    },
    "mounting-plate.glb": {
      "bytes": 50220,
      "sha256": "9adfd4ecbf1ff4b1738e10269a09aea8c58b5499fb2dc2584f081a3aba915a67"
    },
    "mounting-plate.json": {
      "bytes": 617,
      "sha256": "078a58ac404d2563d54cc1554b476e66c7c78b47856c6300e5613c97688575de"
    },
    "mounting-plate.3mf": {
      "bytes": 20141,
      "sha256": "fd8fae407fefc9b82b1e12b3362af53d92a8027e703aa5a81939bd9b0882d1a0"
    }
  },
  "limitations": "Digital geometry/export verification only. No physical print, manufacturing accuracy or slicer compatibility certification. Model-only 3MF has no print settings, materials, textures or G-code. Studio does not offer 3MF export."
}
