{"id":100218,"date":"2026-02-15T20:27:57","date_gmt":"2026-02-15T20:27:57","guid":{"rendered":"https:\/\/vibromera.eu\/?post_type=calculator&#038;p=100218"},"modified":"2026-07-15T00:30:09","modified_gmt":"2026-07-15T00:30:09","slug":"seal-groove-tolerances","status":"publish","type":"calculator","link":"https:\/\/vibromera.eu\/ja\/calculators\/seal-groove-tolerances\/","title":{"rendered":"Documented O-Ring Housing Tolerance Check"},"content":{"rendered":"\n<script type=\"application\/ld+json\">\n{\"@context\":\"https:\/\/schema.org\",\"@type\":\"WebApplication\",\"name\":\"Documented O-Ring Housing Tolerance Check\",\"description\":\"Check one measured O-ring housing dimension against one controlled nominal dimension and signed tolerance interval. No ISO housing values are supplied.\",\"url\":\"https:\/\/vibromera.eu\/calculators\/seal-groove-tolerances\/\",\"applicationCategory\":\"EngineeringApplication\",\"operatingSystem\":\"Any\",\"isAccessibleForFree\":true,\"creator\":{\"@type\":\"Organization\",\"name\":\"Vibromera\",\"url\":\"https:\/\/vibromera.eu\/\"}}\n<\/script>\n\n<style>\n.vbm218{--ink:#17212b;--muted:#52606d;--line:#cfd8df;--soft:#f5f8fa;--blue:#075b89;--blue2:#073d5b;--warn:#8a5700;--warnbg:#fff8e6;--bad:#b42318;--badbg:#fff1f0;max-width:1000px;margin:0 auto;color:var(--ink);font:16px\/1.58 system-ui,-apple-system,\"Segoe UI\",sans-serif}.vbm218 *{box-sizing:border-box}.vbm218 h1,.vbm218 h2,.vbm218 h3{line-height:1.2;color:#102a3a}.vbm218 h1{margin:8px 0 14px;font-size:clamp(30px,5vw,46px)}.vbm218 h2{margin:0;font-size:25px}.vbm218 h3{margin:26px 0 8px;font-size:19px}.vbm218 p{margin:9px 0}.vbm218 a{color:var(--blue)}.vbm218-hero{padding:34px 28px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(135deg,#eef7fb,#fff)}.vbm218-kicker{font-size:13px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--blue)}.vbm218-lead{max-width:850px;font-size:18px}.vbm218-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.vbm218-badge{padding:5px 10px;border:1px solid #a8c9da;border-radius:999px;background:#fff;color:var(--blue2);font-size:13px;font-weight:750}.vbm218-alert{margin-top:20px;padding:13px 15px;border-left:4px solid var(--warn);border-radius:5px;background:var(--warnbg)}.vbm218-card,.vbm218-section{margin-top:24px;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:0 5px 18px rgba(24,44,58,.06);overflow:hidden}.vbm218-card-h{padding:20px 22px;border-bottom:1px solid var(--line);background:var(--soft)}.vbm218-body,.vbm218-section{padding:22px}.vbm218-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.vbm218-field{min-width:0}.vbm218-field.full,.vbm218-fieldset{grid-column:1\/-1}.vbm218 label{display:block;margin-bottom:6px;font-weight:750}.vbm218 input,.vbm218 select{width:100%;min-height:46px;padding:10px 12px;border:1.5px solid #9dacb7;border-radius:7px;background:#fff;color:var(--ink);font:inherit}.vbm218 input:focus,.vbm218 select:focus{outline:3px solid rgba(7,91,137,.2);border-color:var(--blue)}.vbm218-hint{display:block;margin-top:5px;color:var(--muted);font-size:13px}.vbm218-fieldset{padding:15px;border:1px solid var(--line);border-radius:8px}.vbm218-fieldset legend{padding:0 6px;font-weight:800}.vbm218-check{display:flex!important;align-items:flex-start;gap:9px;margin:8px 0!important;font-weight:500!important}.vbm218-check input{width:18px;min-height:18px;margin-top:4px;flex:0 0 auto}.vbm218-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.vbm218-btn{min-height:44px;padding:10px 18px;border:0;border-radius:7px;background:var(--blue);color:#fff;font:750 15px\/1.2 inherit;cursor:pointer}.vbm218-btn:hover{background:var(--blue2)}.vbm218-btn.secondary{border:1px solid #9dacb7;background:#fff;color:var(--ink)}.vbm218-error{display:none;margin-top:15px;padding:12px 14px;border-left:4px solid var(--bad);border-radius:5px;background:var(--badbg);color:#7a1b15}.vbm218-error.show{display:block}.vbm218-results{display:none}.vbm218-results.show{display:block}.vbm218-result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.vbm218-result{padding:15px;border:1px solid var(--line);border-radius:8px;background:var(--soft)}.vbm218-result.primary{grid-column:1\/-1;border:2px solid var(--blue);background:#edf7fc}.vbm218-result-label{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.vbm218-result-value{margin-top:4px;font:750 20px\/1.35 ui-monospace,\"Cascadia Mono\",monospace;overflow-wrap:anywhere}.vbm218-result.primary .vbm218-result-value{color:var(--blue2);font-size:27px}.vbm218-result-note{margin-top:4px;color:var(--muted);font-size:13px}.vbm218-boundary{margin-top:15px;padding:12px 14px;border-left:4px solid var(--warn);border-radius:5px;background:var(--warnbg)}.vbm218-equation{margin:12px 0;padding:13px;border:1px solid #b7ccd8;border-radius:7px;background:#f3f9fc;text-align:center;font:750 17px\/1.5 ui-monospace,\"Cascadia Mono\",monospace;overflow-wrap:anywhere}.vbm218-table-wrap{overflow-x:auto}.vbm218 table{width:100%;border-collapse:collapse;margin:12px 0;font-size:14px}.vbm218 th,.vbm218 td{padding:10px;border:1px solid var(--line);text-align:left;vertical-align:top}.vbm218 th{background:var(--soft)}.vbm218-limit{padding:14px;border-left:4px solid var(--warn);background:var(--warnbg)}.vbm218-footer{margin-top:24px;padding:16px;border-top:1px solid var(--line);color:var(--muted);font-size:13px}\n@media(max-width:720px){.vbm218-grid,.vbm218-result-grid{grid-template-columns:1fr}.vbm218-result.primary,.vbm218-field.full,.vbm218-fieldset{grid-column:1}.vbm218-body,.vbm218-section,.vbm218-hero{padding:16px}.vbm218-actions .vbm218-btn{flex:1 1 140px}}\n<\/style>\n\n<main class=\"vbm218\" aria-labelledby=\"vbm218-title\">\n  <header class=\"vbm218-hero\">\n    <div class=\"vbm218-kicker\">Controlled tolerance record \u00b7 non-normative arithmetic<\/div>\n    <h1 id=\"vbm218-title\">Documented O-Ring Housing Tolerance Check<\/h1>\n    <p class=\"vbm218-lead\">Calculate the limits of one signed dimensional tolerance and locate one measured O-ring housing dimension relative to that entered interval. Nominal dimensions and deviations must come from the exact controlled design source.<\/p>\n    <div class=\"vbm218-badges\"><span class=\"vbm218-badge\">no ISO lookup table<\/span><span class=\"vbm218-badge\">no default squeeze<\/span><span class=\"vbm218-badge\">no surface-finish preset<\/span><span class=\"vbm218-badge\">no compliance verdict<\/span><\/div>\n    <div class=\"vbm218-alert\"><strong>This worksheet does not design an O-ring housing.<\/strong> It does not select an O-ring, application class, groove geometry, squeeze, stretch, fill, extrusion gap, back-up ring, surface texture or acceptance criterion. It only evaluates arithmetic from the controlled values you enter.<\/div>\n  <\/header>\n\n  <section class=\"vbm218-card\" aria-labelledby=\"vbm218-input-title\">\n    <div class=\"vbm218-card-h\"><h2 id=\"vbm218-input-title\">Controlled dimension and measurement<\/h2><p>Use one dimension from one identified table row or approved drawing. Do not combine nominal values and deviations from different editions, classes or applications.<\/p><\/div>\n    <div class=\"vbm218-body\">\n      <form id=\"vbm218-form\" novalidate>\n        <div class=\"vbm218-grid\">\n          <div class=\"vbm218-field\"><label for=\"vbm218-type\">Dimension type<\/label><select id=\"vbm218-type\"><option value=\"\">Select the recorded dimension<\/option><option value=\"depth\">Housing\/groove depth<\/option><option value=\"width\">Housing\/groove width<\/option><option value=\"diameter\">Housing\/bore\/rod diameter<\/option><option value=\"other\">Other controlled linear dimension<\/option><\/select><\/div>\n          <div class=\"vbm218-field\"><label for=\"vbm218-unit\">Shared linear unit<\/label><select id=\"vbm218-unit\"><option value=\"\">Select the controlled unit<\/option><option value=\"mm\">millimetres (mm)<\/option><option value=\"in\">inches (in)<\/option><\/select><span class=\"vbm218-hint\">Changing the unit clears all four numeric inputs and the result; no hidden conversion is performed.<\/span><\/div>\n          <div class=\"vbm218-field\"><label for=\"vbm218-nominal\">Nominal dimension N<\/label><input id=\"vbm218-nominal\" inputmode=\"decimal\" autocomplete=\"off\" placeholder=\"blank\"><span class=\"vbm218-hint\">Positive nominal linear dimension.<\/span><\/div>\n          <div class=\"vbm218-field\"><label for=\"vbm218-measured\">Measured dimension M<\/label><input id=\"vbm218-measured\" inputmode=\"decimal\" autocomplete=\"off\" placeholder=\"blank\"><span class=\"vbm218-hint\">Positive measured value on the same basis and at the recorded condition.<\/span><\/div>\n          <div class=\"vbm218-field\"><label for=\"vbm218-lower-dev\">Signed lower deviation dL<\/label><input id=\"vbm218-lower-dev\" inputmode=\"decimal\" autocomplete=\"off\" placeholder=\"e.g. -0.05\"><span class=\"vbm218-hint\">Enter the sign explicitly when negative; zero is allowed.<\/span><\/div>\n          <div class=\"vbm218-field\"><label for=\"vbm218-upper-dev\">Signed upper deviation dU<\/label><input id=\"vbm218-upper-dev\" inputmode=\"decimal\" autocomplete=\"off\" placeholder=\"e.g. +0.10\"><span class=\"vbm218-hint\">dU must be greater than dL; zero is allowed.<\/span><\/div>\n          <div class=\"vbm218-field full\"><label for=\"vbm218-label\">Exact dimension label and drawing feature<\/label><input id=\"vbm218-label\" autocomplete=\"off\" placeholder=\"symbol\/feature; drawing or inspection characteristic\"><\/div>\n          <div class=\"vbm218-field full\"><label for=\"vbm218-standard\">Governing standard\/drawing, exact edition\/revision and jurisdiction<\/label><input id=\"vbm218-standard\" autocomplete=\"off\" placeholder=\"e.g. licensed ISO part\/year plus drawing revision; do not enter only ISO 3601\"><\/div>\n          <div class=\"vbm218-field full\"><label for=\"vbm218-row\">Controlled table\/figure\/row or design-calculation reference<\/label><input id=\"vbm218-row\" autocomplete=\"off\" placeholder=\"exact table\/figure\/row\/size code or approved calculation ID\"><\/div>\n          <div class=\"vbm218-field full\"><label for=\"vbm218-ring\">O-ring class, size code, d1\/d2 and tolerance source<\/label><input id=\"vbm218-ring\" autocomplete=\"off\" placeholder=\"Class A\/B or other controlled class; SC; d1\/d2 and source revision\"><\/div>\n          <div class=\"vbm218-field full\"><label for=\"vbm218-application\">Application and housing configuration<\/label><input id=\"vbm218-application\" autocomplete=\"off\" placeholder=\"static\/dynamic; radial\/axial; piston\/rod\/face; pressure direction; back-up ring\"><\/div>\n          <div class=\"vbm218-field full\"><label for=\"vbm218-service\">Material and service-condition record<\/label><input id=\"vbm218-service\" autocomplete=\"off\" placeholder=\"elastomer\/material\/hardness; pressure; temperature; medium; motion; extrusion gap\"><\/div>\n          <div class=\"vbm218-field full\"><label for=\"vbm218-texture\">Surface texture, edge and lead-in requirements with source<\/label><input id=\"vbm218-texture\" autocomplete=\"off\" placeholder=\"controlled drawing\/standard\/manufacturer requirements; parameter and evaluation basis\"><\/div>\n          <div class=\"vbm218-field full\"><label for=\"vbm218-measurement\">Measurement method, instrument, uncertainty and condition<\/label><input id=\"vbm218-measurement\" autocomplete=\"off\" placeholder=\"instrument ID\/calibration; method; uncertainty; temperature; sampling plan\"><\/div>\n          <div class=\"vbm218-field full\"><label for=\"vbm218-record-id\">Check record ID and intended decision boundary<\/label><input id=\"vbm218-record-id\" autocomplete=\"off\" placeholder=\"record ID; arithmetic check purpose; reviewer boundary\"><\/div>\n          <fieldset class=\"vbm218-fieldset\">\n            <legend>Required source and compatibility confirmation<\/legend>\n            <label class=\"vbm218-check\"><input type=\"checkbox\" id=\"vbm218-c1\"><span>N, dL and dU were copied from the same applicable controlled table row, drawing characteristic or approved calculation; this page did not choose them.<\/span><\/label>\n            <label class=\"vbm218-check\"><input type=\"checkbox\" id=\"vbm218-c2\"><span>M uses the same feature definition, datum, unit, temperature\/condition and measurement convention as the entered interval, with measurement uncertainty recorded separately.<\/span><\/label>\n            <label class=\"vbm218-check\"><input type=\"checkbox\" id=\"vbm218-c3\"><span>I will not use the interval relation as an O-ring design, material selection, manufacturing acceptance or ISO conformity decision without the controlling documents and competent review.<\/span><\/label>\n          <\/fieldset>\n        <\/div>\n        <div class=\"vbm218-actions\"><button class=\"vbm218-btn\" type=\"submit\">Calculate documented tolerance interval<\/button><button class=\"vbm218-btn secondary\" type=\"button\" id=\"vbm218-reset\">Clear<\/button><\/div>\n        <div class=\"vbm218-error\" id=\"vbm218-error\" role=\"alert\"><\/div>\n      <\/form>\n    <\/div>\n  <\/section>\n\n  <section class=\"vbm218-card vbm218-results\" id=\"vbm218-results\" aria-live=\"polite\" aria-labelledby=\"vbm218-results-title\">\n    <div class=\"vbm218-card-h\"><h2 id=\"vbm218-results-title\">Arithmetic tolerance result<\/h2><p id=\"vbm218-result-context\"><\/p><\/div>\n    <div class=\"vbm218-body\">\n      <div class=\"vbm218-result-grid\">\n        <div class=\"vbm218-result primary\"><div class=\"vbm218-result-label\">Entered interval [L,U]<\/div><div class=\"vbm218-result-value\" id=\"vbm218-r-interval\">\u2014<\/div><div class=\"vbm218-result-note\">L=N+dL and U=N+dU in the selected unit.<\/div><\/div>\n        <div class=\"vbm218-result\"><div class=\"vbm218-result-label\">Measured deviation e=M\u2212N<\/div><div class=\"vbm218-result-value\" id=\"vbm218-r-deviation\">\u2014<\/div><div class=\"vbm218-result-note\">Signed arithmetic deviation from nominal.<\/div><\/div>\n        <div class=\"vbm218-result\"><div class=\"vbm218-result-label\">Signed distances gL=M\u2212L and gU=U\u2212M<\/div><div class=\"vbm218-result-value\" id=\"vbm218-r-distances\">\u2014<\/div><div class=\"vbm218-result-note\">Negative gL means below L; negative gU means above U.<\/div><\/div>\n        <div class=\"vbm218-result\"><div class=\"vbm218-result-label\">Normalized interval position p=(M\u2212L)\/(U\u2212L)<\/div><div class=\"vbm218-result-value\" id=\"vbm218-r-position\">\u2014<\/div><div class=\"vbm218-result-note\">Dimensionless coordinate; it may be below 0 or above 1.<\/div><\/div>\n        <div class=\"vbm218-result\"><div class=\"vbm218-result-label\">Arithmetic relation to entered interval<\/div><div class=\"vbm218-result-value\" id=\"vbm218-r-relation\">\u2014<\/div><div class=\"vbm218-result-note\">Descriptive relation only; not PASS\/FAIL or conformity.<\/div><\/div>\n      <\/div>\n      <div class=\"vbm218-boundary\"><strong>No acceptance verdict is produced.<\/strong> Measurement uncertainty, rounding rules, datum strategy, form error, surface texture, sampling and the controlling inspection plan can change the acceptance decision even when a displayed value lies numerically within the entered interval.<\/div>\n    <\/div>\n  <\/section>\n\n  <section class=\"vbm218-section\" aria-labelledby=\"vbm218-model-title\">\n    <h2 id=\"vbm218-model-title\">Formula and model boundary<\/h2>\n    <p>For one positive nominal dimension N, positive measured dimension M, and signed deviations dL&lt;dU on one common linear-unit basis:<\/p>\n    <div class=\"vbm218-equation\">L=N+dL \u00b7 U=N+dU \u00b7 e=M\u2212N \u00b7 gL=M\u2212L \u00b7 gU=U\u2212M \u00b7 p=(M\u2212L)\/(U\u2212L)<\/div>\n    <p>L, U, e, gL and gU retain the selected unit. p is dimensionless. These are general arithmetic identities, not formulas supplied by ISO 3601.<\/p>\n    <h3>Why the former ISO lookup was removed<\/h3>\n    <p>The previous page supplied five O-ring cross-sections, one static and one dynamic groove pair per size, fixed tolerances and universal squeeze, fill, surface-texture and edge recommendations. It did not identify an ISO 3601-2 edition, table, O-ring class, size code, housing design approach, pressure direction, back-up-ring configuration or special-application agreement. It also treated piston and rod applications as the same dynamic row.<\/p>\n    <p>ISO 3601-2:2025 is now the current third edition and replaced ISO 3601-2:2016. Its public scope distinguishes class A and class B O-rings, multiple hardware-design approaches, general hydraulic\/pneumatic applications with or without back-up rings, and aerospace housing dimensions. It states that special-application housing dimensions are expected to be agreed between manufacturer and user. The closed table values are therefore not reconstructed here.<\/p>\n    <h3>Exact numerical checks<\/h3>\n    <div class=\"vbm218-table-wrap\"><table><thead><tr><th>Inputs<\/th><th>[L,U]<\/th><th>e<\/th><th>gL; gU<\/th><th>p and relation<\/th><\/tr><\/thead><tbody>\n      <tr><td>N=4.00 mm; dL=\u22120.05 mm; dU=+0.10 mm; M=4.06 mm<\/td><td>[3.95,4.10] mm<\/td><td>+0.06 mm<\/td><td>0.11; 0.04 mm<\/td><td>0.733333333333; inside interval<\/td><\/tr>\n      <tr><td>N=0.250 in; dL=\u22120.002 in; dU=+0.003 in; M=0.248 in<\/td><td>[0.248,0.253] in<\/td><td>\u22120.002 in<\/td><td>0; 0.005 in<\/td><td>0; on lower limit<\/td><\/tr>\n    <\/tbody><\/table><\/div>\n    <h3>Official source status and classification<\/h3>\n    <div class=\"vbm218-table-wrap\"><table><thead><tr><th>Source<\/th><th>Current public status inspected<\/th><th>Use on this page<\/th><\/tr><\/thead><tbody>\n      <tr><td>ISO 3601-2:2025<\/td><td>Edition 3, published 2025-11-26; replaces withdrawn ISO 3601-2:2016<\/td><td>Official lifecycle and public scope only. No housing table value or tolerance is reproduced.<\/td><\/tr>\n      <tr><td>ISO 3601-1:2012<\/td><td>Edition 5, published and confirmed in 2022; Cor 1:2012 and Amd 1:2019 are published<\/td><td>Official lifecycle and public scope for d1, d2, tolerances and designation codes. No size table is reproduced.<\/td><\/tr>\n      <tr><td>Interval equations above<\/td><td>General dimensional arithmetic<\/td><td>Non-normative calculation from user-controlled values; not attributed to ISO.<\/td><\/tr>\n    <\/tbody><\/table><\/div>\n    <p><a href=\"https:\/\/www.iso.org\/standard\/85921.html\" target=\"_blank\" rel=\"noopener\">ISO 3601-2:2025 official card<\/a> \u00b7 <a href=\"https:\/\/www.iso.org\/standard\/58043.html\" target=\"_blank\" rel=\"noopener\">ISO 3601-1:2012 official card<\/a><\/p>\n    <p><strong>Accessed:<\/strong> 15 July 2026. <strong>Licensed-source boundary:<\/strong> NEEDS_LICENSED_SOURCE for every housing dimension, deviation, squeeze\/fill range, surface-texture value, edge\/lead-in requirement and application-specific acceptance criterion. None was guessed from the withdrawn page, a search snippet or another calculator.<\/p>\n    <div class=\"vbm218-limit\"><strong>Design and metrology review required.<\/strong> Verify the current licensed standard\/drawing, O-ring class and size, actual tolerances, compound\/hardness, pressure and temperature, medium, motion, stretch\/squeeze\/fill, extrusion gap and back-up ring, finish\/lead-in, manufacturing capability, inspection method and measurement uncertainty before a design or acceptance decision.<\/div>\n    <div class=\"vbm218-footer\">Revision: scientific audit 2026-07-15 \u00b7 English source page \u00b7 Arithmetic interval check only \u00b7 Preserve the source row, drawing revision and measurement record with every result.<\/div>\n  <\/section>\n<\/main>\n\n<script id=\"vbm-c100218-logic\">\n(function(){\n  'use strict';\n  function el(id){return document.getElementById(id)}\n  function value(id){return el(id).value}\n  function setText(id,text){el(id).textContent=text}\n  function clearError(){var box=el('vbm218-error');box.textContent='';box.classList.remove('show')}\n  function invalidate(){clearError();el('vbm218-results').classList.remove('show')}\n  function showError(err){invalidate();var box=el('vbm218-error');box.textContent=err.message||String(err);box.classList.add('show');box.focus()}\n  function strictPositive(raw,name){var s=String(raw==null?'':raw).trim();if(!\/^(?:\\d+(?:[.,]\\d*)?|[.,]\\d+)$\/.test(s))throw new Error(name+' must be one complete positive decimal number.');var n=Number(s.replace(',','.'));if(!Number.isFinite(n)||n<=0)throw new Error(name+' must be finite and greater than zero.');return n}\n  function strictSigned(raw,name){var s=String(raw==null?'':raw).trim();if(!\/^[+-]?(?:\\d+(?:[.,]\\d*)?|[.,]\\d+)$\/.test(s))throw new Error(name+' must be one complete signed decimal number.');var n=Number(s.replace(',','.'));if(!Number.isFinite(n))throw new Error(name+' must be finite.');return n}\n  function finite(n,name){if(!Number.isFinite(n))throw new Error(name+' is outside the finite numerical range.');return n}\n  function calculate(x){\n    if(!x||!['depth','width','diameter','other'].includes(x.type))throw new Error('Select the dimension type.');\n    if(!['mm','in'].includes(x.unit))throw new Error('Select the shared linear unit.');\n    var nominal=strictPositive(x.nominal,'Nominal dimension N');\n    var measured=strictPositive(x.measured,'Measured dimension M');\n    var lowerDev=strictSigned(x.lowerDev,'Signed lower deviation dL');\n    var upperDev=strictSigned(x.upperDev,'Signed upper deviation dU');\n    if(!(lowerDev<upperDev))throw new Error('Signed upper deviation dU must be greater than signed lower deviation dL.');\n    var lower=finite(nominal+lowerDev,'Lower limit L');\n    var upper=finite(nominal+upperDev,'Upper limit U');\n    if(!(lower>0&&upper>lower))throw new Error('The entered deviations must produce a positive interval with U greater than L.');\n    var deviation=finite(measured-nominal,'Measured deviation');\n    var fromLower=finite(measured-lower,'Signed distance from lower limit');\n    var toUpper=finite(upper-measured,'Signed distance to upper limit');\n    var width=finite(upper-lower,'Tolerance width');\n    var position=finite(fromLower\/width,'Normalized interval position');\n    var relation=measured<lower?'below':measured===lower?'on-lower':measured<upper?'inside':measured===upper?'on-upper':'above';\n    return {type:x.type,unit:x.unit,nominal:nominal,measured:measured,lowerDev:lowerDev,upperDev:upperDev,lower:lower,upper:upper,deviation:deviation,fromLower:fromLower,toUpper:toUpper,width:width,position:position,relation:relation};\n  }\n  function format(n){if(Object.is(n,-0))n=0;if(n===0)return'0';var a=Math.abs(n);if(a>=1e12||a<1e-9)return n.toExponential(8).replace(\/\\.0+e\/,'e').replace(\/(\\.\\d*?)0+e\/,'$1e');return Number(n.toPrecision(12)).toString()}\n  function relationText(code){return{below:'below the entered lower limit','on-lower':'on the entered lower limit',inside:'inside the entered interval','on-upper':'on the entered upper limit',above:'above the entered upper limit'}[code]}\n  function read(){\n    var ids=['vbm218-label','vbm218-standard','vbm218-row','vbm218-ring','vbm218-application','vbm218-service','vbm218-texture','vbm218-measurement','vbm218-record-id'];\n    ids.forEach(function(id){if(!value(id).trim())throw new Error(el(id).previousElementSibling.textContent.trim()+' is required.')});\n    ['vbm218-c1','vbm218-c2','vbm218-c3'].forEach(function(id){if(!el(id).checked)throw new Error('Complete all source and compatibility confirmations before calculating.')});\n    return calculate({type:value('vbm218-type'),unit:value('vbm218-unit'),nominal:value('vbm218-nominal'),measured:value('vbm218-measured'),lowerDev:value('vbm218-lower-dev'),upperDev:value('vbm218-upper-dev')});\n  }\n  function render(r){\n    var unit=r.unit==='mm'?'mm':'in';\n    setText('vbm218-result-context',value('vbm218-label').trim()+' \u00b7 '+value('vbm218-record-id').trim());\n    setText('vbm218-r-interval','['+format(r.lower)+', '+format(r.upper)+'] '+unit);\n    setText('vbm218-r-deviation',format(r.deviation)+' '+unit);\n    setText('vbm218-r-distances','gL = '+format(r.fromLower)+' '+unit+'; gU = '+format(r.toUpper)+' '+unit);\n    setText('vbm218-r-position',format(r.position));\n    setText('vbm218-r-relation',relationText(r.relation));\n    clearError();el('vbm218-results').classList.add('show');\n  }\n  function clearNumeric(){['vbm218-nominal','vbm218-measured','vbm218-lower-dev','vbm218-upper-dev'].forEach(function(id){el(id).value=''});invalidate()}\n  var form=el('vbm218-form');\n  form.addEventListener('submit',function(e){e.preventDefault();try{render(read())}catch(err){showError(err)}});\n  form.addEventListener('keydown',function(e){if(e.key==='Enter'&&e.target&&e.target.tagName==='INPUT'){e.preventDefault();var btn=form.querySelector('button[type=\"submit\"]');if(typeof form.requestSubmit==='function')form.requestSubmit(btn);else btn.click()}});\n  el('vbm218-unit').addEventListener('change',clearNumeric);\n  form.querySelectorAll('input,select').forEach(function(x){x.addEventListener('input',invalidate);x.addEventListener('change',invalidate)});\n  el('vbm218-reset').addEventListener('click',function(){form.reset();form.querySelectorAll('input').forEach(function(x){if(x.type!=='checkbox')x.value=''});invalidate();el('vbm218-type').focus()});\n})();\n<\/script>\n\n","protected":false},"excerpt":{"rendered":"<p>Check one measured O-ring housing dimension against one controlled signed tolerance interval without an invented ISO 3601 lookup table or compliance verdict.<\/p>","protected":false},"featured_media":0,"template":"","meta":{"ai_generated_summary":"","footnotes":""},"categories":[],"tags":[],"class_list":["post-100218","calculator","type-calculator","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/vibromera.eu\/ja\/wp-json\/wp\/v2\/calculator\/100218","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vibromera.eu\/ja\/wp-json\/wp\/v2\/calculator"}],"about":[{"href":"https:\/\/vibromera.eu\/ja\/wp-json\/wp\/v2\/types\/calculator"}],"version-history":[{"count":2,"href":"https:\/\/vibromera.eu\/ja\/wp-json\/wp\/v2\/calculator\/100218\/revisions"}],"predecessor-version":[{"id":102561,"href":"https:\/\/vibromera.eu\/ja\/wp-json\/wp\/v2\/calculator\/100218\/revisions\/102561"}],"wp:attachment":[{"href":"https:\/\/vibromera.eu\/ja\/wp-json\/wp\/v2\/media?parent=100218"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vibromera.eu\/ja\/wp-json\/wp\/v2\/categories?post=100218"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vibromera.eu\/ja\/wp-json\/wp\/v2\/tags?post=100218"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}