{"id":100227,"date":"2026-02-15T20:28:23","date_gmt":"2026-02-15T20:28:23","guid":{"rendered":"https:\/\/vibromera.eu\/?post_type=calculator&#038;p=100227"},"modified":"2026-07-15T12:18:43","modified_gmt":"2026-07-15T12:18:43","slug":"shim-thickness-calculator","status":"publish","type":"calculator","link":"https:\/\/vibromera.eu\/bn\/calculators\/shim-thickness-calculator\/","title":{"rendered":"Documented Vertical Foot-Move Geometry Worksheet"},"content":{"rendered":"\n<style>\n.vbm227{--ink:#172235;--muted:#556276;--line:#d8e0e9;--soft:#f4f7fa;--blue:#135ca8;--blue2:#0d447e;--amber:#8a5700;--amber-bg:#fff7df;--red:#a52828;--red-bg:#fff0f0;--green:#17613a;--green-bg:#edf9f1;max-width:1040px;margin:0 auto;padding:18px 14px 44px;color:var(--ink);font:15px\/1.55 system-ui,-apple-system,\"Segoe UI\",sans-serif}.vbm227 *{box-sizing:border-box}.vbm227 h1,.vbm227 h2,.vbm227 h3{line-height:1.2}.vbm227 h1{font-size:clamp(27px,4vw,42px);margin:8px 0 12px}.vbm227 h2{font-size:22px;margin:0 0 16px}.vbm227 h3{font-size:17px;margin:22px 0 8px}.vbm227 p{margin:8px 0}.vbm227 a{color:var(--blue)}.vbm227-header{text-align:center;padding:32px 18px 26px}.vbm227-kicker{color:var(--blue);font-weight:750;text-transform:uppercase;letter-spacing:.11em;font-size:12px}.vbm227-lead{max-width:830px;margin:0 auto!important;color:var(--muted);font-size:17px}.vbm227-badges{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:18px}.vbm227-badge{border:1px solid var(--line);border-radius:999px;padding:5px 10px;background:#fff;font-size:12px;font-weight:700}.vbm227-notice{border-left:4px solid var(--amber);background:var(--amber-bg);padding:14px 16px;border-radius:8px;margin:0 0 20px}.vbm227-card{border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 4px 18px rgba(20,45,75,.07);padding:22px;margin:18px 0}.vbm227-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.vbm227-field{min-width:0}.vbm227-field.full{grid-column:1\/-1}.vbm227 label{display:block;font-weight:720;margin-bottom:5px}.vbm227-hint{display:block;color:var(--muted);font-weight:400;font-size:12px}.vbm227 input[type=text],.vbm227 select,.vbm227 textarea{width:100%;min-height:44px;border:1px solid #aebac8;border-radius:8px;background:#fff;color:var(--ink);font:inherit;padding:9px 11px}.vbm227 textarea{min-height:90px;resize:vertical}.vbm227 input:focus,.vbm227 select:focus,.vbm227 textarea:focus{outline:3px solid rgba(19,92,168,.18);border-color:var(--blue)}.vbm227-inline{display:grid;grid-template-columns:minmax(0,1fr) 125px;gap:8px}.vbm227-checks{display:grid;gap:10px;margin:18px 0}.vbm227-check{display:grid!important;grid-template-columns:auto 1fr;gap:9px;align-items:start;font-weight:500!important}.vbm227-check input{margin-top:4px}.vbm227-actions{display:flex;gap:10px;flex-wrap:wrap}.vbm227 button{border:0;border-radius:9px;padding:11px 17px;font:inherit;font-weight:760;cursor:pointer}.vbm227-primary{background:var(--blue);color:#fff}.vbm227-primary:hover{background:var(--blue2)}.vbm227-secondary{background:#e8eef5;color:var(--ink)}.vbm227-error{display:none;margin-top:14px;padding:11px 13px;border:1px solid #edb5b5;border-radius:8px;background:var(--red-bg);color:var(--red);font-weight:650}.vbm227-error.show{display:block}.vbm227-results{display:none}.vbm227-results.show{display:block}.vbm227-result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.vbm227-result{border:1px solid var(--line);border-radius:10px;background:var(--soft);padding:13px}.vbm227-result.primary{border-color:#7dacda;background:#eef6ff}.vbm227-result-label{color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.vbm227-result-value{font:700 18px\/1.35 ui-monospace,SFMono-Regular,Consolas,monospace;overflow-wrap:anywhere;margin-top:4px}.vbm227-result.primary .vbm227-result-value{font-size:22px;color:var(--blue2)}.vbm227-status{margin-top:14px;border-left:4px solid var(--green);background:var(--green-bg);padding:12px 14px}.vbm227-formula{overflow-x:auto;border:1px solid var(--line);border-radius:9px;background:var(--soft);padding:12px 14px;margin:10px 0;font:600 14px\/1.7 ui-monospace,SFMono-Regular,Consolas,monospace}.vbm227 table{width:100%;border-collapse:collapse;margin:12px 0}.vbm227 th,.vbm227 td{border:1px solid var(--line);padding:9px 10px;text-align:left;vertical-align:top}.vbm227 th{background:#eaf0f6}.vbm227 ul{padding-left:22px}.vbm227 details{border-top:1px solid var(--line);padding:11px 0}.vbm227 summary{cursor:pointer;font-weight:760}.vbm227-small{font-size:13px;color:var(--muted)}\n@media(max-width:700px){.vbm227{padding-left:10px;padding-right:10px}.vbm227-card{padding:16px}.vbm227-grid,.vbm227-result-grid{grid-template-columns:1fr}.vbm227-field.full{grid-column:auto}.vbm227 table{display:block;overflow-x:auto;white-space:normal}.vbm227-inline{grid-template-columns:minmax(0,1fr) 110px}}\n<\/style>\n<main class=\"vbm227\">\n <header class=\"vbm227-header\">\n  <p class=\"vbm227-kicker\">Signed straight-line correction geometry \u00b7 documented alignment solution<\/p>\n  <h1>Documented Vertical Foot-Move Geometry Worksheet<\/h1>\n  <p class=\"vbm227-lead\">Project a controlled signed vertical correction at a reference plane and a controlled correction slope to two signed foot-plane coordinates, while preserving the measurement and installation record.<\/p>\n  <div class=\"vbm227-badges\"><span class=\"vbm227-badge\">+ add \/ elevate<\/span><span class=\"vbm227-badge\">\u2212 remove \/ lower<\/span><span class=\"vbm227-badge\">No automatic shim stack<\/span><\/div>\n <\/header>\n\n <div class=\"vbm227-notice\"><strong>Geometry only\u2014not a complete alignment instruction.<\/strong> Enter required corrections already produced by a validated alignment method, not raw dial\/laser readings. The worksheet does not calculate coupling tolerances, choose stock shims, correct soft foot, model thermal growth or authorize moving a machine. Isolate equipment and follow the controlled work procedure.<\/div>\n\n <form id=\"vbm227-form\" class=\"vbm227-card\" autocomplete=\"off\" novalidate>\n  <h2>Signed correction line and foot coordinates<\/h2>\n  <div class=\"vbm227-grid\">\n   <div class=\"vbm227-field\"><label for=\"vbm227-correction\">Required vertical move at reference plane x = 0<\/label><div class=\"vbm227-inline\"><input id=\"vbm227-correction\" type=\"text\" inputmode=\"decimal\" placeholder=\"e.g. 0.15\"><select id=\"vbm227-cunit\" aria-label=\"Correction unit\"><option value=\"mm\">mm<\/option><option value=\"mil\">mil<\/option><\/select><\/div><span class=\"vbm227-hint\">Signed: positive = elevate\/add; negative = lower\/remove.<\/span><\/div>\n   <div class=\"vbm227-field\"><label for=\"vbm227-slope\">Required correction slope<\/label><div class=\"vbm227-inline\"><input id=\"vbm227-slope\" type=\"text\" inputmode=\"decimal\" placeholder=\"e.g. 0.5\"><select id=\"vbm227-sunit\" aria-label=\"Slope unit\"><option value=\"mm_m\">mm\/m<\/option><option value=\"mil_in\">mil\/in<\/option><\/select><\/div><span class=\"vbm227-hint\">Signed rise along +x. 1 mm\/m = 1 mil\/in = 0.001.<\/span><\/div>\n   <div class=\"vbm227-field\"><label for=\"vbm227-front\">Signed x-coordinate of front foot plane<\/label><div class=\"vbm227-inline\"><input id=\"vbm227-front\" type=\"text\" inputmode=\"decimal\" placeholder=\"e.g. 200\"><select id=\"vbm227-dunit\" aria-label=\"Foot-coordinate unit\"><option value=\"mm\">mm<\/option><option value=\"in\">in<\/option><\/select><\/div><\/div>\n   <div class=\"vbm227-field\"><label for=\"vbm227-rear\">Signed x-coordinate of rear foot plane<\/label><input id=\"vbm227-rear\" type=\"text\" inputmode=\"decimal\" placeholder=\"e.g. 450\"><span class=\"vbm227-hint\">Uses the same coordinate unit and origin as the front foot. The two coordinates must differ.<\/span><\/div>\n\n   <div class=\"vbm227-field\"><label for=\"vbm227-project\">Project \/ machine train<\/label><input id=\"vbm227-project\" type=\"text\" placeholder=\"required\"><\/div>\n   <div class=\"vbm227-field\"><label for=\"vbm227-movable\">Movable and stationary machine identifiers<\/label><input id=\"vbm227-movable\" type=\"text\" placeholder=\"required\"><\/div>\n   <div class=\"vbm227-field\"><label for=\"vbm227-reference\">Reference plane x = 0 \/ coordinate direction<\/label><input id=\"vbm227-reference\" type=\"text\" placeholder=\"required\"><\/div>\n   <div class=\"vbm227-field\"><label for=\"vbm227-method\">Alignment method \/ measurement configuration<\/label><input id=\"vbm227-method\" type=\"text\" placeholder=\"required\"><\/div>\n   <div class=\"vbm227-field\"><label for=\"vbm227-instrument\">Instrument \/ firmware \/ calibration ID<\/label><input id=\"vbm227-instrument\" type=\"text\" placeholder=\"required\"><\/div>\n   <div class=\"vbm227-field\"><label for=\"vbm227-readings\">Source readings \/ solution report ID<\/label><input id=\"vbm227-readings\" type=\"text\" placeholder=\"required\"><\/div>\n   <div class=\"vbm227-field\"><label for=\"vbm227-targets\">Coupling targets \/ sign convention record<\/label><input id=\"vbm227-targets\" type=\"text\" placeholder=\"required\"><\/div>\n   <div class=\"vbm227-field\"><label for=\"vbm227-distances\">Distance survey \/ foot-plane record<\/label><input id=\"vbm227-distances\" type=\"text\" placeholder=\"required\"><\/div>\n   <div class=\"vbm227-field\"><label for=\"vbm227-prealign\">Soft foot \/ runout \/ pipe strain \/ base checks<\/label><input id=\"vbm227-prealign\" type=\"text\" placeholder=\"required\"><\/div>\n   <div class=\"vbm227-field\"><label for=\"vbm227-thermal\">Offline-to-running \/ thermal target basis<\/label><input id=\"vbm227-thermal\" type=\"text\" placeholder=\"required\"><\/div>\n   <div class=\"vbm227-field\"><label for=\"vbm227-holddown\">Hold-down bolt \/ torque \/ sequence procedure<\/label><input id=\"vbm227-holddown\" type=\"text\" placeholder=\"required\"><\/div>\n   <div class=\"vbm227-field\"><label for=\"vbm227-shims\">Available installed shim \/ chock and stack limits<\/label><input id=\"vbm227-shims\" type=\"text\" placeholder=\"required\"><\/div>\n   <div class=\"vbm227-field\"><label for=\"vbm227-acceptance\">Controlled tolerance \/ acceptance source<\/label><input id=\"vbm227-acceptance\" type=\"text\" placeholder=\"required\"><\/div>\n   <div class=\"vbm227-field\"><label for=\"vbm227-prepared\">Prepared \/ reviewed by<\/label><input id=\"vbm227-prepared\" type=\"text\" placeholder=\"required\"><\/div>\n   <div class=\"vbm227-field\"><label for=\"vbm227-date\">Record date<\/label><input id=\"vbm227-date\" type=\"text\" placeholder=\"YYYY-MM-DD\"><\/div>\n   <div class=\"vbm227-field full\"><label for=\"vbm227-notes\">Notes and exclusions <span class=\"vbm227-hint\">Optional: coupling state, bracket sag, backlash, repeatability, pipe connection, foot-specific corrections<\/span><\/label><textarea id=\"vbm227-notes\"><\/textarea><\/div>\n  <\/div>\n  <div class=\"vbm227-checks\">\n   <label class=\"vbm227-check\"><input type=\"checkbox\" id=\"vbm227-c1\"><span>The entered reference-plane move and slope are required machine corrections from a validated alignment solution\u2014not raw face\/rim gaps, offsets or unprocessed sensor readings.<\/span><\/label>\n   <label class=\"vbm227-check\"><input type=\"checkbox\" id=\"vbm227-c2\"><span>Positive vertical move means physically elevate the movable machine at that plane; negative means lower it, subject to the available installed shim\/chock arrangement.<\/span><\/label>\n   <label class=\"vbm227-check\"><input type=\"checkbox\" id=\"vbm227-c3\"><span>Both signed foot coordinates use the documented x = 0 plane and +x direction, and all targets, thermal movement and measurement corrections are already included as required.<\/span><\/label>\n   <label class=\"vbm227-check\"><input type=\"checkbox\" id=\"vbm227-c4\"><span>Soft foot and other pre-alignment conditions will be corrected, equipment will be safely isolated, and final alignment will be remeasured after tightening under the controlled procedure.<\/span><\/label>\n  <\/div>\n  <div class=\"vbm227-actions\"><button type=\"submit\" class=\"vbm227-primary\">Project documented moves<\/button><button type=\"button\" class=\"vbm227-secondary\" id=\"vbm227-clear\">Clear<\/button><\/div>\n  <div id=\"vbm227-error\" class=\"vbm227-error\" role=\"alert\"><\/div>\n <\/form>\n\n <section id=\"vbm227-results\" class=\"vbm227-card vbm227-results\" aria-live=\"polite\">\n  <h2>Ideal straight-line moves<\/h2>\n  <div class=\"vbm227-result-grid\">\n   <div class=\"vbm227-result primary\"><div class=\"vbm227-result-label\">Front foot-plane signed move<\/div><div class=\"vbm227-result-value\" id=\"vbm227-r-front\">\u2014<\/div><\/div>\n   <div class=\"vbm227-result primary\"><div class=\"vbm227-result-label\">Rear foot-plane signed move<\/div><div class=\"vbm227-result-value\" id=\"vbm227-r-rear\">\u2014<\/div><\/div>\n   <div class=\"vbm227-result\"><div class=\"vbm227-result-label\">Rear minus front differential<\/div><div class=\"vbm227-result-value\" id=\"vbm227-r-diff\">\u2014<\/div><\/div>\n   <div class=\"vbm227-result\"><div class=\"vbm227-result-label\">Normalized reference correction<\/div><div class=\"vbm227-result-value\" id=\"vbm227-r-correction\">\u2014<\/div><\/div>\n   <div class=\"vbm227-result\"><div class=\"vbm227-result-label\">Normalized slope<\/div><div class=\"vbm227-result-value\" id=\"vbm227-r-slope\">\u2014<\/div><\/div>\n   <div class=\"vbm227-result\"><div class=\"vbm227-result-label\">Normalized front \/ rear coordinates<\/div><div class=\"vbm227-result-value\" id=\"vbm227-r-coordinates\">\u2014<\/div><\/div>\n  <\/div>\n  <div class=\"vbm227-status\" id=\"vbm227-r-status\"><\/div>\n <\/section>\n\n <section class=\"vbm227-card\">\n  <h2>Equation, units and sign<\/h2>\n  <p>Let the required signed vertical correction line be y(x), with reference move c at x = 0 and signed slope q expressed per 1000 length units:<\/p>\n  <div class=\"vbm227-formula\">y(x) = c + (q \/ 1000) x<br>front move = c + (q \/ 1000) x<sub>F<\/sub><br>rear move = c + (q \/ 1000) x<sub>R<\/sub><\/div>\n  <p>This is an affine straight-line projection, not a shaft-alignment tolerance or an ISO\/ANSI formula claim. Because both 1 mm\/m and 1 mil\/in equal 0.001 as a dimensionless slope, their numerical values are identical. Exact conversions are 1 in = 25.4 mm and 1 mil = 0.0254 mm.<\/p>\n  <p><strong>Output sign is never discarded:<\/strong> positive means add\/elevate; negative means remove\/lower; zero means no ideal vertical move at that plane. The actual foot-specific shim\/chock action can be constrained by existing stacks, soft foot and the approved work method.<\/p>\n <\/section>\n\n <section class=\"vbm227-card\">\n  <h2>Model boundary and removed unsafe logic<\/h2>\n  <ul>\n   <li><strong>No contradictory sign selector.<\/strong> The former page labelled positive coupling offset as \u201cmotor high,\u201d but separately asked add\/remove and then ignored that selector, used absolute values and printed the selected action. A required downward move could therefore be displayed as \u201cadd.\u201d<\/li>\n   <li><strong>No raw face-gap shortcut.<\/strong> The former angle\/D<sub>coupling<\/sub> conversion silently assumed a specific measurement geometry, small-angle interpretation, sign convention and reference plane. Enter the signed correction slope already produced by the controlled alignment solution.<\/li>\n   <li><strong>No automatic shim combination.<\/strong> A greedy list of nominal sizes is not a verified inventory, cannot account for existing stacks or compression\/condition, and could leave an unreported residual. This worksheet reports ideal signed moves only.<\/li>\n   <li><strong>No universal shim-size\/color table or stack rule.<\/strong> Available thicknesses, materials, colour codes, minimum\/maximum stack and chock practice are manufacturer\/site controlled. Exact values are <code>NEEDS_LICENSED_SOURCE<\/code>.<\/li>\n   <li><strong>No unsourced speed-tolerance table.<\/strong> Alignment tolerances depend on coupling\/machine configuration, operating targets and the applicable controlled method. The former generic RPM table and FAQ values were removed.<\/li>\n   <li><strong>No one-coefficient thermal-growth estimate.<\/strong> Offline-to-running movement can involve both machines, supports, piping and measured\/engineered targets. A single steel \u03b1L\u0394T estimate does not establish the required coupling target.<\/li>\n   <li><strong>Pre-alignment conditions matter.<\/strong> Soft foot, runout, pipe strain, bearing clearance, base condition and hold-down response can invalidate a mathematically correct move.<\/li>\n   <li><strong>Remeasure after correction.<\/strong> Calculated ideal moves do not prove achieved alignment. Tightening and machine response can change the result.<\/li>\n  <\/ul>\n <\/section>\n\n <section class=\"vbm227-card\">\n  <h2>Source traceability<\/h2>\n  <table><thead><tr><th>Claim<\/th><th>Classification<\/th><th>Evidence<\/th><\/tr><\/thead><tbody>\n   <tr><td>Shaft-alignment methodology covers measurement, analysis, correction, documentation and mounting conditions for its stated configuration<\/td><td>Current standard scope\/status only; exact formulas\/tolerances licensed<\/td><td><a href=\"https:\/\/webstore.ansi.org\/standards\/asa\/asaansis2752017partr2025\" rel=\"noopener\" target=\"_blank\">ASA\/ANSI S2.75-2017\/Part 1 (R2025)<\/a>; official ASA catalogue lists the 2017 document reaffirmed in 2025<\/td><\/tr>\n   <tr><td>Part 1 scope is flexible-coupled shafts in independent horizontally mounted machine cases; rigid coupling and other configurations require different treatment<\/td><td>Official public abstract\/scope<\/td><td>Same ASA\/ANSI standard record; exact applicability must be checked in the controlled edition<\/td><\/tr>\n   <tr><td>Soft foot should be corrected before alignment; relevant pre-alignment checks include runout, pipe strain, thermal movement and bearing-clearance checks<\/td><td>Official manufacturer application guidance<\/td><td><a href=\"https:\/\/www.acoem.com\/en\/products\/shaft-alignment-tools\/at-010\/\" rel=\"noopener\" target=\"_blank\">Acoem AT-010 pre-alignment guidance<\/a><\/td><\/tr>\n   <tr><td>1 in = 25.4 mm exactly; therefore 1 mil = 0.0254 mm<\/td><td>Exact SI conversion<\/td><td><a href=\"https:\/\/www.nist.gov\/pml\/special-publication-811\/nist-guide-si-appendix-b-conversion-factors\/nist-guide-si-appendix-b8\" rel=\"noopener\" target=\"_blank\">NIST SP 811, Appendix B.8<\/a><\/td><\/tr>\n   <tr><td>y = c + sx and dimensional projection<\/td><td>General analytic geometry; not a standard formula<\/td><td>Direct derivation shown above<\/td><\/tr>\n  <\/tbody><\/table>\n  <p class=\"vbm227-small\"><strong>Accessed:<\/strong> 15 July 2026. Public sources establish scope\/status and pre-alignment factors, not a project tolerance, raw-reading reduction, shim catalogue, stack limit or authorization to move equipment. Worksheet URL: https:\/\/vibromera.eu\/calculators\/shim-thickness-calculator\/<\/p>\n  <h3>Arithmetic reference example<\/h3>\n  <p>For c = +0.15 mm, q = +0.5 mm\/m, x<sub>F<\/sub> = +200 mm and x<sub>R<\/sub> = +450 mm: front = +0.25 mm; rear = +0.375 mm; rear \u2212 front = +0.125 mm. This verifies the signed projection only and is not an alignment tolerance or shim-stack recommendation.<\/p>\n <\/section>\n\n <section class=\"vbm227-card\">\n  <h2>Questions<\/h2>\n  <details><summary>Can I enter a coupling face-gap difference as the slope?<\/summary><p>Not directly unless your controlled measurement method explicitly converts that reading to the same signed correction slope and reference convention. Bracket geometry, diameter, sag, sign and measurement method can change the reduction.<\/p><\/details>\n  <details><summary>Does +0.25 mm always mean add a 0.25 mm shim?<\/summary><p>It means the ideal foot-plane elevation is +0.25 mm. The approved physical action depends on installed shims\/chocks, foot condition, angular soft foot and the work procedure; remeasurement is mandatory.<\/p><\/details>\n  <details><summary>Where are the alignment tolerances?<\/summary><p>No universal table is embedded. Use the exact controlled OEM\/project requirement or applicable ASA\/ANSI S2.75 part and edition for the actual machine\/coupling configuration. Exact criteria remain <code>NEEDS_LICENSED_SOURCE<\/code>.<\/p><\/details>\n  <details><summary>Why are thermal-growth calculations not included?<\/summary><p>Required offline targets depend on relative movement of the complete machine train and supports, not a single generic steel expansion estimate. Enter targets already established by the controlled engineering or measured OLTR method.<\/p><\/details>\n <\/section>\n<\/main>\n<script>\n(function(){\n'use strict';\nvar form=document.getElementById('vbm227-form'),error=document.getElementById('vbm227-error'),results=document.getElementById('vbm227-results');\nfunction parseDecimal(value,label){var s=String(value==null?'':value).trim();if(!\/^[+-]?(?:\\d+(?:[.,]\\d*)?|[.,]\\d+)$\/.test(s))throw new Error(label+' must be one signed plain decimal using a point or comma.');var n=Number(s.replace(',','.'));if(!Number.isFinite(n))throw new Error(label+' is outside the finite numeric range.');return n}\nfunction requiredText(id,label){var value=document.getElementById(id).value.trim();if(!value)throw new Error(label+' is required.');return value}\nfunction calculate(values){if(!['mm','mil'].includes(values.cunit))throw new Error('Select a valid correction unit.');if(!['mm_m','mil_in'].includes(values.sunit))throw new Error('Select a valid slope unit.');if(!['mm','in'].includes(values.dunit))throw new Error('Select a valid foot-coordinate unit.');var c=parseDecimal(values.correction,'Reference-plane correction'),q=parseDecimal(values.slope,'Correction slope'),xf=parseDecimal(values.front,'Front foot coordinate'),xr=parseDecimal(values.rear,'Rear foot coordinate');var cmm=values.cunit==='mm'?c:c*0.0254,factor=values.dunit==='mm'?1:25.4;xf*=factor;xr*=factor;if(xf===xr)throw new Error('Front and rear foot-plane coordinates must differ.');var front=cmm+(q\/1000)*xf,rear=cmm+(q\/1000)*xr,diff=rear-front,out=[cmm,q,xf,xr,front,rear,diff];if(!out.every(Number.isFinite))throw new Error('The foot-move projection is outside the finite numeric range.');return{cmm:cmm,q:q,xf:xf,xr:xr,front:front,rear:rear,diff:diff}}\nfunction fmt(n){if(!Number.isFinite(n))return'\u2014';if(Object.is(n,-0)||n===0)return'0';var a=Math.abs(n);return(a>=1e8||a<1e-6?n.toExponential(7):n.toPrecision(9)).replace(\/(\\.\\d*?[1-9])0+(e|$)\/,'$1$2').replace(\/\\.0+(e|$)\/,'$1')}\nfunction signed(n){return n>0?'+'+fmt(n):fmt(n)}\nfunction signedLength(mm){return signed(mm)+' mm \u00b7 '+signed(mm\/0.0254)+' mil'}\nfunction action(n){return n>0?'add \/ elevate':n<0?'remove \/ lower':'no ideal vertical move'}\nfunction setText(id,text){document.getElementById(id).textContent=text}\nfunction render(r){setText('vbm227-r-front',signedLength(r.front)+' ('+action(r.front)+')');setText('vbm227-r-rear',signedLength(r.rear)+' ('+action(r.rear)+')');setText('vbm227-r-diff',signedLength(r.diff));setText('vbm227-r-correction',signedLength(r.cmm));setText('vbm227-r-slope',signed(r.q)+' mm\/m \u00b7 '+signed(r.q)+' mil\/in \u00b7 '+signed(r.q\/1000)+' mm\/mm');setText('vbm227-r-coordinates',signed(r.xf)+' mm \/ '+signed(r.xr)+' mm');setText('vbm227-r-status','Ideal straight-line projection only. No tolerance, stock-shim combination, soft-foot correction, thermal target or final alignment verdict has been generated. Project: '+requiredText('vbm227-project','Project \/ machine train')+'; movable\/stationary: '+requiredText('vbm227-movable','Movable and stationary machine identifiers')+'.');results.classList.add('show')}\nfunction setError(message){error.textContent=message;error.classList.add('show');results.classList.remove('show')}\nfunction clearError(){error.textContent='';error.classList.remove('show')}\nform.addEventListener('submit',function(e){e.preventDefault();clearError();try{['vbm227-project','vbm227-movable','vbm227-reference','vbm227-method','vbm227-instrument','vbm227-readings','vbm227-targets','vbm227-distances','vbm227-prealign','vbm227-thermal','vbm227-holddown','vbm227-shims','vbm227-acceptance','vbm227-prepared','vbm227-date'].forEach(function(id){requiredText(id,document.querySelector('label[for=\"'+id+'\"]').textContent.trim())});['vbm227-c1','vbm227-c2','vbm227-c3','vbm227-c4'].forEach(function(id){if(!document.getElementById(id).checked)throw new Error('Confirm all four measurement and use statements.')});render(calculate({correction:document.getElementById('vbm227-correction').value,cunit:document.getElementById('vbm227-cunit').value,slope:document.getElementById('vbm227-slope').value,sunit:document.getElementById('vbm227-sunit').value,front:document.getElementById('vbm227-front').value,rear:document.getElementById('vbm227-rear').value,dunit:document.getElementById('vbm227-dunit').value}))}catch(ex){setError(ex.message||'Unable to project the foot moves.')}});\nform.addEventListener('keydown',function(e){if(e.key==='Enter'&&e.target.tagName!=='TEXTAREA'&&e.target.tagName!=='BUTTON'){e.preventDefault();form.requestSubmit()}});\ndocument.getElementById('vbm227-clear').addEventListener('click',function(){form.reset();form.querySelectorAll('input[type=text],textarea').forEach(function(el){el.value=''});results.classList.remove('show');clearError();document.getElementById('vbm227-correction').focus()});form.querySelectorAll('input,select,textarea').forEach(function(el){el.addEventListener('input',function(){results.classList.remove('show');clearError()})});\n})();\n<\/script>\n\n","protected":false},"excerpt":{"rendered":"<p>Project a controlled signed vertical correction and slope to front and rear foot planes without discarding direction or inventing shim stacks and tolerances.<\/p>","protected":false},"featured_media":0,"template":"","meta":{"ai_generated_summary":"","footnotes":""},"categories":[],"tags":[],"class_list":["post-100227","calculator","type-calculator","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/vibromera.eu\/bn\/wp-json\/wp\/v2\/calculator\/100227","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vibromera.eu\/bn\/wp-json\/wp\/v2\/calculator"}],"about":[{"href":"https:\/\/vibromera.eu\/bn\/wp-json\/wp\/v2\/types\/calculator"}],"version-history":[{"count":2,"href":"https:\/\/vibromera.eu\/bn\/wp-json\/wp\/v2\/calculator\/100227\/revisions"}],"predecessor-version":[{"id":102573,"href":"https:\/\/vibromera.eu\/bn\/wp-json\/wp\/v2\/calculator\/100227\/revisions\/102573"}],"wp:attachment":[{"href":"https:\/\/vibromera.eu\/bn\/wp-json\/wp\/v2\/media?parent=100227"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vibromera.eu\/bn\/wp-json\/wp\/v2\/categories?post=100227"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vibromera.eu\/bn\/wp-json\/wp\/v2\/tags?post=100227"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}