{"id":100115,"date":"2026-02-15T20:18:38","date_gmt":"2026-02-15T20:18:38","guid":{"rendered":"https:\/\/vibromera.eu\/?post_type=calculator&#038;p=100115"},"modified":"2026-04-05T15:44:13","modified_gmt":"2026-04-05T15:44:13","slug":"general-tolerances-iso2768-1","status":"publish","type":"calculator","link":"https:\/\/vibromera.eu\/nb\/calculators\/general-tolerances-iso2768-1\/","title":{"rendered":"ISO 2768-1 Generelle toleransekalkulator | Vibromera"},"content":{"rendered":"\n<script type=\"application\/ld+json\">\n{\"@context\":\"https:\/\/schema.org\",\"@type\":\"WebApplication\",\"name\":\"General Tolerances Calculator ISO 2768-1\",\"alternateName\":[\"ISO 2768 Calculator\",\"General Tolerance Lookup\",\"Linear Angular Tolerance Calculator\"],\"description\":\"Free online engineering calculator for general tolerances per ISO 2768-1. Look up linear and angular tolerance values by tolerance class (f, m, c, v) and nominal dimension.\",\"url\":\"https:\/\/vibromera.eu\/calculators\/general-tolerances-iso2768-1\/\",\"applicationCategory\":\"Engineering Calculator\",\"operatingSystem\":\"Any (Web Browser)\",\"offers\":{\"@type\":\"Offer\",\"price\":\"0\",\"priceCurrency\":\"EUR\"},\"creator\":{\"@type\":\"Organization\",\"name\":\"Vibromera\",\"url\":\"https:\/\/vibromera.eu\/\"},\"datePublished\":\"2024-01-01\",\"dateModified\":\"2025-02-14\",\"inLanguage\":\"en\",\"isAccessibleForFree\":true,\"featureList\":[\"Tolerance classes f, m, c, v\",\"Linear and angular tolerances\",\"Full ISO 2768-1 reference tables\",\"Auto-calculation on input change\",\"Highlighted dimension ranges\",\"URL parameter sharing\"],\"keywords\":\"ISO 2768-1, general tolerances, linear tolerances, angular tolerances, tolerance class\"}\n<\/script>\n\n<script type=\"application\/ld+json\">\n{\"@context\":\"https:\/\/schema.org\",\"@type\":\"FAQPage\",\"mainEntity\":[\n{\"@type\":\"Question\",\"name\":\"What is ISO 2768?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"ISO 2768 is an international standard that defines general tolerances for linear and angular dimensions on engineering drawings. Part 1 (ISO 2768-1) covers linear and angular tolerances in four classes: f (fine), m (medium), c (coarse), and v (very coarse). It eliminates the need to specify individual tolerances on every dimension.\"}},\n{\"@type\":\"Question\",\"name\":\"When should I use general tolerances?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"General tolerances apply to all dimensions on a drawing that do not have individual tolerances specified. They are suitable for features produced by standard machining operations where normal workshop accuracy is sufficient. For critical fits, mating surfaces, or precision features, specific tolerances should be applied.\"}},\n{\"@type\":\"Question\",\"name\":\"What is the difference between f, m, c, and v tolerance classes?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"The four classes represent increasing levels of permissible deviation: f (fine) has the tightest tolerances, m (medium) is the most commonly used for general machining, c (coarse) is for rough machining or non-critical parts, and v (very coarse) is for castings and flame-cut parts.\"}},\n{\"@type\":\"Question\",\"name\":\"How are angular tolerances applied in ISO 2768-1?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Angular tolerances depend on the shorter side of the angle. For example, if the shorter side is \u226410 mm, the angular tolerance for class m is \u00b11\u00b0. As the shorter side increases, the angular tolerance decreases. This is defined in Table 2 of ISO 2768-1.\"}},\n{\"@type\":\"Question\",\"name\":\"How do I note ISO 2768-1 on a drawing?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"The standard is referenced in the drawing title block as 'ISO 2768-m' (for medium class) or 'ISO 2768-fH' when combined with Part 2 (geometrical tolerances). Simply write the standard designation followed by the tolerance class letter.\"}}\n]}\n<\/script>\n\n<script type=\"application\/ld+json\">\n{\"@context\":\"https:\/\/schema.org\",\"@type\":\"BreadcrumbList\",\"itemListElement\":[\n{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/vibromera.eu\/\"},\n{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Calculators\",\"item\":\"https:\/\/vibromera.eu\/calculators\/\"},\n{\"@type\":\"ListItem\",\"position\":3,\"name\":\"General Tolerances ISO 2768-1\",\"item\":\"https:\/\/vibromera.eu\/calculators\/general-tolerances-iso2768-1\/\"}\n]}\n<\/script>\n\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\n\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&#038;family=JetBrains+Mono:wght@400;500;600&#038;family=Fraunces:opsz,wght@9..144,700;9..144,800&#038;display=swap\" rel=\"stylesheet\">\n\n<link rel=\"stylesheet\" href=\"https:\/\/cdn.jsdelivr.net\/npm\/katex@0.16.11\/dist\/katex.min.css\">\n\n<style>\n:root {\n    --vc-bg: #f4f1ec;\n    --vc-surface: #ffffff;\n    --vc-surface-alt: #f8f6f2;\n    --vc-ink: #1a1a1a;\n    --vc-ink-secondary: #5a5650;\n    --vc-ink-muted: #8a857e;\n    --vc-accent: #c85a2a;\n    --vc-accent-hover: #b04d22;\n    --vc-accent-light: #fdf0ea;\n    --vc-blue: #2a5c8c;\n    --vc-blue-light: #eaf1f8;\n    --vc-green: #2a7a4b;\n    --vc-green-light: #eaf8ef;\n    --vc-yellow: #a67c00;\n    --vc-yellow-light: #fef9e8;\n    --vc-red: #b91c1c;\n    --vc-red-light: #fef2f2;\n    --vc-border: #d9d4cc;\n    --vc-border-light: #e8e4dd;\n    --vc-shadow: 0 1px 3px rgba(26,26,26,0.06), 0 4px 12px rgba(26,26,26,0.04);\n    --vc-shadow-lg: 0 4px 12px rgba(26,26,26,0.08), 0 16px 40px rgba(26,26,26,0.06);\n    --vc-radius: 8px;\n    --vc-radius-lg: 12px;\n    --vc-font: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;\n    --vc-mono: 'JetBrains Mono', 'Consolas', 'Monaco', monospace;\n    --vc-display: 'Fraunces', Georgia, serif;\n}\n\n.vc-calculator {\n    font-family: var(--vc-font);\n    font-size: 15px;\n    line-height: 1.65;\n    color: var(--vc-ink);\n    max-width: 960px;\n    margin: 0 auto;\n    padding: 20px 16px 40px;\n    -webkit-font-smoothing: antialiased;\n}\n.vc-calculator *, .vc-calculator *::before, .vc-calculator *::after { box-sizing: border-box; }\n\n\/* \u2500\u2500 HEADER \u2500\u2500 *\/\n.vc-header { text-align: center; padding: 48px 24px 40px; position: relative; }\n.vc-header::after { content:''; position:absolute; bottom:0; left:50%; transform:translateX(-50%); width:80px; height:3px; background:var(--vc-accent); border-radius:2px; }\n.vc-header-eyebrow { font-family:var(--vc-mono); font-size:11px; font-weight:500; letter-spacing:0.15em; text-transform:uppercase; color:var(--vc-accent); margin:0 0 12px; }\n.vc-header-title { font-family:var(--vc-display); font-size:clamp(24px,4vw,36px); font-weight:800; line-height:1.15; color:var(--vc-ink); margin:0 0 16px; letter-spacing:-0.02em; }\n.vc-header-subtitle { font-size:15px; color:var(--vc-ink-secondary); margin:0 auto 20px; max-width:600px; }\n.vc-badges { display:inline-flex; gap:8px; flex-wrap:wrap; justify-content:center; }\n.vc-badge { font-family:var(--vc-mono); font-size:11px; font-weight:500; padding:4px 10px; border-radius:4px; background:var(--vc-surface); border:1px solid var(--vc-border); color:var(--vc-ink-secondary); }\n\n\/* \u2500\u2500 CARD \u2500\u2500 *\/\n.vc-card { background:var(--vc-surface); border:1px solid var(--vc-border); border-radius:var(--vc-radius-lg); box-shadow:var(--vc-shadow); overflow:hidden; margin-top:32px; }\n\n\/* \u2500\u2500 FORM \u2500\u2500 *\/\n.vc-form { padding:24px; }\n.vc-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }\n@media(max-width:600px) { .vc-form-grid { grid-template-columns:1fr; } }\n.vc-field { display:flex; flex-direction:column; }\n.vc-field-full { grid-column: 1 \/ -1; }\n.vc-label { font-size:12px; font-weight:600; letter-spacing:0.04em; text-transform:uppercase; color:var(--vc-ink-secondary); margin-bottom:6px; }\n.vc-label-hint { font-weight:400; text-transform:none; letter-spacing:0; color:var(--vc-ink-muted); font-size:11px; }\n.vc-select, .vc-input { width:100%; padding:10px 12px; border:1.5px solid var(--vc-border); border-radius:6px; font-family:var(--vc-font); font-size:14px; color:var(--vc-ink); background:var(--vc-surface); transition:border-color 0.15s, box-shadow 0.15s; }\n.vc-select { padding-right:36px; appearance:none; -webkit-appearance:none; cursor:pointer; background-image:url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='16' height='16' fill='none' stroke='%235a5650' stroke-width='2'%3E%3Cpath d='M4 6l4 4 4-4'\/%3E%3C\/svg%3E\"); background-repeat:no-repeat; background-position:right 10px center; }\n.vc-select:focus, .vc-input:focus { outline:none; border-color:var(--vc-accent); box-shadow:0 0 0 3px rgba(200,90,42,0.12); }\n.vc-select:hover, .vc-input:hover { border-color:var(--vc-ink-muted); }\n\n\/* \u2500\u2500 PRESETS \u2500\u2500 *\/\n.vc-presets { display:flex; flex-wrap:wrap; gap:8px; margin-top:18px; padding-top:18px; border-top:1px solid var(--vc-border-light); }\n.vc-presets-label { font-family:var(--vc-mono); font-size:11px; font-weight:500; letter-spacing:0.1em; text-transform:uppercase; color:var(--vc-ink-muted); width:100%; margin-bottom:2px; }\n.vc-preset-btn { padding:5px 12px; font-family:var(--vc-font); font-size:12px; font-weight:500; border:1px solid var(--vc-border); border-radius:6px; background:var(--vc-surface-alt); color:var(--vc-ink-secondary); cursor:pointer; transition:all 0.15s; }\n.vc-preset-btn:hover { border-color:var(--vc-accent); color:var(--vc-accent); background:var(--vc-accent-light); }\n\n\/* \u2500\u2500 RESULTS \u2500\u2500 *\/\n.vc-results { border-top:1px solid var(--vc-border-light); background:var(--vc-surface-alt); padding:0; max-height:0; overflow:hidden; transition:max-height 0.5s cubic-bezier(0.4,0,0.2,1), padding 0.3s; }\n.vc-results.vc-visible { max-height:2000px; padding:24px; }\n.vc-results-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:18px; }\n.vc-results-title { font-family:var(--vc-display); font-size:20px; font-weight:700; color:var(--vc-ink); margin:0; }\n.vc-copy-btn { display:inline-flex; align-items:center; gap:5px; padding:6px 12px; border:1px solid var(--vc-border); border-radius:6px; background:var(--vc-surface); font-family:var(--vc-font); font-size:12px; font-weight:500; color:var(--vc-ink-secondary); cursor:pointer; transition:all 0.15s; }\n.vc-copy-btn:hover { border-color:var(--vc-accent); color:var(--vc-accent); }\n.vc-copy-btn.vc-copied { background:var(--vc-green-light); border-color:var(--vc-green); color:var(--vc-green); }\n\n.vc-result-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:20px; }\n@media(max-width:500px) { .vc-result-grid { grid-template-columns:1fr; } }\n.vc-rcard { background:var(--vc-surface); border:1px solid var(--vc-border-light); border-radius:var(--vc-radius); padding:16px; transition:transform 0.2s; }\n.vc-rcard:hover { transform:translateY(-1px); }\n.vc-rcard-primary { border-color:var(--vc-accent); border-width:2px; background:linear-gradient(135deg, #fdf6f2 0%, var(--vc-surface) 100%); grid-column:1 \/ -1; }\n.vc-rcard-label { font-family:var(--vc-mono); font-size:10px; font-weight:500; letter-spacing:0.1em; text-transform:uppercase; color:var(--vc-ink-muted); margin-bottom:4px; }\n.vc-rcard-value { font-family:var(--vc-mono); font-size:22px; font-weight:600; color:var(--vc-ink); line-height:1.2; }\n.vc-rcard-primary .vc-rcard-value { font-size:30px; color:var(--vc-accent); }\n.vc-rcard-unit { font-size:14px; font-weight:400; color:var(--vc-ink-secondary); }\n\n\/* \u2500\u2500 COLLAPSIBLE SECTIONS \u2500\u2500 *\/\n.vc-section { margin-top:24px; border:1px solid var(--vc-border); border-radius:var(--vc-radius-lg); background:var(--vc-surface); box-shadow:var(--vc-shadow); overflow:hidden; }\n.vc-section-toggle { width:100%; display:flex; align-items:center; justify-content:space-between; padding:18px 24px; border:none; background:transparent; cursor:pointer; font-family:var(--vc-font); text-align:left; transition:background 0.15s; }\n.vc-section-toggle:hover { background:var(--vc-surface-alt); }\n.vc-section-toggle-text { display:flex; align-items:center; gap:10px; }\n.vc-section-icon { font-size:20px; line-height:1; }\n.vc-section-title { font-family:var(--vc-display); font-size:18px; font-weight:700; color:var(--vc-ink); margin:0; }\n.vc-section-chevron { width:20px; height:20px; color:var(--vc-ink-muted); transition:transform 0.3s; flex-shrink:0; }\n.vc-section.vc-open .vc-section-chevron { transform:rotate(180deg); }\n.vc-section-body { max-height:0; overflow:hidden; transition:max-height 0.4s cubic-bezier(0.4,0,0.2,1); }\n.vc-section.vc-open .vc-section-body { max-height:20000px; }\n.vc-section-inner { padding:0 24px 24px; border-top:1px solid var(--vc-border-light); }\n\n\/* \u2500\u2500 THEORY \u2500\u2500 *\/\n.vc-theory h3 { font-family:var(--vc-display); font-size:17px; font-weight:700; color:var(--vc-ink); margin:28px 0 10px; }\n.vc-theory h3:first-child { margin-top:20px; }\n.vc-theory p { font-size:14px; color:var(--vc-ink-secondary); margin:0 0 10px; }\n.vc-theory ul, .vc-theory ol { font-size:14px; color:var(--vc-ink-secondary); margin:0 0 12px 18px; padding:0; }\n.vc-theory li { margin-bottom:5px; }\n.vc-formula-box { background:var(--vc-surface-alt); border:2px solid var(--vc-border); border-radius:6px; padding:14px 20px; font-family:var(--vc-mono); font-size:16px; font-weight:500; text-align:center; margin:14px 0; color:var(--vc-ink); overflow-x:auto; }\n.vc-info-box { background:var(--vc-blue-light); border-left:3px solid var(--vc-blue); padding:14px 16px; border-radius:0 6px 6px 0; margin:14px 0; }\n.vc-info-box p { margin:0; font-size:14px; color:var(--vc-ink-secondary); }\n.vc-warning-box { background:var(--vc-yellow-light); border-left:3px solid var(--vc-yellow); padding:14px 16px; border-radius:0 6px 6px 0; margin:14px 0; }\n.vc-example-box { background:var(--vc-surface-alt); border:1px solid var(--vc-border-light); border-radius:6px; padding:16px; margin:14px 0; }\n.vc-example-title { font-family:var(--vc-mono); font-size:13px; font-weight:600; color:var(--vc-accent); margin-bottom:8px; }\n.vc-table { width:100%; border-collapse:collapse; margin:14px 0; font-size:13px; }\n.vc-table th, .vc-table td { padding:10px 12px; border:1px solid var(--vc-border-light); text-align:left; }\n.vc-table th { background:var(--vc-surface-alt); font-size:11px; font-weight:600; text-transform:uppercase; letter-spacing:0.05em; color:var(--vc-ink-secondary); }\n.vc-table tr:nth-child(even) { background:var(--vc-surface-alt); }\n.vc-table td.vc-highlight { background:var(--vc-accent-light); font-weight:600; color:var(--vc-accent); }\n.vc-table tr.vc-row-highlight td { background:var(--vc-accent-light); }\n@media(max-width:600px) { .vc-table { font-size:12px; } .vc-table th, .vc-table td { padding:8px; } }\n\n\/* \u2500\u2500 FAQ \u2500\u2500 *\/\n.vc-faq-list { display:flex; flex-direction:column; gap:8px; margin-top:20px; }\n.vc-faq-item { border:1px solid var(--vc-border-light); border-radius:6px; overflow:hidden; }\n.vc-faq-q { width:100%; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 16px; border:none; background:var(--vc-surface-alt); cursor:pointer; font-family:var(--vc-font); font-size:15px; font-weight:600; color:var(--vc-ink); text-align:left; transition:background 0.15s; }\n.vc-faq-q:hover { background:#ede9e3; }\n.vc-faq-chevron { width:16px; height:16px; color:var(--vc-ink-muted); flex-shrink:0; transition:transform 0.25s; }\n.vc-faq-item.vc-open .vc-faq-chevron { transform:rotate(180deg); }\n.vc-faq-a { max-height:0; overflow:hidden; transition:max-height 0.35s; }\n.vc-faq-item.vc-open .vc-faq-a { max-height:1200px; }\n.vc-faq-a-inner { padding:14px 16px; border-top:1px solid var(--vc-border-light); font-size:14px; color:var(--vc-ink-secondary); }\n.vc-faq-a-inner p { margin:0 0 8px; }\n.vc-faq-a-inner p:last-child { margin-bottom:0; }\n.vc-faq-a-inner ul { margin:4px 0 8px 16px; padding:0; }\n.vc-faq-a-inner li { margin-bottom:3px; }\n\n\/* \u2500\u2500 RELATED \u2500\u2500 *\/\n.vc-related { display:flex; flex-wrap:wrap; gap:10px; margin-top:16px; }\n.vc-related-link { display:inline-block; padding:8px 16px; font-family:var(--vc-font); font-size:13px; font-weight:600; background:var(--vc-surface-alt); color:var(--vc-ink-secondary); border:1px solid var(--vc-border); border-radius:var(--vc-radius); text-decoration:none; transition:all 0.15s; }\n.vc-related-link:hover { border-color:var(--vc-accent); color:var(--vc-accent); background:var(--vc-accent-light); }\n\n\/* \u2500\u2500 PROMO \u2500\u2500 *\/\n.vc-promo { margin-top:24px; padding:20px; background:linear-gradient(135deg, var(--vc-accent-light), var(--vc-surface)); border:1px solid var(--vc-border); border-radius:var(--vc-radius-lg); display:flex; align-items:center; gap:16px; }\n.vc-promo-text { flex:1; font-size:14px; color:var(--vc-ink-secondary); }\n.vc-promo-text strong { color:var(--vc-ink); }\n.vc-promo-link { padding:8px 20px; font-size:13px; font-weight:700; color:#fff; background:var(--vc-accent); border-radius:var(--vc-radius); text-decoration:none; white-space:nowrap; transition:background 0.15s; }\n.vc-promo-link:hover { background:var(--vc-accent-hover); }\n\n\/* \u2500\u2500 FOOTER \u2500\u2500 *\/\n.vc-footer { text-align:center; padding:32px 16px; font-size:13px; color:var(--vc-ink-muted); }\n.vc-footer a { color:var(--vc-accent); text-decoration:none; }\n.vc-footer a:hover { text-decoration:underline; }\n.vc-footer-links { margin-top:8px; font-size:12px; }\n.vc-footer-links a { margin:0 8px; }\n\n\/* \u2500\u2500 TABLE SCROLL \u2500\u2500 *\/\n.vc-table-wrap { overflow-x:auto; margin:14px 0; }\n\n\/* \u2500\u2500 PRINT \u2500\u2500 *\/\n@media print {\n    .vc-section-body { max-height:none!important; }\n    .vc-faq-a { max-height:none!important; }\n    .vc-results { max-height:none!important; padding:24px!important; }\n    .vc-copy-btn, .vc-section-chevron, .vc-faq-chevron, .vc-presets, .vc-promo { display:none!important; }\n}\n<\/style>\n\n<div class=\"vc-calculator\" id=\"vc-general-tolerances\">\n\n<!-- Header -->\n<header class=\"vc-header\">\n    <p class=\"vc-header-eyebrow\">Free Engineering Tool<\/p>\n    <h1 class=\"vc-header-title\">General Tolerances Calculator \u2014 ISO 2768-1<\/h1>\n    <p class=\"vc-header-subtitle\">Look up general tolerance values per ISO 2768-1 by tolerance class and nominal dimension. Linear and angular tolerances with full reference tables.<\/p>\n    <div class=\"vc-badges\">\n        <span class=\"vc-badge\">ISO 2768-1<\/span>\n        <span class=\"vc-badge\">Linear Tolerances<\/span>\n        <span class=\"vc-badge\">Angular Tolerances<\/span>\n    <\/div>\n<\/header>\n\n<!-- Calculator Card -->\n<div class=\"vc-card\">\n    <form class=\"vc-form\" id=\"vc-form\" autocomplete=\"off\">\n        <div class=\"vc-form-grid\">\n            <div class=\"vc-field\">\n                <label class=\"vc-label\" for=\"vc-class\">Tolerance Class<\/label>\n                <select class=\"vc-select\" id=\"vc-class\">\n                    <option value=\"f\">f \u2014 Fine<\/option>\n                    <option value=\"m\" selected>m \u2014 Medium<\/option>\n                    <option value=\"c\">c \u2014 Coarse<\/option>\n                    <option value=\"v\">v \u2014 Very Coarse<\/option>\n                <\/select>\n            <\/div>\n            <div class=\"vc-field\">\n                <label class=\"vc-label\" for=\"vc-dim\">Nominal Dimension <span class=\"vc-label-hint\">(mm)<\/span><\/label>\n                <input class=\"vc-input\" type=\"number\" id=\"vc-dim\" inputmode=\"decimal\" step=\"any\" min=\"0.5\" placeholder=\"e.g. 50\" value=\"50\">\n            <\/div>\n        <\/div>\n\n        <!-- Presets -->\n        <div class=\"vc-presets\">\n            <div class=\"vc-presets-label\">Quick presets<\/div>\n            <button type=\"button\" class=\"vc-preset-btn\" data-d=\"50\" data-c=\"m\">50 mm class m<\/button>\n            <button type=\"button\" class=\"vc-preset-btn\" data-d=\"200\" data-c=\"f\">200 mm class f<\/button>\n            <button type=\"button\" class=\"vc-preset-btn\" data-d=\"15\" data-c=\"c\">15 mm class c<\/button>\n        <\/div>\n    <\/form>\n\n    <!-- Results -->\n    <div class=\"vc-results\" id=\"vc-results\">\n        <div class=\"vc-results-head\">\n            <h2 class=\"vc-results-title\">Results<\/h2>\n            <button type=\"button\" class=\"vc-copy-btn\" id=\"vc-copy-btn\">\n                <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><rect x=\"9\" y=\"9\" width=\"13\" height=\"13\" rx=\"2\"\/><path d=\"M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1\"\/><\/svg>\n                Copy\n            <\/button>\n        <\/div>\n        <div class=\"vc-result-grid\">\n            <div class=\"vc-rcard vc-rcard-primary\">\n                <div class=\"vc-rcard-label\">Linear Tolerance<\/div>\n                <div class=\"vc-rcard-value\" id=\"vc-r-tol\">\u2014<\/div>\n            <\/div>\n            <div class=\"vc-rcard\">\n                <div class=\"vc-rcard-label\">Tolerance Class<\/div>\n                <div class=\"vc-rcard-value\" id=\"vc-r-class\">\u2014<\/div>\n            <\/div>\n            <div class=\"vc-rcard\">\n                <div class=\"vc-rcard-label\">Dimension Range<\/div>\n                <div class=\"vc-rcard-value\" id=\"vc-r-range\">\u2014<\/div>\n            <\/div>\n            <div class=\"vc-rcard\">\n                <div class=\"vc-rcard-label\">Upper Limit<\/div>\n                <div class=\"vc-rcard-value\" id=\"vc-r-upper\">\u2014<\/div>\n            <\/div>\n            <div class=\"vc-rcard\">\n                <div class=\"vc-rcard-label\">Lower Limit<\/div>\n                <div class=\"vc-rcard-value\" id=\"vc-r-lower\">\u2014<\/div>\n            <\/div>\n            <div class=\"vc-rcard\" style=\"grid-column:1\/-1;\">\n                <div class=\"vc-rcard-label\">Angular Tolerance (shorter side)<\/div>\n                <div class=\"vc-rcard-value\" id=\"vc-r-angular\">\u2014<\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n<!-- Reference Tables -->\n<div class=\"vc-section vc-open\" id=\"vc-sec-tables\">\n    <button type=\"button\" class=\"vc-section-toggle\" aria-expanded=\"true\">\n        <span class=\"vc-section-toggle-text\">\n            <span class=\"vc-section-icon\">\ud83d\udccf<\/span>\n            <span class=\"vc-section-title\">ISO 2768-1 Reference Tables<\/span>\n        <\/span>\n        <svg class=\"vc-section-chevron\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M6 9l6 6 6-6\"\/><\/svg>\n    <\/button>\n    <div class=\"vc-section-body\">\n        <div class=\"vc-section-inner vc-theory\">\n            <h3>Table 1 \u2014 Linear Dimensions (Permissible Deviations in mm)<\/h3>\n            <div class=\"vc-table-wrap\">\n                <table class=\"vc-table\" id=\"vc-linear-table\">\n                    <thead>\n                        <tr>\n                            <th>Range (mm)<\/th>\n                            <th>f (Fine)<\/th>\n                            <th>m (Medium)<\/th>\n                            <th>c (Coarse)<\/th>\n                            <th>v (Very Coarse)<\/th>\n                        <\/tr>\n                    <\/thead>\n                    <tbody>\n                        <tr data-lo=\"0.5\" data-hi=\"3\"><td>0.5 \u2013 3<\/td><td>\u00b10.05<\/td><td>\u00b10.1<\/td><td>\u00b10.2<\/td><td>\u2014<\/td><\/tr>\n                        <tr data-lo=\"3\" data-hi=\"6\"><td>3 \u2013 6<\/td><td>\u00b10.05<\/td><td>\u00b10.1<\/td><td>\u00b10.3<\/td><td>\u00b10.5<\/td><\/tr>\n                        <tr data-lo=\"6\" data-hi=\"30\"><td>6 \u2013 30<\/td><td>\u00b10.1<\/td><td>\u00b10.2<\/td><td>\u00b10.5<\/td><td>\u00b11<\/td><\/tr>\n                        <tr data-lo=\"30\" data-hi=\"120\"><td>30 \u2013 120<\/td><td>\u00b10.15<\/td><td>\u00b10.3<\/td><td>\u00b10.8<\/td><td>\u00b11.5<\/td><\/tr>\n                        <tr data-lo=\"120\" data-hi=\"400\"><td>120 \u2013 400<\/td><td>\u00b10.2<\/td><td>\u00b10.5<\/td><td>\u00b11.2<\/td><td>\u00b12.5<\/td><\/tr>\n                        <tr data-lo=\"400\" data-hi=\"1000\"><td>400 \u2013 1000<\/td><td>\u00b10.3<\/td><td>\u00b10.8<\/td><td>\u00b12<\/td><td>\u00b14<\/td><\/tr>\n                        <tr data-lo=\"1000\" data-hi=\"2000\"><td>1000 \u2013 2000<\/td><td>\u00b10.5<\/td><td>\u00b11.2<\/td><td>\u00b13<\/td><td>\u00b16<\/td><\/tr>\n                        <tr data-lo=\"2000\" data-hi=\"4000\"><td>2000 \u2013 4000<\/td><td>\u2014<\/td><td>\u00b12<\/td><td>\u00b14<\/td><td>\u00b18<\/td><\/tr>\n                    <\/tbody>\n                <\/table>\n            <\/div>\n\n            <h3>Table 2 \u2014 Angular Dimensions (Permissible Deviations)<\/h3>\n            <div class=\"vc-table-wrap\">\n                <table class=\"vc-table\" id=\"vc-angular-table\">\n                    <thead>\n                        <tr>\n                            <th>Shorter Side (mm)<\/th>\n                            <th>f (Fine)<\/th>\n                            <th>m (Medium)<\/th>\n                            <th>c (Coarse)<\/th>\n                            <th>v (Very Coarse)<\/th>\n                        <\/tr>\n                    <\/thead>\n                    <tbody>\n                        <tr data-lo=\"0\" data-hi=\"10\"><td>\u2264 10<\/td><td>\u00b11\u00b0<\/td><td>\u00b11\u00b0<\/td><td>\u00b11\u00b030\u2032<\/td><td>\u00b13\u00b0<\/td><\/tr>\n                        <tr data-lo=\"10\" data-hi=\"50\"><td>10 \u2013 50<\/td><td>\u00b10\u00b030\u2032<\/td><td>\u00b10\u00b030\u2032<\/td><td>\u00b11\u00b0<\/td><td>\u00b12\u00b0<\/td><\/tr>\n                        <tr data-lo=\"50\" data-hi=\"120\"><td>50 \u2013 120<\/td><td>\u00b10\u00b020\u2032<\/td><td>\u00b10\u00b020\u2032<\/td><td>\u00b10\u00b030\u2032<\/td><td>\u00b11\u00b0<\/td><\/tr>\n                        <tr data-lo=\"120\" data-hi=\"400\"><td>120 \u2013 400<\/td><td>\u00b10\u00b010\u2032<\/td><td>\u00b10\u00b010\u2032<\/td><td>\u00b10\u00b015\u2032<\/td><td>\u00b10\u00b030\u2032<\/td><\/tr>\n                        <tr data-lo=\"400\" data-hi=\"999999\"><td>> 400<\/td><td>\u00b10\u00b05\u2032<\/td><td>\u00b10\u00b05\u2032<\/td><td>\u00b10\u00b010\u2032<\/td><td>\u00b10\u00b020\u2032<\/td><\/tr>\n                    <\/tbody>\n                <\/table>\n            <\/div>\n\n            <div class=\"vc-info-box\">\n                <p><strong>\u2139\ufe0f Note:<\/strong> ISO 2768-1 applies to all dimensions on the drawing that do not have individual tolerances specified. The tolerance class letter is placed in the title block, e.g. &#8220;ISO 2768-m&#8221;.<\/p>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n<!-- Theory & Formulas -->\n<div class=\"vc-section\" id=\"vc-sec-theory\">\n    <button type=\"button\" class=\"vc-section-toggle\" aria-expanded=\"false\">\n        <span class=\"vc-section-toggle-text\">\n            <span class=\"vc-section-icon\">\ud83d\udcd8<\/span>\n            <span class=\"vc-section-title\">Theory &amp; Application<\/span>\n        <\/span>\n        <svg class=\"vc-section-chevron\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M6 9l6 6 6-6\"\/><\/svg>\n    <\/button>\n    <div class=\"vc-section-body\">\n        <div class=\"vc-section-inner vc-theory\">\n            <h3>What Are General Tolerances?<\/h3>\n            <p>General tolerances per ISO 2768-1 define permissible deviations for linear and angular dimensions that do not carry individual tolerance indications on a drawing. They represent normal workshop accuracy achievable with standard machining processes.<\/p>\n            <div class=\"vc-formula-box\" id=\"vc-katex-1\"><\/div>\n            <p>The actual dimension must fall within the range:<\/p>\n            <div class=\"vc-formula-box\" id=\"vc-katex-2\"><\/div>\n\n            <h3>Tolerance Class Selection<\/h3>\n            <ul>\n                <li><strong>f (Fine)<\/strong> \u2014 Precision machining, tight fits. Requires careful process control.<\/li>\n                <li><strong>m (Medium)<\/strong> \u2014 Most commonly used. Standard machining (turning, milling, drilling).<\/li>\n                <li><strong>c (Coarse)<\/strong> \u2014 Rough machining, welded structures, non-critical parts.<\/li>\n                <li><strong>v (Very Coarse)<\/strong> \u2014 Castings, flame-cut parts, forgings.<\/li>\n            <\/ul>\n\n            <h3>Drawing Notation<\/h3>\n            <div class=\"vc-example-box\">\n                <div class=\"vc-example-title\">Example \u2014 Title Block Notation<\/div>\n                <p>For linear tolerances only: <strong>ISO 2768-m<\/strong><\/p>\n                <p>Combined with geometrical tolerances (ISO 2768-2): <strong>ISO 2768-mK<\/strong><\/p>\n                <p>This means: linear tolerance class &#8220;m&#8221; + geometrical tolerance class &#8220;K&#8221;.<\/p>\n            <\/div>\n\n            <div class=\"vc-warning-box\">\n                <p style=\"margin:0;font-size:14px;color:var(--vc-ink-secondary);\"><strong>\u26a0\ufe0f Important:<\/strong> General tolerances do not apply to dimensions with individual tolerances, reference dimensions (in parentheses), or dimensions governed by other standards.<\/p>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n<!-- Related Calculators -->\n<div class=\"vc-section\" id=\"vc-sec-related\">\n    <button type=\"button\" class=\"vc-section-toggle\" aria-expanded=\"false\">\n        <span class=\"vc-section-toggle-text\">\n            <span class=\"vc-section-icon\">\ud83d\udd17<\/span>\n            <span class=\"vc-section-title\">Related Calculators<\/span>\n        <\/span>\n        <svg class=\"vc-section-chevron\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M6 9l6 6 6-6\"\/><\/svg>\n    <\/button>\n    <div class=\"vc-section-body\">\n        <div class=\"vc-section-inner\">\n            <div class=\"vc-related\">\n                <a class=\"vc-related-link\" href=\"\/calculators\/surface-roughness-converter\/\">Surface Roughness Converter<\/a>\n                <a class=\"vc-related-link\" href=\"\/calculators\/hardness-converter\/\">Hardness Converter<\/a>\n                <a class=\"vc-related-link\" href=\"\/calculators\/general-tolerances-iso2768-2\/\">Geometric Tolerances (ISO 2768-2)<\/a>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n<!-- FAQ -->\n<div class=\"vc-section\" id=\"vc-sec-faq\">\n    <button type=\"button\" class=\"vc-section-toggle\" aria-expanded=\"false\">\n        <span class=\"vc-section-toggle-text\">\n            <span class=\"vc-section-icon\">\u2753<\/span>\n            <span class=\"vc-section-title\">Frequently Asked Questions<\/span>\n        <\/span>\n        <svg class=\"vc-section-chevron\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M6 9l6 6 6-6\"\/><\/svg>\n    <\/button>\n    <div class=\"vc-section-body\">\n        <div class=\"vc-section-inner\">\n            <div class=\"vc-faq-list\" id=\"vc-faq-list\"><\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n<!-- Promo -->\n<div class=\"vc-promo\">\n    <div class=\"vc-promo-text\">\n        <strong>Vibromera \u2014 Portable Balancing &amp; Vibration Analysis<\/strong><br>\n        Professional field balancing instruments and software. Used in 50+ countries.\n    <\/div>\n    <a class=\"vc-promo-link\" href=\"https:\/\/vibromera.eu\/\" target=\"_blank\" rel=\"noopener\">Learn More<\/a>\n<\/div>\n\n<!-- Footer -->\n<footer class=\"vc-footer\">\n    <p>\u00a9 2024\u20132025 <a href=\"https:\/\/vibromera.eu\/\">Vibromera<\/a> \u2014 Engineering Calculators<\/p>\n    <p style=\"font-size:12px;margin-top:4px;\">Based on ISO 2768-1:1989. Last updated: February 2025<\/p>\n    <div class=\"vc-footer-links\">\n        <a href=\"\/calculators\/engineering-calculators\/\">All Calculators<\/a>\n        <a href=\"https:\/\/vibromera.eu\/contacts\/\">Contact<\/a>\n    <\/div>\n<\/footer>\n\n<\/div>\n\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/katex@0.16.11\/dist\/katex.min.js\"><\/script>\n<script>\n(function() {\n    'use strict';\n\n    var SLUG = 'general-tolerances-iso2768-1';\n\n    function $(id) { return document.getElementById(id); }\n\n    \/* \u2500\u2500 ISO 2768-1 DATA \u2500\u2500 *\/\n    \/\/ Linear tolerances: [lo, hi, f, m, c, v]  (null = not defined)\n    var linearData = [\n        { lo:0.5, hi:3,    f:0.05, m:0.1,  c:0.2, v:null },\n        { lo:3,   hi:6,    f:0.05, m:0.1,  c:0.3, v:0.5  },\n        { lo:6,   hi:30,   f:0.1,  m:0.2,  c:0.5, v:1    },\n        { lo:30,  hi:120,  f:0.15, m:0.3,  c:0.8, v:1.5  },\n        { lo:120, hi:400,  f:0.2,  m:0.5,  c:1.2, v:2.5  },\n        { lo:400, hi:1000, f:0.3,  m:0.8,  c:2,   v:4    },\n        { lo:1000,hi:2000, f:0.5,  m:1.2,  c:3,   v:6    },\n        { lo:2000,hi:4000, f:null, m:2,    c:4,   v:8    }\n    ];\n\n    \/\/ Angular tolerances: [lo, hi, f, m, c, v] in text\n    var angularData = [\n        { lo:0,   hi:10,   f:'\u00b11\u00b0',     m:'\u00b11\u00b0',     c:'\u00b11\u00b030\u2032',  v:'\u00b13\u00b0'    },\n        { lo:10,  hi:50,   f:'\u00b10\u00b030\u2032',  m:'\u00b10\u00b030\u2032',  c:'\u00b11\u00b0',     v:'\u00b12\u00b0'    },\n        { lo:50,  hi:120,  f:'\u00b10\u00b020\u2032',  m:'\u00b10\u00b020\u2032',  c:'\u00b10\u00b030\u2032',  v:'\u00b11\u00b0'    },\n        { lo:120, hi:400,  f:'\u00b10\u00b010\u2032',  m:'\u00b10\u00b010\u2032',  c:'\u00b10\u00b015\u2032',  v:'\u00b10\u00b030\u2032' },\n        { lo:400, hi:999999,f:'\u00b10\u00b05\u2032',  m:'\u00b10\u00b05\u2032',   c:'\u00b10\u00b010\u2032',  v:'\u00b10\u00b020\u2032' }\n    ];\n\n    var classMap = { f:1, m:2, c:3, v:4 };\n\n    \/* \u2500\u2500 CALCULATION \u2500\u2500 *\/\n    function calculate() {\n        var cls = $('vc-class').value;\n        var dim = parseFloat($('vc-dim').value);\n\n        if (!dim || dim < 0.5) {\n            $('vc-results').classList.remove('vc-visible');\n            clearHighlights();\n            return;\n        }\n\n        \/\/ Find linear range\n        var linRow = null;\n        for (var i = 0; i < linearData.length; i++) {\n            if (dim >= linearData[i].lo && dim < linearData[i].hi) {\n                linRow = linearData[i]; break;\n            }\n            \/\/ handle upper boundary of last range\n            if (i === linearData.length - 1 && dim >= linearData[i].lo && dim <= linearData[i].hi) {\n                linRow = linearData[i]; break;\n            }\n        }\n\n        var tolVal = linRow ? linRow[cls] : null;\n        var rangeStr = linRow ? (linRow.lo + ' \u2013 ' + linRow.hi + ' mm') : '\u2014';\n\n        \/\/ Find angular range\n        var angRow = null;\n        for (var j = 0; j < angularData.length; j++) {\n            if (dim >= angularData[j].lo && dim < angularData[j].hi) {\n                angRow = angularData[j]; break;\n            }\n            if (j === angularData.length - 1 && dim >= angularData[j].lo) {\n                angRow = angularData[j]; break;\n            }\n        }\n        var angVal = angRow ? angRow[cls] : '\u2014';\n\n        \/\/ Display results\n        if (tolVal !== null) {\n            $('vc-r-tol').innerHTML = '\u00b1' + tolVal + ' <span class=\"vc-rcard-unit\">mm<\/span>';\n            $('vc-r-upper').innerHTML = '+' + tolVal + ' <span class=\"vc-rcard-unit\">mm<\/span>';\n            $('vc-r-lower').innerHTML = '\u2212' + tolVal + ' <span class=\"vc-rcard-unit\">mm<\/span>';\n        } else {\n            $('vc-r-tol').innerHTML = '<span style=\"font-size:16px;\">Not defined for this class\/range<\/span>';\n            $('vc-r-upper').innerHTML = '\u2014';\n            $('vc-r-lower').innerHTML = '\u2014';\n        }\n\n        var classNames = { f:'f \u2014 Fine', m:'m \u2014 Medium', c:'c \u2014 Coarse', v:'v \u2014 Very Coarse' };\n        $('vc-r-class').textContent = classNames[cls];\n        $('vc-r-range').textContent = rangeStr;\n        $('vc-r-angular').textContent = angVal;\n\n        $('vc-results').classList.add('vc-visible');\n\n        \/\/ Highlight tables\n        highlightTables(linRow, angRow, cls);\n\n        \/\/ URL params\n        var u = new URL(window.location);\n        u.searchParams.set('class', cls);\n        u.searchParams.set('dim', dim);\n        history.replaceState(null, '', u.toString());\n\n        \/\/ History\n        saveHistory({\n            class: cls,\n            dim: dim,\n            _summary: dim + ' mm, class ' + cls + (tolVal !== null ? ', \u00b1' + tolVal + ' mm' : ', N\/A')\n        });\n    }\n\n    \/* \u2500\u2500 HIGHLIGHT TABLES \u2500\u2500 *\/\n    function clearHighlights() {\n        document.querySelectorAll('.vc-table tr.vc-row-highlight').forEach(function(r) { r.classList.remove('vc-row-highlight'); });\n        document.querySelectorAll('.vc-table td.vc-highlight').forEach(function(c) { c.classList.remove('vc-highlight'); });\n    }\n\n    function highlightTables(linRow, angRow, cls) {\n        clearHighlights();\n        var colIdx = classMap[cls]; \/\/ 1=f, 2=m, 3=c, 4=v\n\n        \/\/ Linear table\n        if (linRow) {\n            var linTable = $('vc-linear-table');\n            var rows = linTable.querySelectorAll('tbody tr');\n            for (var i = 0; i < rows.length; i++) {\n                var lo = parseFloat(rows[i].getAttribute('data-lo'));\n                var hi = parseFloat(rows[i].getAttribute('data-hi'));\n                if (lo === linRow.lo && hi === linRow.hi) {\n                    rows[i].classList.add('vc-row-highlight');\n                    var cells = rows[i].querySelectorAll('td');\n                    if (cells[colIdx]) cells[colIdx].classList.add('vc-highlight');\n                    break;\n                }\n            }\n        }\n\n        \/\/ Angular table\n        if (angRow) {\n            var angTable = $('vc-angular-table');\n            var arows = angTable.querySelectorAll('tbody tr');\n            for (var j = 0; j < arows.length; j++) {\n                var alo = parseFloat(arows[j].getAttribute('data-lo'));\n                var ahi = parseFloat(arows[j].getAttribute('data-hi'));\n                if (alo === angRow.lo && ahi === angRow.hi) {\n                    arows[j].classList.add('vc-row-highlight');\n                    var acells = arows[j].querySelectorAll('td');\n                    if (acells[colIdx]) acells[colIdx].classList.add('vc-highlight');\n                    break;\n                }\n            }\n        }\n    }\n\n    \/* \u2500\u2500 PRESETS \u2500\u2500 *\/\n    document.querySelectorAll('.vc-preset-btn').forEach(function(btn) {\n        btn.addEventListener('click', function(e) {\n            e.preventDefault();\n            $('vc-dim').value = this.getAttribute('data-d');\n            $('vc-class').value = this.getAttribute('data-c');\n            calculate();\n        });\n    });\n\n    \/* \u2500\u2500 AUTO-CALCULATE \u2500\u2500 *\/\n    $('vc-form').addEventListener('input', calculate);\n    $('vc-form').addEventListener('change', calculate);\n\n    \/* \u2500\u2500 COPY \u2500\u2500 *\/\n    $('vc-copy-btn').addEventListener('click', function() {\n        var text = 'ISO 2768-1 General Tolerance Lookup\\n' +\n            '\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\\n' +\n            'Nominal Dimension: ' + $('vc-dim').value + ' mm\\n' +\n            'Tolerance Class: ' + $('vc-r-class').textContent + '\\n' +\n            'Linear Tolerance: ' + $('vc-r-tol').textContent + '\\n' +\n            'Dimension Range: ' + $('vc-r-range').textContent + '\\n' +\n            'Upper Limit: ' + $('vc-r-upper').textContent + '\\n' +\n            'Lower Limit: ' + $('vc-r-lower').textContent + '\\n' +\n            'Angular Tolerance: ' + $('vc-r-angular').textContent + '\\n' +\n            '\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\\n' +\n            'vibromera.eu\/calculators\/general-tolerances-iso2768-1\/';\n\n        if (navigator.clipboard) {\n            navigator.clipboard.writeText(text).then(function() {\n                var btn = $('vc-copy-btn');\n                btn.classList.add('vc-copied');\n                btn.innerHTML = '<svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg> Copied!';\n                setTimeout(function() {\n                    btn.classList.remove('vc-copied');\n                    btn.innerHTML = '<svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><rect x=\"9\" y=\"9\" width=\"13\" height=\"13\" rx=\"2\"\/><path d=\"M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1\"\/><\/svg> Copy';\n                }, 2000);\n            });\n        }\n    });\n\n    \/* \u2500\u2500 COLLAPSIBLE SECTIONS \u2500\u2500 *\/\n    document.querySelectorAll('.vc-section-toggle').forEach(function(btn) {\n        btn.addEventListener('click', function() {\n            var section = this.closest('.vc-section');\n            var isOpen = section.classList.contains('vc-open');\n            section.classList.toggle('vc-open');\n            this.setAttribute('aria-expanded', !isOpen);\n        });\n    });\n\n    \/* \u2500\u2500 FAQ \u2500\u2500 *\/\n    var faqData = [\n        { q: 'What is ISO 2768?', a: '<p>ISO 2768 is an international standard that defines general tolerances for linear and angular dimensions on engineering drawings. Part 1 (ISO 2768-1) covers linear and angular tolerances, while Part 2 (ISO 2768-2) covers geometrical tolerances.<\/p><p>General tolerances apply to all dimensions on a drawing that do not have individual tolerances indicated. This simplifies drawings and reduces the number of tolerance notations needed.<\/p>' },\n        { q: 'When should I use general tolerances?', a: '<p>General tolerances are appropriate when:<\/p><ul><li>Features are produced by standard machining (turning, milling, drilling)<\/li><li>Normal workshop accuracy is sufficient for function<\/li><li>Parts do not require tight fits or precision alignment<\/li><\/ul><p>Do <strong>not<\/strong> rely on general tolerances for critical fits, mating surfaces, seal grooves, or bearing seats \u2014 these require individual tolerances.<\/p>' },\n        { q: 'What is the difference between f, m, c, and v classes?', a: '<p>The four tolerance classes represent increasing levels of permissible deviation:<\/p><ul><li><strong>f (Fine)<\/strong> \u2014 Tightest tolerances. Precision machining with careful process control.<\/li><li><strong>m (Medium)<\/strong> \u2014 Most commonly used. Standard machining accuracy.<\/li><li><strong>c (Coarse)<\/strong> \u2014 Rough machining, welded assemblies, non-critical parts.<\/li><li><strong>v (Very Coarse)<\/strong> \u2014 Castings, forgings, flame-cut parts.<\/li><\/ul><p>When in doubt, <strong>class m<\/strong> is the default for general machined parts.<\/p>' },\n        { q: 'How do angular tolerances work?', a: '<p>Angular tolerances per ISO 2768-1 Table 2 depend on the <strong>shorter side<\/strong> of the angle being toleranced. As the shorter side length increases, the angular tolerance decreases (tighter).<\/p><p>For example, for class m: a 5 mm side gets \u00b11\u00b0, while a 200 mm side gets \u00b10\u00b010\u2032. The tolerance is given in degrees and minutes of arc.<\/p>' },\n        { q: 'How do I note ISO 2768-1 on a drawing?', a: '<p>Place the standard designation in the title block of the drawing:<\/p><ul><li><strong>ISO 2768-m<\/strong> \u2014 Linear tolerances only, class m<\/li><li><strong>ISO 2768-mK<\/strong> \u2014 Linear class m + geometrical class K (ISO 2768-2)<\/li><li><strong>ISO 2768-fH<\/strong> \u2014 Linear class f + geometrical class H<\/li><\/ul><p>No additional notation is needed on individual dimensions \u2014 the general tolerance automatically applies to all untoleranced dimensions.<\/p>' }\n    ];\n\n    var faqList = $('vc-faq-list');\n    faqData.forEach(function(faq) {\n        faqList.innerHTML += '<div class=\"vc-faq-item\"><button type=\"button\" class=\"vc-faq-q\"><span>' + faq.q + '<\/span><svg class=\"vc-faq-chevron\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M6 9l6 6 6-6\"\/><\/svg><\/button><div class=\"vc-faq-a\"><div class=\"vc-faq-a-inner\">' + faq.a + '<\/div><\/div><\/div>';\n    });\n    faqList.addEventListener('click', function(e) {\n        var btn = e.target.closest('.vc-faq-q');\n        if (!btn) return;\n        btn.closest('.vc-faq-item').classList.toggle('vc-open');\n    });\n\n    \/* \u2500\u2500 HISTORY \u2500\u2500 *\/\n    function saveHistory(entry) {\n        var key = 'vc_history_' + SLUG;\n        var arr = [];\n        try { arr = JSON.parse(localStorage.getItem(key)) || []; } catch(e) {}\n        entry._ts = new Date().toISOString();\n        arr.unshift(entry);\n        if (arr.length > 10) arr = arr.slice(0, 10);\n        try { localStorage.setItem(key, JSON.stringify(arr)); } catch(e) {}\n    }\n\n    \/* \u2500\u2500 URL PARAMS \u2500\u2500 *\/\n    function loadParams() {\n        var p = new URLSearchParams(window.location.search);\n        if (p.has('class')) $('vc-class').value = p.get('class');\n        if (p.has('dim')) $('vc-dim').value = p.get('dim');\n    }\n\n    \/* \u2500\u2500 KATEX \u2500\u2500 *\/\n    function renderFormulas() {\n        try {\n            katex.render('\\\\text{Actual dimension} = \\\\text{Nominal} \\\\pm \\\\text{Tolerance}', $('vc-katex-1'), { displayMode: true, throwOnError: false });\n            katex.render('D_{\\\\min} = D_{nom} - t \\\\quad \\\\leq \\\\quad D_{actual} \\\\quad \\\\leq \\\\quad D_{nom} + t', $('vc-katex-2'), { displayMode: true, throwOnError: false });\n        } catch(e) {}\n    }\n\n    \/* \u2500\u2500 INIT \u2500\u2500 *\/\n    function init() {\n        loadParams();\n        renderFormulas();\n        calculate();\n    }\n\n    if (document.readyState === 'loading') {\n        document.addEventListener('DOMContentLoaded', init);\n    } else {\n        init();\n    }\n})();\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>Gratis online kalkulator for generelle toleranser i henhold til ISO 2768-1. Sl\u00e5 opp line\u00e6re og vinkeltoleranseverdier etter toleranseklasse (f, m, c, v) og nominell dimensjon. \u00d8yeblikkelige resultater med fullstendige referansetabeller.<\/p>","protected":false},"featured_media":0,"template":"","meta":{"ai_generated_summary":"","footnotes":""},"categories":[],"tags":[],"class_list":["post-100115","calculator","type-calculator","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/vibromera.eu\/nb\/wp-json\/wp\/v2\/calculator\/100115","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vibromera.eu\/nb\/wp-json\/wp\/v2\/calculator"}],"about":[{"href":"https:\/\/vibromera.eu\/nb\/wp-json\/wp\/v2\/types\/calculator"}],"version-history":[{"count":2,"href":"https:\/\/vibromera.eu\/nb\/wp-json\/wp\/v2\/calculator\/100115\/revisions"}],"predecessor-version":[{"id":100959,"href":"https:\/\/vibromera.eu\/nb\/wp-json\/wp\/v2\/calculator\/100115\/revisions\/100959"}],"wp:attachment":[{"href":"https:\/\/vibromera.eu\/nb\/wp-json\/wp\/v2\/media?parent=100115"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vibromera.eu\/nb\/wp-json\/wp\/v2\/categories?post=100115"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vibromera.eu\/nb\/wp-json\/wp\/v2\/tags?post=100115"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}