{"id":100265,"date":"2026-02-15T20:30:31","date_gmt":"2026-02-15T20:30:31","guid":{"rendered":"https:\/\/vibromera.eu\/?post_type=calculator&#038;p=100265"},"modified":"2026-07-15T21:48:20","modified_gmt":"2026-07-15T21:48:20","slug":"tolerance-stack-calculator","status":"publish","type":"calculator","link":"https:\/\/vibromera.eu\/it\/calculators\/tolerance-stack-calculator\/","title":{"rendered":"Controlled 1D Linear Interval Stack Worksheet"},"content":{"rendered":"\n<script type=\"application\/ld+json\">\n{\"@context\":\"https:\/\/schema.org\",\"@type\":\"WebApplication\",\"name\":\"Controlled 1D Linear Interval Stack Worksheet\",\"description\":\"Exact decimal propagation of documented lower and upper size limits through a one-dimensional linear stack. No RSS probability, fit or ISO conformity verdict is inferred.\",\"url\":\"https:\/\/vibromera.eu\/calculators\/tolerance-stack-calculator\/\",\"applicationCategory\":\"EngineeringApplication\",\"operatingSystem\":\"Any web browser\",\"isAccessibleForFree\":true,\"publisher\":{\"@type\":\"Organization\",\"name\":\"Vibromera\",\"url\":\"https:\/\/vibromera.eu\/\"}}\n<\/script>\n<script type=\"application\/ld+json\">\n{\"@context\":\"https:\/\/schema.org\",\"@type\":\"BreadcrumbList\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/vibromera.eu\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Calculators\",\"item\":\"https:\/\/vibromera.eu\/calculators\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"1D interval stack worksheet\",\"item\":\"https:\/\/vibromera.eu\/calculators\/tolerance-stack-calculator\/\"}]}\n<\/script>\n\n<style>\n#ls-tool{--ls-ink:#17202a;--ls-muted:#52606d;--ls-line:#d8e0e7;--ls-paper:#fff;--ls-soft:#f5f8fa;--ls-blue:#155e75;--ls-blue-soft:#ecfeff;--ls-amber:#92400e;--ls-amber-soft:#fffbeb;--ls-red:#a61b1b;--ls-red-soft:#fff1f2;max-width:1080px;margin:0 auto;padding:24px 14px 48px;color:var(--ls-ink);font:15px\/1.6 system-ui,-apple-system,\"Segoe UI\",sans-serif}\n#ls-tool *{box-sizing:border-box}#ls-tool h1,#ls-tool h2,#ls-tool h3{line-height:1.22;color:var(--ls-ink)}#ls-tool a{color:#0e7490}#ls-tool code{font:600 .94em ui-monospace,SFMono-Regular,Consolas,monospace}\n.ls-hero{padding:38px 24px;text-align:center;background:linear-gradient(145deg,#ecfeff,#f8fafc);border:1px solid #bae6fd;border-radius:18px}.ls-kicker{margin:0 0 8px;color:var(--ls-blue);font:700 12px\/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.12em;text-transform:uppercase}.ls-hero h1{margin:0;font-size:clamp(27px,5vw,43px)}.ls-lead{max-width:800px;margin:14px auto 0;color:var(--ls-muted);font-size:17px}.ls-badges{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:18px}.ls-badge{padding:5px 10px;border:1px solid #a5d8e6;border-radius:999px;background:#fff;color:#155e75;font:700 12px\/1.3 ui-monospace,SFMono-Regular,Consolas,monospace}\n.ls-warning{margin:22px 0;padding:16px 18px;border-left:5px solid #d97706;border-radius:10px;background:var(--ls-amber-soft);color:#78350f}.ls-warning strong{display:block;margin-bottom:4px}.ls-card{margin-top:22px;border:1px solid var(--ls-line);border-radius:16px;background:var(--ls-paper);box-shadow:0 8px 28px rgba(15,23,42,.06);overflow:hidden}.ls-card-head{padding:20px 24px;border-bottom:1px solid var(--ls-line);background:var(--ls-soft)}.ls-card-head h2{margin:0;font-size:22px}.ls-card-head p{margin:6px 0 0;color:var(--ls-muted)}\n.ls-form{padding:24px}.ls-top{display:grid;grid-template-columns:220px 1fr;gap:18px;margin-bottom:18px}.ls-field{display:flex;flex-direction:column;gap:6px}.ls-field label,.ls-label{font-weight:700;color:#334155}.ls-hint{font-size:12px;font-weight:400;color:var(--ls-muted)}.ls-input,.ls-select,.ls-textarea{width:100%;min-width:0;border:1.5px solid #b9c6d0;border-radius:8px;background:#fff;color:var(--ls-ink);font:inherit;padding:9px 10px}.ls-textarea{min-height:88px;resize:vertical}.ls-input:focus,.ls-select:focus,.ls-textarea:focus{outline:3px solid rgba(14,116,144,.17);border-color:#0e7490}\n.ls-stack{display:grid;gap:8px}.ls-row{display:grid;grid-template-columns:40px minmax(130px,1.3fr) 90px repeat(3,minmax(105px,1fr));gap:8px;align-items:center}.ls-head{color:var(--ls-muted);font:700 11px\/1.35 ui-monospace,SFMono-Regular,Consolas,monospace;text-transform:uppercase;letter-spacing:.05em}.ls-index{text-align:center;font-weight:800;color:var(--ls-muted)}.ls-row-note{display:none}.ls-confirm{display:flex;align-items:flex-start;gap:10px;margin-top:12px;padding:13px 14px;border:1px solid var(--ls-line);border-radius:10px;background:var(--ls-soft);font-weight:500}.ls-confirm input{width:18px;height:18px;margin-top:3px;flex:0 0 auto}.ls-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.ls-button{border:0;border-radius:9px;padding:11px 18px;font:700 14px\/1.2 inherit;cursor:pointer}.ls-primary{background:#0e7490;color:#fff}.ls-primary:hover{background:#155e75}.ls-secondary{border:1px solid #b9c6d0;background:#fff;color:#334155}.ls-secondary:hover{background:var(--ls-soft)}.ls-message{min-height:24px;margin-top:15px;font-weight:700}.ls-message[data-kind=\"error\"]{padding:12px 14px;border-radius:9px;background:var(--ls-red-soft);color:var(--ls-red)}\n.ls-result{display:none;padding:0 24px 24px}.ls-result[data-visible=\"true\"]{display:block}.ls-status{padding:16px 18px;border:1px solid #a5d8e6;border-radius:11px;background:var(--ls-blue-soft);color:#155e75;font-weight:800}.ls-result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.ls-result-card{padding:15px;border:1px solid var(--ls-line);border-radius:11px;background:var(--ls-soft)}.ls-result-label{color:var(--ls-muted);font:700 11px\/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em;text-transform:uppercase}.ls-result-value{margin-top:4px;font:700 18px\/1.35 ui-monospace,SFMono-Regular,Consolas,monospace;overflow-wrap:anywhere}.ls-wide{grid-column:1\/-1}.ls-result-note{margin:14px 0 0;color:var(--ls-muted)}\n.ls-section{padding:22px 24px}.ls-section+.ls-section{border-top:1px solid var(--ls-line)}.ls-section h2{margin:0 0 12px;font-size:21px}.ls-section h3{margin:20px 0 8px;font-size:17px}.ls-section p{margin:8px 0;color:var(--ls-muted)}.ls-section ul{margin:8px 0;padding-left:22px;color:var(--ls-muted)}.ls-section li{margin:6px 0}.ls-formula{padding:14px;border:1px solid #bae6fd;border-radius:10px;background:var(--ls-blue-soft);font:650 15px\/1.8 ui-monospace,SFMono-Regular,Consolas,monospace;overflow-wrap:anywhere}.ls-scope{padding:14px 16px;border-left:5px solid #0e7490;border-radius:10px;background:var(--ls-blue-soft)}.ls-table-wrap{overflow-x:auto}.ls-table{width:100%;border-collapse:collapse;min-width:680px}.ls-table th,.ls-table td{padding:11px 12px;border:1px solid var(--ls-line);text-align:left;vertical-align:top}.ls-table th{background:var(--ls-soft)}.ls-source{font-size:14px}.ls-source a{overflow-wrap:anywhere}.ls-footer{margin-top:24px;text-align:center;color:var(--ls-muted);font-size:13px}\n@media(max-width:850px){.ls-head{display:none}.ls-row{grid-template-columns:36px 1fr 90px;gap:8px;padding:12px;border:1px solid var(--ls-line);border-radius:10px;background:var(--ls-soft)}.ls-row-note{display:block;grid-column:2\/-1;color:var(--ls-muted);font-size:12px}.ls-nom,.ls-low,.ls-up{grid-column:2\/-1}.ls-label-input{grid-column:2}.ls-sign{grid-column:3}.ls-row .ls-input,.ls-row .ls-select{background:#fff}.ls-nom::before{content:'Nominal '}.ls-low::before{content:'Lower deviation '}.ls-up::before{content:'Upper deviation '}}\n@media(max-width:650px){#ls-tool{padding-inline:10px}.ls-hero{padding:30px 16px}.ls-form,.ls-section,.ls-card-head,.ls-result{padding-left:16px;padding-right:16px}.ls-top,.ls-result-grid{grid-template-columns:1fr}.ls-wide{grid-column:auto}.ls-button{flex:1 1 140px}}\n@media print{#ls-tool{max-width:none}.ls-actions{display:none}.ls-card{box-shadow:none}.ls-result[data-visible=\"false\"]{display:none}}\n<\/style>\n\n<main id=\"ls-tool\">\n  <header class=\"ls-hero\">\n    <p class=\"ls-kicker\">Exact decimal interval arithmetic \u00b7 one-dimensional linear model<\/p>\n    <h1>Controlled 1D Linear Interval Stack<\/h1>\n    <p class=\"ls-lead\">Propagate documented lower and upper deviations through a scalar closure equation with coefficients +1 or \u22121. The result is a deterministic interval enclosure, not an RSS probability, confidence level, fit decision or ISO conformity verdict.<\/p>\n    <div class=\"ls-badges\"><span class=\"ls-badge\">Asymmetric deviations<\/span><span class=\"ls-badge\">Exact base-10 arithmetic<\/span><span class=\"ls-badge\">No statistical assumptions<\/span><\/div>\n  <\/header>\n\n  <div class=\"ls-warning\"><strong>Do not substitute drawing half-tolerances into RSS and call the result \u201c3\u03c3\u201d or \u201c99.73%\u201d.<\/strong>RSS combines quantities interpreted as standard deviations or standard uncertainties, with covariances where appropriate. A specification interval alone does not establish a distribution, process centering, independence or coverage probability.<\/div>\n\n  <section class=\"ls-card\" aria-labelledby=\"ls-input-title\">\n    <div class=\"ls-card-head\"><h2 id=\"ls-input-title\">Documented scalar closure equation<\/h2><p>Each active row represents one physical length term. Enter signed lower and upper deviations relative to its nominal value.<\/p><\/div>\n    <form class=\"ls-form\" id=\"ls-form\" autocomplete=\"off\" novalidate>\n      <div class=\"ls-top\">\n        <div class=\"ls-field\"><label for=\"ls-unit\">Common unit<\/label><select class=\"ls-select\" id=\"ls-unit\" required><option value=\"\" selected>Select unit<\/option><option value=\"mm\">millimetres (mm)<\/option><option value=\"in\">inches (in)<\/option><\/select><\/div>\n        <div class=\"ls-field\"><label for=\"ls-source\">Drawing, loop and source record <span class=\"ls-hint\">3\u2013500 characters<\/span><\/label><textarea class=\"ls-textarea\" id=\"ls-source\" maxlength=\"500\" placeholder=\"Drawing\/revision, named closure equation or datum path, operating state and source of each limit\" required><\/textarea><\/div>\n      <\/div>\n      <div class=\"ls-stack\" id=\"ls-stack\">\n        <div class=\"ls-row ls-head\"><span>#<\/span><span>Term label<\/span><span>Sign<\/span><span>Nominal<\/span><span>Lower deviation<\/span><span>Upper deviation<\/span><\/div>\n        <div class=\"ls-row\" data-row=\"1\"><span class=\"ls-index\">1<\/span><span class=\"ls-row-note\">Complete every field in an active row.<\/span><input class=\"ls-input ls-label-input\" data-field=\"label\" aria-label=\"Term 1 label\" placeholder=\"e.g. housing\"><select class=\"ls-select ls-sign\" data-field=\"sign\" aria-label=\"Term 1 sign\"><option value=\"\" selected>Sign<\/option><option value=\"1\">+<\/option><option value=\"-1\">\u2212<\/option><\/select><input class=\"ls-input ls-nom\" data-field=\"nominal\" aria-label=\"Term 1 nominal\" inputmode=\"decimal\" placeholder=\"100\"><input class=\"ls-input ls-low\" data-field=\"lower\" aria-label=\"Term 1 lower deviation\" inputmode=\"decimal\" placeholder=\"-0.10\"><input class=\"ls-input ls-up\" data-field=\"upper\" aria-label=\"Term 1 upper deviation\" inputmode=\"decimal\" placeholder=\"+0.20\"><\/div>\n        <div class=\"ls-row\" data-row=\"2\"><span class=\"ls-index\">2<\/span><span class=\"ls-row-note\">Complete every field in an active row.<\/span><input class=\"ls-input ls-label-input\" data-field=\"label\" aria-label=\"Term 2 label\"><select class=\"ls-select ls-sign\" data-field=\"sign\" aria-label=\"Term 2 sign\"><option value=\"\" selected>Sign<\/option><option value=\"1\">+<\/option><option value=\"-1\">\u2212<\/option><\/select><input class=\"ls-input ls-nom\" data-field=\"nominal\" aria-label=\"Term 2 nominal\" inputmode=\"decimal\"><input class=\"ls-input ls-low\" data-field=\"lower\" aria-label=\"Term 2 lower deviation\" inputmode=\"decimal\"><input class=\"ls-input ls-up\" data-field=\"upper\" aria-label=\"Term 2 upper deviation\" inputmode=\"decimal\"><\/div>\n        <div class=\"ls-row\" data-row=\"3\"><span class=\"ls-index\">3<\/span><span class=\"ls-row-note\">Complete every field in an active row.<\/span><input class=\"ls-input ls-label-input\" data-field=\"label\" aria-label=\"Term 3 label\"><select class=\"ls-select ls-sign\" data-field=\"sign\" aria-label=\"Term 3 sign\"><option value=\"\" selected>Sign<\/option><option value=\"1\">+<\/option><option value=\"-1\">\u2212<\/option><\/select><input class=\"ls-input ls-nom\" data-field=\"nominal\" aria-label=\"Term 3 nominal\" inputmode=\"decimal\"><input class=\"ls-input ls-low\" data-field=\"lower\" aria-label=\"Term 3 lower deviation\" inputmode=\"decimal\"><input class=\"ls-input ls-up\" data-field=\"upper\" aria-label=\"Term 3 upper deviation\" inputmode=\"decimal\"><\/div>\n        <div class=\"ls-row\" data-row=\"4\"><span class=\"ls-index\">4<\/span><span class=\"ls-row-note\">Complete every field in an active row.<\/span><input class=\"ls-input ls-label-input\" data-field=\"label\" aria-label=\"Term 4 label\"><select class=\"ls-select ls-sign\" data-field=\"sign\" aria-label=\"Term 4 sign\"><option value=\"\" selected>Sign<\/option><option value=\"1\">+<\/option><option value=\"-1\">\u2212<\/option><\/select><input class=\"ls-input ls-nom\" data-field=\"nominal\" aria-label=\"Term 4 nominal\" inputmode=\"decimal\"><input class=\"ls-input ls-low\" data-field=\"lower\" aria-label=\"Term 4 lower deviation\" inputmode=\"decimal\"><input class=\"ls-input ls-up\" data-field=\"upper\" aria-label=\"Term 4 upper deviation\" inputmode=\"decimal\"><\/div>\n        <div class=\"ls-row\" data-row=\"5\"><span class=\"ls-index\">5<\/span><span class=\"ls-row-note\">Complete every field in an active row.<\/span><input class=\"ls-input ls-label-input\" data-field=\"label\" aria-label=\"Term 5 label\"><select class=\"ls-select ls-sign\" data-field=\"sign\" aria-label=\"Term 5 sign\"><option value=\"\" selected>Sign<\/option><option value=\"1\">+<\/option><option value=\"-1\">\u2212<\/option><\/select><input class=\"ls-input ls-nom\" data-field=\"nominal\" aria-label=\"Term 5 nominal\" inputmode=\"decimal\"><input class=\"ls-input ls-low\" data-field=\"lower\" aria-label=\"Term 5 lower deviation\" inputmode=\"decimal\"><input class=\"ls-input ls-up\" data-field=\"upper\" aria-label=\"Term 5 upper deviation\" inputmode=\"decimal\"><\/div>\n        <div class=\"ls-row\" data-row=\"6\"><span class=\"ls-index\">6<\/span><span class=\"ls-row-note\">Complete every field in an active row.<\/span><input class=\"ls-input ls-label-input\" data-field=\"label\" aria-label=\"Term 6 label\"><select class=\"ls-select ls-sign\" data-field=\"sign\" aria-label=\"Term 6 sign\"><option value=\"\" selected>Sign<\/option><option value=\"1\">+<\/option><option value=\"-1\">\u2212<\/option><\/select><input class=\"ls-input ls-nom\" data-field=\"nominal\" aria-label=\"Term 6 nominal\" inputmode=\"decimal\"><input class=\"ls-input ls-low\" data-field=\"lower\" aria-label=\"Term 6 lower deviation\" inputmode=\"decimal\"><input class=\"ls-input ls-up\" data-field=\"upper\" aria-label=\"Term 6 upper deviation\" inputmode=\"decimal\"><\/div>\n        <div class=\"ls-row\" data-row=\"7\"><span class=\"ls-index\">7<\/span><span class=\"ls-row-note\">Complete every field in an active row.<\/span><input class=\"ls-input ls-label-input\" data-field=\"label\" aria-label=\"Term 7 label\"><select class=\"ls-select ls-sign\" data-field=\"sign\" aria-label=\"Term 7 sign\"><option value=\"\" selected>Sign<\/option><option value=\"1\">+<\/option><option value=\"-1\">\u2212<\/option><\/select><input class=\"ls-input ls-nom\" data-field=\"nominal\" aria-label=\"Term 7 nominal\" inputmode=\"decimal\"><input class=\"ls-input ls-low\" data-field=\"lower\" aria-label=\"Term 7 lower deviation\" inputmode=\"decimal\"><input class=\"ls-input ls-up\" data-field=\"upper\" aria-label=\"Term 7 upper deviation\" inputmode=\"decimal\"><\/div>\n        <div class=\"ls-row\" data-row=\"8\"><span class=\"ls-index\">8<\/span><span class=\"ls-row-note\">Complete every field in an active row.<\/span><input class=\"ls-input ls-label-input\" data-field=\"label\" aria-label=\"Term 8 label\"><select class=\"ls-select ls-sign\" data-field=\"sign\" aria-label=\"Term 8 sign\"><option value=\"\" selected>Sign<\/option><option value=\"1\">+<\/option><option value=\"-1\">\u2212<\/option><\/select><input class=\"ls-input ls-nom\" data-field=\"nominal\" aria-label=\"Term 8 nominal\" inputmode=\"decimal\"><input class=\"ls-input ls-low\" data-field=\"lower\" aria-label=\"Term 8 lower deviation\" inputmode=\"decimal\"><input class=\"ls-input ls-up\" data-field=\"upper\" aria-label=\"Term 8 upper deviation\" inputmode=\"decimal\"><\/div>\n      <\/div>\n      <label class=\"ls-confirm\" for=\"ls-confirm-chain\"><input id=\"ls-confirm-chain\" type=\"checkbox\" required><span>I verified one scalar 1D closure equation, the +\/\u2212 coefficients, common unit, datum path and that every active row refers to the same documented assembly state.<\/span><\/label>\n      <label class=\"ls-confirm\" for=\"ls-confirm-boundary\"><input id=\"ls-confirm-boundary\" type=\"checkbox\" required><span>I understand that this is a Cartesian interval enclosure. It does not calculate RSS probability, process yield, measurement uncertainty, assembly function, 2D\/3D geometry or conformity.<\/span><\/label>\n      <div class=\"ls-actions\"><button class=\"ls-button ls-primary\" type=\"submit\">Calculate interval enclosure<\/button><button class=\"ls-button ls-secondary\" type=\"reset\">Clear<\/button><\/div>\n      <div class=\"ls-message\" id=\"ls-message\" role=\"alert\" aria-live=\"polite\"><\/div>\n    <\/form>\n    <div class=\"ls-result\" id=\"ls-result\" data-visible=\"false\" aria-live=\"polite\">\n      <div class=\"ls-status\" id=\"ls-status\"><\/div>\n      <div class=\"ls-result-grid\">\n        <div class=\"ls-result-card\"><div class=\"ls-result-label\">Nominal closure value<\/div><div class=\"ls-result-value\" id=\"ls-r-nominal\">\u2014<\/div><\/div>\n        <div class=\"ls-result-card\"><div class=\"ls-result-label\">Deterministic interval span<\/div><div class=\"ls-result-value\" id=\"ls-r-span\">\u2014<\/div><\/div>\n        <div class=\"ls-result-card\"><div class=\"ls-result-label\">Minimum interval value<\/div><div class=\"ls-result-value\" id=\"ls-r-min\">\u2014<\/div><\/div>\n        <div class=\"ls-result-card\"><div class=\"ls-result-label\">Maximum interval value<\/div><div class=\"ls-result-value\" id=\"ls-r-max\">\u2014<\/div><\/div>\n        <div class=\"ls-result-card\"><div class=\"ls-result-label\">Lower deviation from nominal<\/div><div class=\"ls-result-value\" id=\"ls-r-low-dev\">\u2014<\/div><\/div>\n        <div class=\"ls-result-card\"><div class=\"ls-result-label\">Upper deviation from nominal<\/div><div class=\"ls-result-value\" id=\"ls-r-up-dev\">\u2014<\/div><\/div>\n        <div class=\"ls-result-card ls-wide\"><div class=\"ls-result-label\">Evaluated chain<\/div><div class=\"ls-result-value\" id=\"ls-r-chain\">\u2014<\/div><\/div>\n        <div class=\"ls-result-card ls-wide\"><div class=\"ls-result-label\">Source record<\/div><div class=\"ls-result-value\" id=\"ls-r-record\">\u2014<\/div><\/div>\n      <\/div>\n      <p class=\"ls-result-note\" id=\"ls-r-note\"><\/p>\n    <\/div>\n  <\/section>\n\n  <section class=\"ls-card\">\n    <div class=\"ls-section\">\n      <h2>Exact interval model<\/h2>\n      <div class=\"ls-formula\">Y = \u03a3 s<sub>i<\/sub>x<sub>i<\/sub>, where s<sub>i<\/sub> \u2208 {+1, \u22121}<br>x<sub>i<\/sub> \u2208 [N<sub>i<\/sub> + d<sub>Li<\/sub>, N<sub>i<\/sub> + d<sub>Ui<\/sub>]<br>For s<sub>i<\/sub> = +1: y<sub>Li<\/sub> = N<sub>i<\/sub> + d<sub>Li<\/sub>, y<sub>Ui<\/sub> = N<sub>i<\/sub> + d<sub>Ui<\/sub><br>For s<sub>i<\/sub> = \u22121: y<sub>Li<\/sub> = \u2212(N<sub>i<\/sub> + d<sub>Ui<\/sub>), y<sub>Ui<\/sub> = \u2212(N<sub>i<\/sub> + d<sub>Li<\/sub>)<br>Y<sub>min<\/sub> = \u03a3y<sub>Li<\/sub>, Y<sub>max<\/sub> = \u03a3y<sub>Ui<\/sub><\/div>\n      <p>This is general interval arithmetic, not an ISO-prescribed formula. For the entered linear model it encloses every combination of independent term values inside their declared intervals. Coefficients other than \u00b11, nonlinear geometry and dependent\/correlated term constraints are outside scope.<\/p>\n    <\/div>\n    <div class=\"ls-section\">\n      <h2>Why the former RSS result was removed<\/h2>\n      <p>NIST TN 1297 describes RSS as a method for combining components estimated as standard deviations or standard uncertainties, with covariances as appropriate. A drawing tolerance half-width is not automatically a standard deviation. Consequently, <code>\u221a\u03a3t\u00b2<\/code> cannot be labelled \u201c3\u03c3\u201d, \u201c99.73% confidence\u201d or expected production yield unless a validated statistical model supplies the distributions, centering, dependence\/covariance and coverage interpretation.<\/p>\n      <ul><li>No process capability, rejection rate or probability is calculated.<\/li><li>No normal distribution or independent-variable assumption is silently imposed.<\/li><li>No RSS output is presented beside the deterministic interval.<\/li><\/ul>\n    <\/div>\n    <div class=\"ls-section\">\n      <h2>Scope exclusions<\/h2>\n      <ul><li>2D\/3D vector loops, angular effects, datum mobility, geometric tolerances and contact geometry.<\/li><li>Thermal expansion, deformation, preload, wear, surface texture and operating-state changes unless already incorporated into controlled term limits.<\/li><li>Assembly fit\/function, clearance acceptance, interference risk or safety decisions.<\/li><li>Measurement uncertainty and ISO 14253 conformity decision rules.<\/li><li>Statistical tolerancing, process distributions, covariance and Monte Carlo analysis.<\/li><\/ul>\n      <div class=\"ls-scope\"><strong>Required engineering step:<\/strong> a qualified reviewer must validate the closure equation and specification operators against the complete drawing\/CAD definition, datum system, operating state and controlled standards before using the interval in a design decision.<\/div>\n    <\/div>\n    <div class=\"ls-section\">\n      <h2>Standards lifecycle and boundary<\/h2>\n      <div class=\"ls-table-wrap\"><table class=\"ls-table\"><thead><tr><th>Document<\/th><th>Verified public status<\/th><th>Relevance<\/th><\/tr><\/thead><tbody>\n        <tr><td>ISO 14405-1:2025, edition 3<\/td><td>Published; replaces withdrawn ISO 14405-1:2016.<\/td><td>Indication of linear sizes and specification operators. This worksheet does not infer an operator; limits must already be controlled.<\/td><\/tr>\n        <tr><td>ISO 2768-2:1989<\/td><td>Withdrawn 2021-02-04; revised by ISO 22081:2021.<\/td><td>Do not present this withdrawn geometrical-general-tolerance document as current. No class table is reproduced here.<\/td><\/tr>\n        <tr><td>ISO 22081:2021, edition 1<\/td><td>Published; confirmed in 2026.<\/td><td>General geometrical and general size specifications under its stated scope. It does not create a universal tolerance-stack probability formula.<\/td><\/tr>\n        <tr><td>NIST TN 1297, section 5<\/td><td>Official open metrology guidance.<\/td><td>Clarifies that RSS combines standard-uncertainty\/standard-deviation components and covariances as appropriate; it is not cited as an ISO tolerance-stack rule.<\/td><\/tr>\n      <\/tbody><\/table><\/div>\n      <p>Exact normative interpretation still requires licensed controlled copies of the applicable standards and the complete product specification.<\/p>\n    <\/div>\n    <div class=\"ls-section ls-source\">\n      <h2>Official source records<\/h2>\n      <ul>\n        <li><a href=\"https:\/\/www.iso.org\/standard\/14405-1\" rel=\"noopener\" target=\"_blank\">ISO 14405-1:2025 official record<\/a> \u2014 edition, status, scope and lifecycle; accessed 2026-07-15.<\/li>\n        <li><a href=\"https:\/\/www.iso.org\/standard\/7749.html\" rel=\"noopener\" target=\"_blank\">ISO 2768-2:1989 official withdrawn record<\/a> \u2014 withdrawal and replacement; accessed 2026-07-15.<\/li>\n        <li><a href=\"https:\/\/www.iso.org\/standard\/72514.html\" rel=\"noopener\" target=\"_blank\">ISO 22081:2021 official record<\/a> \u2014 current scope and confirmation; accessed 2026-07-15.<\/li>\n        <li><a href=\"https:\/\/www.nist.gov\/pml\/nist-technical-note-1297\/nist-tn-1297-5-combined-standard-uncertainty\" rel=\"noopener\" target=\"_blank\">NIST TN 1297, section 5<\/a> \u2014 what RSS combines; accessed 2026-07-15.<\/li>\n      <\/ul>\n    <\/div>\n  <\/section>\n  <p class=\"ls-footer\">Engineering interval-arithmetic aid only. Preserve the displayed chain and source record with any transcribed result.<\/p>\n<\/main>\n\n<script>\n(function(){\n  'use strict';\n  var form=document.getElementById('ls-form'),message=document.getElementById('ls-message'),result=document.getElementById('ls-result'),status=document.getElementById('ls-status'),unit=document.getElementById('ls-unit'),source=document.getElementById('ls-source'),confirmChain=document.getElementById('ls-confirm-chain'),confirmBoundary=document.getElementById('ls-confirm-boundary'),rows=[].slice.call(document.querySelectorAll('#ls-stack .ls-row[data-row]'));\n  var outputs={nominal:document.getElementById('ls-r-nominal'),span:document.getElementById('ls-r-span'),min:document.getElementById('ls-r-min'),max:document.getElementById('ls-r-max'),lowDev:document.getElementById('ls-r-low-dev'),upDev:document.getElementById('ls-r-up-dev'),chain:document.getElementById('ls-r-chain'),record:document.getElementById('ls-r-record'),note:document.getElementById('ls-r-note')};\n  function hide(){result.dataset.visible='false';status.textContent='';Object.keys(outputs).forEach(function(k){outputs[k].textContent=k==='note'?'':'\u2014';});}\n  function fail(text){hide();message.dataset.kind='error';message.textContent=text;}\n  function parsePlain(value,label){var s=String(value).trim();if(s.length===0||s.length>40||!\/^[-+]?(?:\\d+(?:[.,]\\d*)?|[.,]\\d+)$\/.test(s))throw new Error(label+' must be one complete plain decimal number. Scientific notation and unit suffixes are not accepted.');s=s.replace(',','.');var n=Number(s);if(!Number.isFinite(n)||Math.abs(n)>1e9)throw new Error(label+' is outside the supported finite range (absolute value at most 1,000,000,000).');var negative=s.charAt(0)==='-',unsigned=\/^[+-]\/.test(s)?s.slice(1):s,parts=unsigned.split('.'),fraction=parts[1]||'',digits=((parts[0]||'0')+fraction).replace(\/^0+(?=\\d)\/,'');return{coefficient:(negative?-1n:1n)*BigInt(digits||'0'),scale:fraction.length};}\n  function pow10(n){return 10n**BigInt(n);}\n  function fmt(q,scale){var negative=q<0n;if(negative)q=-q;var s=q.toString().padStart(scale+1,'0');if(scale){s=s.slice(0,-scale)+'.'+s.slice(-scale);s=s.replace(\/\\.?0+$\/,'');}if(s==='')s='0';return(negative&&s!=='0'?'-':'')+s;}\n  form.addEventListener('submit',function(event){event.preventDefault();message.textContent='';message.removeAttribute('data-kind');hide();try{\n    if(unit.value!=='mm'&&unit.value!=='in')throw new Error('Select millimetres or inches.');var terms=[],all=[];\n    rows.forEach(function(row,index){var values={},any=false;['label','sign','nominal','lower','upper'].forEach(function(name){values[name]=row.querySelector('[data-field=\"'+name+'\"]').value.trim();if(values[name]!=='')any=true;});if(!any)return;if(!values.label||!values.sign||!values.nominal||!values.lower||!values.upper)throw new Error('Complete every field in active row '+(index+1)+'.');if(values.label.length<2||values.label.length>80)throw new Error('Term label in row '+(index+1)+' must contain 2 to 80 characters.');if(values.sign!=='1'&&values.sign!=='-1')throw new Error('Select + or \u2212 for row '+(index+1)+'.');var term={label:values.label,sign:values.sign==='1'?1n:-1n,nominal:parsePlain(values.nominal,'Row '+(index+1)+' nominal'),lower:parsePlain(values.lower,'Row '+(index+1)+' lower deviation'),upper:parsePlain(values.upper,'Row '+(index+1)+' upper deviation')};terms.push(term);all.push(term.nominal,term.lower,term.upper);});\n    if(terms.length===0)throw new Error('Enter at least one complete stack term.');var record=source.value.trim();if(record.length<3||record.length>500)throw new Error('Enter a drawing, loop and source record of 3 to 500 characters.');if(!confirmChain.checked)throw new Error('Confirm the scalar closure equation, coefficients, datum path and common state.');if(!confirmBoundary.checked)throw new Error('Confirm the deterministic interval-only boundary.');var scale=Math.max.apply(null,all.map(function(v){return v.scale;})),at=function(v){return v.coefficient*pow10(scale-v.scale);},nominal=0n,minimum=0n,maximum=0n,chain=[];\n    terms.forEach(function(term,index){var n=at(term.nominal),dl=at(term.lower),du=at(term.upper);if(n<=0n)throw new Error('Nominal value in active row '+(index+1)+' must be greater than zero.');if(dl>du)throw new Error('Lower deviation cannot exceed upper deviation in active row '+(index+1)+'.');var low=n+dl,up=n+du;if(low<=0n||up<=0n)throw new Error('Deviations in active row '+(index+1)+' must produce positive lower and upper term limits.');nominal+=term.sign*n;if(term.sign===1n){minimum+=low;maximum+=up;}else{minimum-=up;maximum-=low;}chain.push((term.sign===1n?'+ ':'\u2212 ')+term.label);});\n    var span=maximum-minimum,lowDev=minimum-nominal,upDev=maximum-nominal,u=unit.value;status.textContent='Deterministic interval enclosure calculated from '+terms.length+' documented term'+(terms.length===1?'':'s')+'.';outputs.nominal.textContent=fmt(nominal,scale)+' '+u;outputs.span.textContent=fmt(span,scale)+' '+u;outputs.min.textContent=fmt(minimum,scale)+' '+u;outputs.max.textContent=fmt(maximum,scale)+' '+u;outputs.lowDev.textContent=fmt(lowDev,scale)+' '+u;outputs.upDev.textContent=fmt(upDev,scale)+' '+u;outputs.chain.textContent=chain.join(' ');outputs.record.textContent=record;outputs.note.textContent='Cartesian interval arithmetic only \u2014 no RSS probability, process yield, fit\/function decision, measurement uncertainty or ISO conformity has been inferred.';result.dataset.visible='true';\n  }catch(error){fail(error.message);}});\n  form.addEventListener('reset',function(){setTimeout(function(){message.textContent='';message.removeAttribute('data-kind');hide();},0);});hide();\n}());\n<\/script>\n\n","protected":false},"excerpt":{"rendered":"<p>Propagate documented lower and upper length deviations through an exact one-dimensional closure equation. No unsupported RSS probability, yield or conformity claim is made.<\/p>","protected":false},"featured_media":0,"template":"","meta":{"ai_generated_summary":"","footnotes":""},"categories":[],"tags":[],"class_list":["post-100265","calculator","type-calculator","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/vibromera.eu\/it\/wp-json\/wp\/v2\/calculator\/100265","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vibromera.eu\/it\/wp-json\/wp\/v2\/calculator"}],"about":[{"href":"https:\/\/vibromera.eu\/it\/wp-json\/wp\/v2\/types\/calculator"}],"version-history":[{"count":3,"href":"https:\/\/vibromera.eu\/it\/wp-json\/wp\/v2\/calculator\/100265\/revisions"}],"predecessor-version":[{"id":102608,"href":"https:\/\/vibromera.eu\/it\/wp-json\/wp\/v2\/calculator\/100265\/revisions\/102608"}],"wp:attachment":[{"href":"https:\/\/vibromera.eu\/it\/wp-json\/wp\/v2\/media?parent=100265"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vibromera.eu\/it\/wp-json\/wp\/v2\/categories?post=100265"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vibromera.eu\/it\/wp-json\/wp\/v2\/tags?post=100265"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}