{
  "format": "cadivari-project",
  "formatVersion": 2,
  "projectName": "Exact curved sweep",
  "savedAt": "2026-10-27T01:31:10.228Z",
  "document": {
    "schemaVersion": 39,
    "units": "mm",
    "revision": 0,
    "entities": [
      {
        "id": "section",
        "kind": "circle",
        "center": {
          "x": 0,
          "y": 0
        },
        "radius": 3
      },
      {
        "id": "path",
        "kind": "arc",
        "center": {
          "x": 0,
          "y": 0
        },
        "start": {
          "x": 30,
          "y": 0
        },
        "end": {
          "x": 0,
          "y": 30
        },
        "sweepDirection": 1
      }
    ],
    "solidModel": {
      "schemaVersion": 3,
      "planes": [
        {
          "id": "origin-plane-xy",
          "name": "Top (XY)",
          "visible": true,
          "definition": {
            "kind": "origin",
            "principalPlane": "xy"
          }
        },
        {
          "id": "origin-plane-xz",
          "name": "Front (XZ)",
          "visible": true,
          "definition": {
            "kind": "origin",
            "principalPlane": "xz"
          }
        },
        {
          "id": "origin-plane-yz",
          "name": "Right (YZ)",
          "visible": true,
          "definition": {
            "kind": "origin",
            "principalPlane": "yz"
          }
        }
      ],
      "sketches": [
        {
          "id": "section-sketch",
          "name": "Sweep section",
          "visible": true,
          "planeId": "origin-plane-xy",
          "sourceEntityIds": [
            "section"
          ],
          "projections": []
        },
        {
          "id": "path-sketch",
          "name": "Sweep path",
          "visible": true,
          "planeId": "origin-plane-xy",
          "sourceEntityIds": [
            "path"
          ],
          "projections": []
        }
      ],
      "bodies": [],
      "bodySplits": []
    },
    "camJob": {
      "stock": {
        "widthMm": 600,
        "heightMm": 300,
        "thicknessMm": 20
      },
      "stockSizing": {
        "mode": "auto",
        "marginMm": 30,
        "aspectRatioLocked": true
      },
      "origin": {
        "xy": {
          "kind": "stock-anchor",
          "x": "left",
          "y": "bottom"
        },
        "z": "stock-top"
      },
      "retractHeightMm": 10,
      "serviceHeightMm": 30,
      "machineProfileId": "shapeoko-grbl",
      "tools": [
        {
          "id": "flat-end-mill-6mm",
          "name": "6 mm Flat End Mill",
          "kind": "flat-end-mill",
          "diameterMm": 6,
          "shankDiameterMm": 6,
          "fluteCount": 3,
          "cuttingStyle": "upcut"
        },
        {
          "id": "flat-end-mill-6-35mm",
          "name": "6.35 mm Flat End Mill (1/4 in)",
          "kind": "flat-end-mill",
          "diameterMm": 6.35,
          "shankDiameterMm": 6.35,
          "fluteCount": 3,
          "cuttingStyle": "upcut"
        },
        {
          "id": "flat-end-mill-3-175mm",
          "name": "3.175 mm Flat End Mill (1/8 in)",
          "kind": "flat-end-mill",
          "diameterMm": 3.175,
          "shankDiameterMm": 3.175,
          "fluteCount": 3,
          "cuttingStyle": "upcut"
        },
        {
          "id": "flat-end-mill-0-6mm",
          "name": "0.6 mm Fret Slot End Mill",
          "kind": "flat-end-mill",
          "diameterMm": 0.6,
          "shankDiameterMm": 3.175,
          "fluteCount": 2,
          "cuttingStyle": "upcut"
        },
        {
          "id": "ball-nose-6-35mm",
          "name": "6.35 mm Ball Nose (1/4 in)",
          "kind": "ball-nose",
          "diameterMm": 6.35,
          "shankDiameterMm": 6.35,
          "fluteCount": 2,
          "cuttingStyle": "upcut"
        },
        {
          "id": "v-bit-30deg",
          "name": "30 degree V-Bit",
          "kind": "v-bit",
          "diameterMm": 6.35,
          "includedAngleDegrees": 30,
          "tipDiameterMm": 0.1
        },
        {
          "id": "v-bit-60deg",
          "name": "60 degree V-Bit",
          "kind": "v-bit",
          "diameterMm": 6.35,
          "includedAngleDegrees": 60,
          "tipDiameterMm": 0.1
        },
        {
          "id": "v-bit-90deg",
          "name": "90 degree V-Bit",
          "kind": "v-bit",
          "diameterMm": 6.35,
          "includedAngleDegrees": 90,
          "tipDiameterMm": 0.1
        }
      ],
      "activeToolId": "flat-end-mill-6mm",
      "pathSources": [],
      "operations": []
    },
    "occtModel": {
      "version": 1,
      "features": [
        {
          "id": "sweep",
          "name": "Swept tube",
          "kind": "sweep",
          "bodyId": "tube",
          "profile": {
            "sketchId": "section-sketch",
            "outer": [
              "section"
            ],
            "holes": []
          },
          "offset": 0,
          "path": {
            "sketchId": "path-sketch",
            "entities": [
              "path"
            ]
          },
          "orientation": "follow",
          "corner": "miter",
          "rotation": 0,
          "reverse": false
        }
      ]
    }
  }
}
