{"id":100116,"date":"2026-02-15T20:18:41","date_gmt":"2026-02-15T20:18:41","guid":{"rendered":"https:\/\/vibromera.eu\/?post_type=calculator&#038;p=100116"},"modified":"2026-04-05T15:43:58","modified_gmt":"2026-04-05T15:43:58","slug":"general-tolerances-iso2768-2","status":"publish","type":"calculator","link":"https:\/\/vibromera.eu\/nb\/calculators\/general-tolerances-iso2768-2\/","title":{"rendered":"ISO 2768-2 Kalkulator \u2013 Form- og posisjonstoleranser"},"content":{"rendered":"\n<script type=\"application\/ld+json\">\n{\"@context\":\"https:\/\/schema.org\",\"@type\":\"WebApplication\",\"name\":\"General Tolerances ISO 2768-2 Calculator\",\"alternateName\":[\"ISO 2768-2 Tolerance Lookup\",\"Form and Position Tolerance Calculator\"],\"description\":\"Free online engineering tool for ISO 2768-2 general tolerances on form and position. Look up flatness, perpendicularity, symmetry, and circular runout by tolerance class.\",\"url\":\"https:\/\/vibromera.eu\/calculators\/general-tolerances-iso2768-2\/\",\"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-06-01\",\"inLanguage\":\"en\",\"isAccessibleForFree\":true,\"featureList\":[\"Tolerance classes H, K, L\",\"Flatness, perpendicularity, symmetry, runout\",\"Lookup table per ISO 2768-2\",\"Auto-calculation on input change\"],\"keywords\":\"ISO 2768-2, general tolerances, form tolerance, position tolerance\"}\n<\/script>\n\n<script type=\"application\/ld+json\">\n{\"@context\":\"https:\/\/schema.org\",\"@type\":\"FAQPage\",\"mainEntity\":[\n{\"@type\":\"Question\",\"name\":\"What does ISO 2768-2 cover?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"ISO 2768-2 specifies general tolerances for form and position (geometrical tolerances) that apply when no individual tolerance is indicated on a drawing. It covers straightness, flatness, perpendicularity, symmetry, and circular runout.\"}},\n{\"@type\":\"Question\",\"name\":\"What are the tolerance classes in ISO 2768-2?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"ISO 2768-2 defines three tolerance classes: H (most precise), K (medium), and L (coarsest). The class is indicated on the drawing title block, e.g. ISO 2768-mK means ISO 2768 part 1 class m, part 2 class K.\"}},\n{\"@type\":\"Question\",\"name\":\"How is ISO 2768-2 indicated on a drawing?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"The standard is referenced in the drawing title block as 'ISO 2768-mK' where the lowercase letter is the ISO 2768-1 (dimensional) class and the uppercase letter is the ISO 2768-2 (geometrical) class.\"}},\n{\"@type\":\"Question\",\"name\":\"Does ISO 2768-2 apply to all features?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"ISO 2768-2 applies only to features that do not have individual geometrical tolerances specified. Features with explicit GD&T symbols on the drawing are controlled by those specific tolerances instead.\"}},\n{\"@type\":\"Question\",\"name\":\"What is the difference between ISO 2768-1 and ISO 2768-2?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"ISO 2768-1 covers general dimensional (linear and angular) tolerances, while ISO 2768-2 covers general geometrical (form and position) tolerances. They are complementary and usually referenced together.\"}}\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-2\",\"item\":\"https:\/\/vibromera.eu\/calculators\/general-tolerances-iso2768-2\/\"}\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.vc-calculator { font-family: var(--vc-font); font-size: 15px; line-height: 1.65; color: var(--vc-ink); max-width: 960px; margin: 0 auto; padding: 20px 16px 40px; -webkit-font-smoothing: antialiased; }\n.vc-calculator *, .vc-calculator *::before, .vc-calculator *::after { box-sizing: border-box; }\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.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.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.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.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.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.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.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@media(max-width:600px) { .vc-table { font-size:12px; } .vc-table th, .vc-table td { padding:8px; } }\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; } .vc-faq-a-inner p:last-child { margin-bottom:0; }\n.vc-faq-a-inner ul { margin:4px 0 8px 16px; padding:0; } .vc-faq-a-inner li { margin-bottom:3px; }\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.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); } .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.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; } .vc-footer a:hover { text-decoration:underline; }\n.vc-footer-links { margin-top:8px; font-size:12px; } .vc-footer-links a { margin:0 8px; }\n@media print { .vc-section-body { max-height:none!important; } .vc-faq-a { max-height:none!important; } .vc-results { max-height:none!important; padding:24px!important; } .vc-copy-btn, .vc-section-chevron, .vc-faq-chevron, .vc-presets, .vc-promo { display:none!important; } }\n<\/style>\n\n<div class=\"vc-calculator\" id=\"vc-general-tolerances\">\n\n<header class=\"vc-header\">\n    <p class=\"vc-header-eyebrow\">Free Engineering Tool<\/p>\n    <h1 class=\"vc-header-title\">General Tolerances ISO 2768-2 Calculator<\/h1>\n    <p class=\"vc-header-subtitle\">Look up geometrical (form and position) tolerances per ISO 2768-2. Select tolerance class, feature type, and nominal range.<\/p>\n    <div class=\"vc-badges\">\n        <span class=\"vc-badge\">ISO 2768-2<\/span>\n        <span class=\"vc-badge\">Classes H \/ K \/ L<\/span>\n        <span class=\"vc-badge\">Form &amp; Position<\/span>\n    <\/div>\n<\/header>\n\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=\"H\">H \u2014 Most precise<\/option>\n                    <option value=\"K\" selected>K \u2014 Medium<\/option>\n                    <option value=\"L\">L \u2014 Coarsest<\/option>\n                <\/select>\n            <\/div>\n            <div class=\"vc-field\">\n                <label class=\"vc-label\" for=\"vc-feature\">Feature Type<\/label>\n                <select class=\"vc-select\" id=\"vc-feature\">\n                    <option value=\"flatness\">Straightness \/ Flatness<\/option>\n                    <option value=\"perpendicularity\" selected>Perpendicularity<\/option>\n                    <option value=\"symmetry\">Symmetry<\/option>\n                    <option value=\"runout\">Circular Runout<\/option>\n                <\/select>\n            <\/div>\n            <div class=\"vc-field\">\n                <label class=\"vc-label\" for=\"vc-nominal\">Nominal Dimension <span class=\"vc-label-hint\">(mm)<\/span><\/label>\n                <input class=\"vc-input\" type=\"number\" id=\"vc-nominal\" inputmode=\"decimal\" step=\"any\" min=\"0\" placeholder=\"e.g. 100\" value=\"100\">\n            <\/div>\n            <div class=\"vc-field\">\n                <label class=\"vc-label\" for=\"vc-shorter\">Shorter Side <span class=\"vc-label-hint\">(mm, for flatness)<\/span><\/label>\n                <input class=\"vc-input\" type=\"number\" id=\"vc-shorter\" inputmode=\"decimal\" step=\"any\" min=\"0\" placeholder=\"e.g. 50\" value=\"50\">\n            <\/div>\n        <\/div>\n\n        <div class=\"vc-presets\">\n            <div class=\"vc-presets-label\">Quick presets<\/div>\n            <button type=\"button\" class=\"vc-preset-btn\" data-c=\"K\" data-f=\"flatness\" data-n=\"100\" data-s=\"50\">Flat 100mm \/ K<\/button>\n            <button type=\"button\" class=\"vc-preset-btn\" data-c=\"H\" data-f=\"perpendicularity\" data-n=\"200\" data-s=\"100\">Perp 200mm \/ H<\/button>\n            <button type=\"button\" class=\"vc-preset-btn\" data-c=\"L\" data-f=\"symmetry\" data-n=\"150\" data-s=\"75\">Sym 150mm \/ L<\/button>\n            <button type=\"button\" class=\"vc-preset-btn\" data-c=\"K\" data-f=\"runout\" data-n=\"80\" data-s=\"40\">Runout 80mm \/ K<\/button>\n        <\/div>\n    <\/form>\n\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\">General 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\">Feature Type<\/div>\n                <div class=\"vc-rcard-value\" id=\"vc-r-feature\">\u2014<\/div>\n            <\/div>\n            <div class=\"vc-rcard\">\n                <div class=\"vc-rcard-label\">Nominal 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\">Note<\/div>\n                <div class=\"vc-rcard-value\" id=\"vc-r-note\" style=\"font-size:14px;\">\u2014<\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n<!-- Theory & Reference -->\n<div class=\"vc-section vc-open\" id=\"vc-sec-theory\">\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\udcd8<\/span>\n            <span class=\"vc-section-title\">Theory &amp; 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>Straightness \/ Flatness Tolerances<\/h3>\n            <p>Applicable to straight-line features and flat surfaces. The nominal range refers to the shorter side of the surface or the length of the feature.<\/p>\n            <div class=\"vc-formula-box\" id=\"vc-katex-1\"><\/div>\n            <table class=\"vc-table\" id=\"vc-flatness-table\">\n                <thead><tr><th>Range (mm)<\/th><th>H<\/th><th>K<\/th><th>L<\/th><\/tr><\/thead>\n                <tbody>\n                    <tr><td>\u2264 10<\/td><td>0.02<\/td><td>0.05<\/td><td>0.1<\/td><\/tr>\n                    <tr><td>10 \u2013 30<\/td><td>0.05<\/td><td>0.1<\/td><td>0.2<\/td><\/tr>\n                    <tr><td>30 \u2013 100<\/td><td>0.1<\/td><td>0.2<\/td><td>0.4<\/td><\/tr>\n                    <tr><td>100 \u2013 300<\/td><td>0.2<\/td><td>0.4<\/td><td>0.8<\/td><\/tr>\n                    <tr><td>300 \u2013 1000<\/td><td>0.3<\/td><td>0.6<\/td><td>1.2<\/td><\/tr>\n                    <tr><td>1000 \u2013 3000<\/td><td>0.4<\/td><td>0.8<\/td><td>1.6<\/td><\/tr>\n                <\/tbody>\n            <\/table>\n\n            <h3>Perpendicularity Tolerances<\/h3>\n            <p>Applicable to features nominally perpendicular to a datum surface. The nominal range refers to the shorter side of the angle.<\/p>\n            <table class=\"vc-table\">\n                <thead><tr><th>Range (mm)<\/th><th>H<\/th><th>K<\/th><th>L<\/th><\/tr><\/thead>\n                <tbody>\n                    <tr><td>\u2264 100<\/td><td>0.2<\/td><td>0.4<\/td><td>0.6<\/td><\/tr>\n                    <tr><td>100 \u2013 300<\/td><td>0.3<\/td><td>0.6<\/td><td>1.0<\/td><\/tr>\n                    <tr><td>300 \u2013 1000<\/td><td>0.4<\/td><td>0.8<\/td><td>1.5<\/td><\/tr>\n                    <tr><td>1000 \u2013 3000<\/td><td>0.5<\/td><td>1.0<\/td><td>2.0<\/td><\/tr>\n                <\/tbody>\n            <\/table>\n\n            <h3>Symmetry Tolerances<\/h3>\n            <table class=\"vc-table\">\n                <thead><tr><th>Range (mm)<\/th><th>H<\/th><th>K<\/th><th>L<\/th><\/tr><\/thead>\n                <tbody>\n                    <tr><td>\u2264 100<\/td><td>0.5<\/td><td>0.6<\/td><td>0.6<\/td><\/tr>\n                    <tr><td>100 \u2013 300<\/td><td>0.5<\/td><td>0.6<\/td><td>1.0<\/td><\/tr>\n                    <tr><td>300 \u2013 1000<\/td><td>0.5<\/td><td>0.8<\/td><td>1.5<\/td><\/tr>\n                    <tr><td>1000 \u2013 3000<\/td><td>0.5<\/td><td>1.0<\/td><td>2.0<\/td><\/tr>\n                <\/tbody>\n            <\/table>\n\n            <h3>Circular Runout Tolerances<\/h3>\n            <table class=\"vc-table\">\n                <thead><tr><th>Class<\/th><th>Tolerance (mm)<\/th><\/tr><\/thead>\n                <tbody>\n                    <tr><td>H<\/td><td>0.1<\/td><\/tr>\n                    <tr><td>K<\/td><td>0.2<\/td><\/tr>\n                    <tr><td>L<\/td><td>0.5<\/td><\/tr>\n                <\/tbody>\n            <\/table>\n\n            <div class=\"vc-warning-box\">\n                <p style=\"margin:0;font-size:14px;color:var(--vc-ink-secondary);\"><strong>\u26a0\ufe0f Note:<\/strong> ISO 2768-2 general tolerances apply only when no specific geometrical tolerance is indicated on the drawing. Features with explicit GD&#038;T callouts override these values.<\/p>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n<!-- Related -->\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\"><span class=\"vc-section-icon\">\ud83d\udd17<\/span><span class=\"vc-section-title\">Related Calculators<\/span><\/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\/gdt-tolerance-calculator\/\">GD&#038;T Calculator (ISO 1101)<\/a>\n                <a class=\"vc-related-link\" href=\"\/calculators\/gps-tolerance-iso14405\/\">GPS Tolerance ISO 14405<\/a>\n                <a class=\"vc-related-link\" href=\"\/calculators\/tolerance-stack-calculator\/\">Tolerance Stack Analysis<\/a>\n                <a class=\"vc-related-link\" href=\"\/calculators\/surface-roughness-symbols\/\">Surface Roughness Symbols<\/a>\n                <a class=\"vc-related-link\" href=\"\/calculators\/tolerance-independence-iso8015\/\">ISO 8015 Independence<\/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\"><span class=\"vc-section-icon\">\u2753<\/span><span class=\"vc-section-title\">Frequently Asked Questions<\/span><\/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\"><div class=\"vc-faq-list\" id=\"vc-faq-list\"><\/div><\/div>\n    <\/div>\n<\/div>\n\n<div class=\"vc-promo\">\n    <div class=\"vc-promo-text\"><strong>Vibromera \u2014 Portable Balancing &amp; Vibration Analysis<\/strong><br>Professional field balancing instruments and software. Used in 50+ countries.<\/div>\n    <a class=\"vc-promo-link\" href=\"https:\/\/vibromera.eu\/\" target=\"_blank\" rel=\"noopener\">Learn More<\/a>\n<\/div>\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-2. Last updated: February 2025<\/p>\n    <div class=\"vc-footer-links\"><a href=\"\/calculators\/engineering-calculators\/\">All Calculators<\/a><a href=\"https:\/\/vibromera.eu\/contacts\/\">Contact<\/a><\/div>\n<\/footer>\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';\nvar SLUG='general-tolerances-iso2768-2';\nfunction $(id){return document.getElementById(id);}\n\n\/* ISO 2768-2 Lookup Tables *\/\nvar FLAT={\n    ranges:[10,30,100,300,1000,3000],\n    H:[0.02,0.05,0.1,0.2,0.3,0.4],\n    K:[0.05,0.1,0.2,0.4,0.6,0.8],\n    L:[0.1,0.2,0.4,0.8,1.2,1.6]\n};\nvar PERP={\n    ranges:[100,300,1000,3000],\n    H:[0.2,0.3,0.4,0.5],\n    K:[0.4,0.6,0.8,1.0],\n    L:[0.6,1.0,1.5,2.0]\n};\nvar SYM={\n    ranges:[100,300,1000,3000],\n    H:[0.5,0.5,0.5,0.5],\n    K:[0.6,0.6,0.8,1.0],\n    L:[0.6,1.0,1.5,2.0]\n};\nvar RUN={H:0.1,K:0.2,L:0.5};\n\nfunction lookup(table,cls,val){\n    for(var i=0;i<table.ranges.length;i++){\n        if(val<=table.ranges[i]) return {tol:table[cls][i], lo:(i===0?0:table.ranges[i-1]),hi:table.ranges[i]};\n    }\n    return null;\n}\nfunction rangeLabel(lo,hi){ return lo===0?('\u2264 '+hi+' mm'):(lo+' \u2013 '+hi+' mm'); }\n\nfunction calculate(){\n    var cls=$('vc-class').value;\n    var feat=$('vc-feature').value;\n    var nom=parseFloat($('vc-nominal').value);\n    var shorter=parseFloat($('vc-shorter').value);\n\n    var dim=(feat==='flatness')?shorter:nom;\n    if(!dim||dim<=0){ $('vc-results').classList.remove('vc-visible'); return; }\n\n    var tol,rng,note='';\n    if(feat==='runout'){\n        tol=RUN[cls];\n        rng='All sizes';\n        note='Circular runout is independent of nominal size';\n    } else {\n        var table=(feat==='flatness')?FLAT:(feat==='perpendicularity')?PERP:SYM;\n        var res=lookup(table,cls,dim);\n        if(!res){ $('vc-results').classList.remove('vc-visible'); return; }\n        tol=res.tol;\n        rng=rangeLabel(res.lo,res.hi);\n        if(feat==='flatness') note='Based on shorter side of surface';\n        else if(feat==='perpendicularity') note='Based on shorter side of angle';\n        else note='Based on nominal dimension';\n    }\n\n    $('vc-r-tol').innerHTML=tol+' <span class=\"vc-rcard-unit\">mm<\/span>';\n    $('vc-r-class').textContent='Class '+cls;\n    var featureNames={flatness:'Straightness \/ Flatness',perpendicularity:'Perpendicularity',symmetry:'Symmetry',runout:'Circular Runout'};\n    $('vc-r-feature').textContent=featureNames[feat];\n    $('vc-r-range').textContent=rng;\n    $('vc-r-note').textContent=note;\n    $('vc-results').classList.add('vc-visible');\n\n    var u=new URL(window.location);\n    u.searchParams.set('class',cls); u.searchParams.set('feature',feat);\n    u.searchParams.set('nominal',nom); u.searchParams.set('shorter',shorter);\n    history.replaceState(null,'',u.toString());\n    saveHistory({class:cls,feature:feat,nominal:nom,shorter:shorter,_summary:'Class '+cls+', '+featureNames[feat]+', '+dim+' mm \u2192 '+tol+' mm'});\n}\n\n\/* Presets *\/\ndocument.querySelectorAll('.vc-preset-btn').forEach(function(btn){\n    btn.addEventListener('click',function(e){\n        e.preventDefault();\n        $('vc-class').value=this.getAttribute('data-c');\n        $('vc-feature').value=this.getAttribute('data-f');\n        $('vc-nominal').value=this.getAttribute('data-n');\n        $('vc-shorter').value=this.getAttribute('data-s');\n        calculate();\n    });\n});\n\n$('vc-form').addEventListener('input',calculate);\n$('vc-form').addEventListener('change',calculate);\n\n\/* Copy *\/\n$('vc-copy-btn').addEventListener('click',function(){\n    var text='ISO 2768-2 General Tolerance\\n\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\\nClass: '+$('vc-class').value+'\\nFeature: '+$('vc-r-feature').textContent+'\\nNominal: '+$('vc-nominal').value+' mm\\nTolerance: '+$('vc-r-tol').textContent+'\\n\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\\nvibromera.eu';\n    if(navigator.clipboard){navigator.clipboard.writeText(text).then(function(){\n        var b=$('vc-copy-btn');b.classList.add('vc-copied');b.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(){b.classList.remove('vc-copied');b.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';},2000);\n    });}\n});\n\n\/* Sections *\/\ndocument.querySelectorAll('.vc-section-toggle').forEach(function(btn){\n    btn.addEventListener('click',function(){var s=this.closest('.vc-section');var o=s.classList.contains('vc-open');s.classList.toggle('vc-open');this.setAttribute('aria-expanded',!o);});\n});\n\n\/* FAQ *\/\nvar faqData=[\n    {q:'What does ISO 2768-2 cover?',a:'<p>ISO 2768-2 specifies general tolerances for geometrical (form and position) features when no individual tolerance is indicated on a drawing. It covers straightness, flatness, perpendicularity, symmetry, and circular runout.<\/p>'},\n    {q:'What are the tolerance classes in ISO 2768-2?',a:'<p>There are three classes:<\/p><ul><li><strong>H<\/strong> \u2014 Most precise<\/li><li><strong>K<\/strong> \u2014 Medium (most common)<\/li><li><strong>L<\/strong> \u2014 Coarsest<\/li><\/ul><p>The class is indicated in the title block, e.g., ISO 2768-mK.<\/p>'},\n    {q:'How is ISO 2768-2 indicated on a drawing?',a:'<p>It is referenced in the title block as \"ISO 2768-mK\" where the lowercase letter (m) is the ISO 2768-1 dimensional tolerance class and the uppercase letter (K) is the ISO 2768-2 geometrical tolerance class.<\/p>'},\n    {q:'Does ISO 2768-2 apply to all features?',a:'<p>No. It applies only to features without individual geometrical tolerances. Features with explicit GD&T symbols are controlled by those specific tolerances instead.<\/p>'},\n    {q:'What is the difference between ISO 2768-1 and ISO 2768-2?',a:'<p>ISO 2768-1 covers general dimensional (linear and angular) tolerances. ISO 2768-2 covers general geometrical (form and position) tolerances. They are complementary and usually referenced together.<\/p>'}\n];\nvar faqList=$('vc-faq-list');\nfaqData.forEach(function(faq){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>';});\nfaqList.addEventListener('click',function(e){var b=e.target.closest('.vc-faq-q');if(!b)return;b.closest('.vc-faq-item').classList.toggle('vc-open');});\n\n\/* History *\/\nfunction saveHistory(entry){var key='vc_history_'+SLUG;var arr=[];try{arr=JSON.parse(localStorage.getItem(key))||[];}catch(e){}entry._ts=new Date().toISOString();arr.unshift(entry);if(arr.length>10)arr=arr.slice(0,10);try{localStorage.setItem(key,JSON.stringify(arr));}catch(e){}}\n\n\/* URL Params *\/\nfunction loadParams(){var p=new URLSearchParams(window.location.search);if(p.get('class'))$('vc-class').value=p.get('class');if(p.get('feature'))$('vc-feature').value=p.get('feature');if(p.get('nominal'))$('vc-nominal').value=p.get('nominal');if(p.get('shorter'))$('vc-shorter').value=p.get('shorter');}\n\n\/* KaTeX *\/\nfunction renderFormulas(){try{katex.render('\\\\text{Tolerance} = f(\\\\text{class}, \\\\text{feature type}, \\\\text{nominal range})',$('vc-katex-1'),{displayMode:true,throwOnError:false});}catch(e){}}\n\nfunction init(){loadParams();renderFormulas();calculate();}\nif(document.readyState==='loading'){document.addEventListener('DOMContentLoaded',init);}else{init();}\n})();\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>Gratis online kalkulator for ISO 2768-2 generelle toleranser for form og posisjon. Sl\u00e5 opp toleranser for flathet, vinkelretthet, symmetri og sirkul\u00e6r utl\u00f8p etter toleranseklasse H, K eller L.<\/p>","protected":false},"featured_media":0,"template":"","meta":{"ai_generated_summary":"","footnotes":""},"categories":[],"tags":[],"class_list":["post-100116","calculator","type-calculator","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/vibromera.eu\/nb\/wp-json\/wp\/v2\/calculator\/100116","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\/100116\/revisions"}],"predecessor-version":[{"id":100958,"href":"https:\/\/vibromera.eu\/nb\/wp-json\/wp\/v2\/calculator\/100116\/revisions\/100958"}],"wp:attachment":[{"href":"https:\/\/vibromera.eu\/nb\/wp-json\/wp\/v2\/media?parent=100116"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vibromera.eu\/nb\/wp-json\/wp\/v2\/categories?post=100116"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vibromera.eu\/nb\/wp-json\/wp\/v2\/tags?post=100116"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}