{
  "title": "3D print shrinkage compensator",
  "human_url": "https://happytails.ai/en/calculators/3d-print-shrinkage-compensator/",
  "agent_url": "https://happytails.ai/agents/en/calculators/3d-print-shrinkage-compensator/",
  "language": "en",
  "markdown_url": "https://happytails.ai/en/calculators/3d-print-shrinkage-compensator.md",
  "content": "3D print shrinkage compensator\nTurn a measured test print into a scale correction. Compare all three axes or use one uniform reference dimension.\nHow can we improve this tool?\nReport a problem or share an idea.\nPlease leave out private information. Your message and the tool name go to our team via PostHog.\nHow to use 3D print shrinkage compensator\nEnter the measured inputs and select their units.\nReview the calculated dimensions, counts and rounding.\nDownload the result and verify it against a sample before making the full project.\nUseful next steps\nPottery shrinkage calculator\nOrigami paper size calculator\nMeasure a reference print\nEnter the CAD dimension before scaling, the resulting printed dimension and the slicer scale used for that test. Uniform mode uses one measured direction as the reference. Per axis mode calculates separate X, Y and Z corrections.\nApply one correction\nA 100 mm CAD dimension printed at 100% that measures 98 mm needs a scale factor of 100/98, or about 102.0408%. Use the recommended slicer scale with the desired model size, or pre-scale the model and retain the old slicer setting. Applying both would double-correct.\nSave the calculation\nDownload a CSV of the results or instructions, a readable text report and a JSON report with values, formulas and assumptions. Calculations run locally on your device. Unit changes keep the numbers already entered, so check the selected units before using the result.",
  "content_format": "text/plain",
  "visibility": "public",
  "links": [
    {
      "name": "Pottery shrinkage calculator",
      "url": "https://happytails.ai/en/calculators/pottery-shrinkage-calculator/"
    },
    {
      "name": "Origami paper size calculator",
      "url": "https://happytails.ai/en/calculators/origami-paper-size-calculator/"
    }
  ],
  "tool": {
    "id": "3d-print-shrinkage-compensator",
    "category": "calculators",
    "built": true,
    "requirements": "Correction factors from 0.01 to 100. Recommended slicer scale from 1% to 10,000%. Proportional estimates do not repair warping, offsets or mesh geometry.",
    "implementation": {
      "fields": [
        {
          "key": "mode",
          "label": "Scaling",
          "value": "Uniform",
          "type": "select",
          "values": [
            "Uniform",
            "Per axis"
          ]
        },
        {
          "key": "unit",
          "label": "Measurement unit",
          "value": "mm",
          "type": "select",
          "values": [
            "mm",
            "cm",
            "m",
            "in",
            "ft",
            "yd"
          ]
        },
        {
          "key": "nominalX",
          "label": "X sample CAD dimension",
          "value": 100,
          "type": "number",
          "min": 0,
          "max": 1000000000,
          "step": "any"
        },
        {
          "key": "measuredX",
          "label": "X measured printed dimension",
          "value": 98,
          "type": "number",
          "min": 0,
          "max": 1000000000,
          "step": "any"
        },
        {
          "key": "scaleX",
          "label": "X slicer scale used for sample (%)",
          "value": 100,
          "type": "number",
          "min": 1,
          "max": 10000,
          "step": "any"
        },
        {
          "key": "targetX",
          "label": "X desired final dimension",
          "value": 100,
          "type": "number",
          "min": 0,
          "max": 1000000000,
          "step": "any"
        },
        {
          "key": "nominalY",
          "label": "Y sample CAD dimension",
          "value": 100,
          "type": "number",
          "min": 0,
          "max": 1000000000,
          "step": "any",
          "showWhen": {
            "mode": [
              "Per axis"
            ]
          }
        },
        {
          "key": "measuredY",
          "label": "Y measured printed dimension",
          "value": 99,
          "type": "number",
          "min": 0,
          "max": 1000000000,
          "step": "any",
          "showWhen": {
            "mode": [
              "Per axis"
            ]
          }
        },
        {
          "key": "scaleY",
          "label": "Y slicer scale used for sample (%)",
          "value": 100,
          "type": "number",
          "min": 1,
          "max": 10000,
          "step": "any",
          "showWhen": {
            "mode": [
              "Per axis"
            ]
          }
        },
        {
          "key": "targetY",
          "label": "Y desired final dimension",
          "value": 100,
          "type": "number",
          "min": 0,
          "max": 1000000000,
          "step": "any",
          "showWhen": {
            "mode": [
              "Per axis"
            ]
          }
        },
        {
          "key": "nominalZ",
          "label": "Z sample CAD dimension",
          "value": 100,
          "type": "number",
          "min": 0,
          "max": 1000000000,
          "step": "any",
          "showWhen": {
            "mode": [
              "Per axis"
            ]
          }
        },
        {
          "key": "measuredZ",
          "label": "Z measured printed dimension",
          "value": 100,
          "type": "number",
          "min": 0,
          "max": 1000000000,
          "step": "any",
          "showWhen": {
            "mode": [
              "Per axis"
            ]
          }
        },
        {
          "key": "scaleZ",
          "label": "Z slicer scale used for sample (%)",
          "value": 100,
          "type": "number",
          "min": 1,
          "max": 10000,
          "step": "any",
          "showWhen": {
            "mode": [
              "Per axis"
            ]
          }
        },
        {
          "key": "targetZ",
          "label": "Z desired final dimension",
          "value": 100,
          "type": "number",
          "min": 0,
          "max": 1000000000,
          "step": "any",
          "showWhen": {
            "mode": [
              "Per axis"
            ]
          }
        }
      ],
      "input": false,
      "live": true,
      "presentation": "metrics",
      "note": "Use a measured test print to calculate a proportional scale correction. In Uniform mode, X is the reference dimension for every axis. Choose the new slicer scale OR the alternative model dimension, not both. Changing units keeps the entered numbers. All calculations stay on your device. Download the report for formulas, assumptions and calculated values.",
      "experience": {
        "automatic": true,
        "single": false,
        "inputMaxLength": 1000000,
        "inputMode": "text",
        "label": "Your text",
        "placeholder": "Type or paste your input…",
        "help": "Change the input or settings to update your result. Results update as you type. Up to 1,000,000 characters.",
        "action": null
      },
      "mode": "automatic",
      "interactive": false
    },
    "execution": "Browser interface",
    "api": null,
    "browser_agent": {
      "supported": true,
      "name": "run_current_tool",
      "discovery": "WebMCP on the human page in a supporting browser",
      "verification": "See audit/API-AUDIT.md; availability is not verification"
    }
  },
  "markdown": "# 3D print shrinkage compensator\n\n- Human page: https://happytails.ai/en/calculators/3d-print-shrinkage-compensator/\n- Markdown: https://happytails.ai/en/calculators/3d-print-shrinkage-compensator.md\n- Structured JSON: https://happytails.ai/agents/en/calculators/3d-print-shrinkage-compensator/index.json\n- Visibility: public\n\n## Tool capabilities\n\n| Property | Value |\n| --- | --- |\n| Tool ID | `3d-print-shrinkage-compensator` |\n| Category | calculators |\n| Implementation | Registered implementation. Registration alone is not a production-quality guarantee. |\n| Browser execution | Automatic updates after valid input or file selection. |\n| Browser processing | Browser; see tool notes for network behavior. |\n| HTTP API | Not callable through HTTP. |\n| Browser-agent interface | run_current_tool |\n\n### Implementation notes\n\nUse a measured test print to calculate a proportional scale correction. In Uniform mode, X is the reference dimension for every axis. Choose the new slicer scale OR the alternative model dimension, not both. Changing units keeps the entered numbers. All calculations stay on your device. Download the report for formulas, assumptions and calculated values.\n\n### Inputs and settings\n\nNo free-text input is required. Use the file inputs and/or settings below.\n\n| Setting | Meaning | Control type | Default | Constraints |\n| --- | --- | --- | --- | --- |\n| `mode` | Scaling | select | \"Uniform\" | Allowed: Uniform, Per axis |\n| `unit` | Measurement unit | select | \"mm\" | Allowed: mm, cm, m, in, ft, yd |\n| `nominalX` | X sample CAD dimension | number | 100 | min=0 max=1000000000 step=any |\n| `measuredX` | X measured printed dimension | number | 98 | min=0 max=1000000000 step=any |\n| `scaleX` | X slicer scale used for sample (%) | number | 100 | min=1 max=10000 step=any |\n| `targetX` | X desired final dimension | number | 100 | min=0 max=1000000000 step=any |\n| `nominalY` | Y sample CAD dimension | number | 100 | min=0 max=1000000000 step=any |\n| `measuredY` | Y measured printed dimension | number | 99 | min=0 max=1000000000 step=any |\n| `scaleY` | Y slicer scale used for sample (%) | number | 100 | min=1 max=10000 step=any |\n| `targetY` | Y desired final dimension | number | 100 | min=0 max=1000000000 step=any |\n| `nominalZ` | Z sample CAD dimension | number | 100 | min=0 max=1000000000 step=any |\n| `measuredZ` | Z measured printed dimension | number | 100 | min=0 max=1000000000 step=any |\n| `scaleZ` | Z slicer scale used for sample (%) | number | 100 | min=1 max=10000 step=any |\n| `targetZ` | Z desired final dimension | number | 100 | min=0 max=1000000000 step=any |\n\n### Browser-agent workflow\n\n1. Open the human page in a browser that supports WebMCP.\n2. Discover the interface exposed by that page; use its actual schema.\n3. Select files on the page first when the tool requires files.\n4. Call `run_current_tool` with valid input and settings.\n5. Inspect the returned result or error and the displayed output. Retrieve files from the displayed download links.\n\nCalls do not automatically copy or download results. Browser permissions still apply. Interface availability alone is not proof of successful execution.\n\n### Planning specification\n\nCorrection factors from 0.01 to 100. Recommended slicer scale from 1% to 10,000%. Proportional estimates do not repair warping, offsets or mesh geometry.\n\nThis describes intended requirements. Use the implementation notes, interface schema and observed output to determine current support.\n\n### Complete machine-readable capability record\n\n```json\n{\n  \"id\": \"3d-print-shrinkage-compensator\",\n  \"category\": \"calculators\",\n  \"built\": true,\n  \"requirements\": \"Correction factors from 0.01 to 100. Recommended slicer scale from 1% to 10,000%. Proportional estimates do not repair warping, offsets or mesh geometry.\",\n  \"implementation\": {\n    \"fields\": [\n      {\n        \"key\": \"mode\",\n        \"label\": \"Scaling\",\n        \"value\": \"Uniform\",\n        \"type\": \"select\",\n        \"values\": [\n          \"Uniform\",\n          \"Per axis\"\n        ]\n      },\n      {\n        \"key\": \"unit\",\n        \"label\": \"Measurement unit\",\n        \"value\": \"mm\",\n        \"type\": \"select\",\n        \"values\": [\n          \"mm\",\n          \"cm\",\n          \"m\",\n          \"in\",\n          \"ft\",\n          \"yd\"\n        ]\n      },\n      {\n        \"key\": \"nominalX\",\n        \"label\": \"X sample CAD dimension\",\n        \"value\": 100,\n        \"type\": \"number\",\n        \"min\": 0,\n        \"max\": 1000000000,\n        \"step\": \"any\"\n      },\n      {\n        \"key\": \"measuredX\",\n        \"label\": \"X measured printed dimension\",\n        \"value\": 98,\n        \"type\": \"number\",\n        \"min\": 0,\n        \"max\": 1000000000,\n        \"step\": \"any\"\n      },\n      {\n        \"key\": \"scaleX\",\n        \"label\": \"X slicer scale used for sample (%)\",\n        \"value\": 100,\n        \"type\": \"number\",\n        \"min\": 1,\n        \"max\": 10000,\n        \"step\": \"any\"\n      },\n      {\n        \"key\": \"targetX\",\n        \"label\": \"X desired final dimension\",\n        \"value\": 100,\n        \"type\": \"number\",\n        \"min\": 0,\n        \"max\": 1000000000,\n        \"step\": \"any\"\n      },\n      {\n        \"key\": \"nominalY\",\n        \"label\": \"Y sample CAD dimension\",\n        \"value\": 100,\n        \"type\": \"number\",\n        \"min\": 0,\n        \"max\": 1000000000,\n        \"step\": \"any\",\n        \"showWhen\": {\n          \"mode\": [\n            \"Per axis\"\n          ]\n        }\n      },\n      {\n        \"key\": \"measuredY\",\n        \"label\": \"Y measured printed dimension\",\n        \"value\": 99,\n        \"type\": \"number\",\n        \"min\": 0,\n        \"max\": 1000000000,\n        \"step\": \"any\",\n        \"showWhen\": {\n          \"mode\": [\n            \"Per axis\"\n          ]\n        }\n      },\n      {\n        \"key\": \"scaleY\",\n        \"label\": \"Y slicer scale used for sample (%)\",\n        \"value\": 100,\n        \"type\": \"number\",\n        \"min\": 1,\n        \"max\": 10000,\n        \"step\": \"any\",\n        \"showWhen\": {\n          \"mode\": [\n            \"Per axis\"\n          ]\n        }\n      },\n      {\n        \"key\": \"targetY\",\n        \"label\": \"Y desired final dimension\",\n        \"value\": 100,\n        \"type\": \"number\",\n        \"min\": 0,\n        \"max\": 1000000000,\n        \"step\": \"any\",\n        \"showWhen\": {\n          \"mode\": [\n            \"Per axis\"\n          ]\n        }\n      },\n      {\n        \"key\": \"nominalZ\",\n        \"label\": \"Z sample CAD dimension\",\n        \"value\": 100,\n        \"type\": \"number\",\n        \"min\": 0,\n        \"max\": 1000000000,\n        \"step\": \"any\",\n        \"showWhen\": {\n          \"mode\": [\n            \"Per axis\"\n          ]\n        }\n      },\n      {\n        \"key\": \"measuredZ\",\n        \"label\": \"Z measured printed dimension\",\n        \"value\": 100,\n        \"type\": \"number\",\n        \"min\": 0,\n        \"max\": 1000000000,\n        \"step\": \"any\",\n        \"showWhen\": {\n          \"mode\": [\n            \"Per axis\"\n          ]\n        }\n      },\n      {\n        \"key\": \"scaleZ\",\n        \"label\": \"Z slicer scale used for sample (%)\",\n        \"value\": 100,\n        \"type\": \"number\",\n        \"min\": 1,\n        \"max\": 10000,\n        \"step\": \"any\",\n        \"showWhen\": {\n          \"mode\": [\n            \"Per axis\"\n          ]\n        }\n      },\n      {\n        \"key\": \"targetZ\",\n        \"label\": \"Z desired final dimension\",\n        \"value\": 100,\n        \"type\": \"number\",\n        \"min\": 0,\n        \"max\": 1000000000,\n        \"step\": \"any\",\n        \"showWhen\": {\n          \"mode\": [\n            \"Per axis\"\n          ]\n        }\n      }\n    ],\n    \"input\": false,\n    \"live\": true,\n    \"presentation\": \"metrics\",\n    \"note\": \"Use a measured test print to calculate a proportional scale correction. In Uniform mode, X is the reference dimension for every axis. Choose the new slicer scale OR the alternative model dimension, not both. Changing units keeps the entered numbers. All calculations stay on your device. Download the report for formulas, assumptions and calculated values.\",\n    \"experience\": {\n      \"automatic\": true,\n      \"single\": false,\n      \"inputMaxLength\": 1000000,\n      \"inputMode\": \"text\",\n      \"label\": \"Your text\",\n      \"placeholder\": \"Type or paste your input…\",\n      \"help\": \"Change the input or settings to update your result. Results update as you type. Up to 1,000,000 characters.\",\n      \"action\": null\n    },\n    \"mode\": \"automatic\",\n    \"interactive\": false\n  },\n  \"execution\": \"Browser interface\",\n  \"api\": null,\n  \"browser_agent\": {\n    \"supported\": true,\n    \"name\": \"run_current_tool\",\n    \"discovery\": \"WebMCP on the human page in a supporting browser\",\n    \"verification\": \"See audit/API-AUDIT.md; availability is not verification\"\n  }\n}\n```\n\n## Page guide\n\nTurn a measured test print into a scale correction. Compare all three axes or use one uniform reference dimension.\n\nHow can we improve this tool?\n\nReport a problem or share an idea.\n\nPlease leave out private information. Your message and the tool name go to our team via PostHog.\n\n### How to use 3D print shrinkage compensator\n\n1. Enter the measured inputs and select their units.\n2. Review the calculated dimensions, counts and rounding.\n3. Download the result and verify it against a sample before making the full project.\n\n## Useful next steps\n\n- [Pottery shrinkage calculator](https://happytails.ai/en/calculators/pottery-shrinkage-calculator/) ([Markdown](https://happytails.ai/en/calculators/pottery-shrinkage-calculator.md))\n\n- [Origami paper size calculator](https://happytails.ai/en/calculators/origami-paper-size-calculator/) ([Markdown](https://happytails.ai/en/calculators/origami-paper-size-calculator.md))\n\n## Measure a reference print\n\nEnter the CAD dimension before scaling, the resulting printed dimension and the slicer scale used for that test. Uniform mode uses one measured direction as the reference. Per axis mode calculates separate X, Y and Z corrections.\n\n### Apply one correction\n\nA 100 mm CAD dimension printed at 100% that measures 98 mm needs a scale factor of 100/98, or about 102.0408%. Use the recommended slicer scale with the desired model size, or pre-scale the model and retain the old slicer setting. Applying both would double-correct.\n\n### Save the calculation\n\nDownload a CSV of the results or instructions, a readable text report and a JSON report with values, formulas and assumptions. Calculations run locally on your device. Unit changes keep the numbers already entered, so check the selected units before using the result.\n"
}