{"id":100235,"date":"2026-02-15T20:29:05","date_gmt":"2026-02-15T20:29:05","guid":{"rendered":"https:\/\/vibromera.eu\/?post_type=calculator&#038;p=100235"},"modified":"2026-07-15T14:24:48","modified_gmt":"2026-07-15T14:24:48","slug":"spindle-unbalance","status":"publish","type":"calculator","link":"https:\/\/vibromera.eu\/he\/calculators\/spindle-unbalance\/","title":{"rendered":"Worksheet \u05e9\u05dc \u05d4\u05d9\u05d7\u05e1 \u05d1\u05d9\u05df \u05d7\u05d5\u05e1\u05e8 \u05d0\u05d9\u05d6\u05d5\u05df \u05e9\u05d0\u05e8\u05d9\u05ea \u05dc\u05d3\u05e8\u05d2\u05d4"},"content":{"rendered":"<div class=\"vbm235\">\n<style>\n.vbm235{--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}.vbm235 *{box-sizing:border-box}.vbm235 h1,.vbm235 h2,.vbm235 h3{line-height:1.2}.vbm235 h1{font-size:clamp(27px,4vw,42px);margin:8px 0 12px}.vbm235 h2{font-size:22px;margin:0 0 16px}.vbm235 p{margin:8px 0}.vbm235 a{color:var(--blue)}.vbm235-header{text-align:center;padding:32px 18px 26px}.vbm235-kicker{color:var(--blue);font-weight:750;text-transform:uppercase;letter-spacing:.11em;font-size:12px}.vbm235-lead{max-width:850px;margin:0 auto!important;color:var(--muted);font-size:17px}.vbm235-badges{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:18px}.vbm235-badge{border:1px solid var(--line);border-radius:999px;padding:5px 10px;background:#fff;font-size:12px;font-weight:700}.vbm235-notice{border-left:4px solid var(--amber);background:var(--amber-bg);padding:14px 16px;border-radius:8px;margin:0 0 20px}.vbm235-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}.vbm235-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.vbm235-field{min-width:0}.vbm235-field.full{grid-column:1\/-1}.vbm235 label{display:block;font-weight:720;margin-bottom:5px}.vbm235-hint{display:block;color:var(--muted);font-weight:400;font-size:12px}.vbm235 input[type=text],.vbm235 textarea{width:100%;min-height:44px;border:1px solid #aebac8;border-radius:8px;background:#fff;color:var(--ink);font:inherit;padding:9px 11px}.vbm235 textarea{min-height:88px;resize:vertical}.vbm235 input:focus,.vbm235 textarea:focus{outline:3px solid rgba(19,92,168,.18);border-color:var(--blue)}.vbm235-checks{display:grid;gap:10px;margin:18px 0}.vbm235-check{display:grid!important;grid-template-columns:auto 1fr;gap:9px;align-items:start;font-weight:500!important}.vbm235-check input{margin-top:4px}.vbm235-actions{display:flex;gap:10px;flex-wrap:wrap}.vbm235 button{border:0;border-radius:9px;padding:11px 17px;font:inherit;font-weight:760;cursor:pointer}.vbm235-primary{background:var(--blue);color:#fff}.vbm235-primary:hover{background:var(--blue2)}.vbm235-secondary{background:#e8eef5;color:var(--ink)}.vbm235-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}.vbm235-error.show{display:block}.vbm235-results{display:none}.vbm235-results.show{display:block}.vbm235-result-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.vbm235-result{border:1px solid var(--line);border-radius:10px;background:var(--soft);padding:13px}.vbm235-result.primary{border-color:#7dacda;background:#eef6ff}.vbm235-result-label{color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.vbm235-result-value{font:700 17px\/1.35 ui-monospace,SFMono-Regular,Consolas,monospace;overflow-wrap:anywhere;margin-top:4px}.vbm235-result.primary .vbm235-result-value{font-size:22px;color:var(--blue2)}.vbm235-status{margin-top:14px;border-left:4px solid var(--green);background:var(--green-bg);padding:12px 14px}.vbm235-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}.vbm235 table{width:100%;border-collapse:collapse;margin:12px 0}.vbm235 th,.vbm235 td{border:1px solid var(--line);padding:9px 10px;text-align:left;vertical-align:top}.vbm235 th{background:#eaf0f6}.vbm235 ul{padding-left:22px}.vbm235 details{border-top:1px solid var(--line);padding:11px 0}.vbm235 summary{cursor:pointer;font-weight:760}.vbm235-small{font-size:13px;color:var(--muted)}\n@media(max-width:700px){.vbm235{padding-left:10px;padding-right:10px}.vbm235-card{padding:16px}.vbm235-grid,.vbm235-result-grid{grid-template-columns:1fr}.vbm235-field.full{grid-column:auto}.vbm235 table{display:block;overflow-x:auto}}\n<\/style>\n<header class=\"vbm235-header\">\n<p class=\"vbm235-kicker\">Controlled grade \u00b7 rigid-rotor relation \u00b7 no automatic acceptance<\/p>\n<h1>Residual-Unbalance Grade Relation Worksheet<\/h1>\n<p class=\"vbm235-lead\">Apply a balance-quality grade that has already been selected and approved for a documented rotor or assembly. The worksheet converts that controlled input into specific and total residual-unbalance magnitudes.<\/p>\n<div class=\"vbm235-badges\"><span class=\"vbm235-badge\">Exact 2\u03c0 relation<\/span><span class=\"vbm235-badge\">Point or comma<\/span><span class=\"vbm235-badge\">No grade presets<\/span><\/div>\n<\/header>\n<div class=\"vbm235-notice\"><strong>Not an ISO acceptance calculator.<\/strong> This page does not select a balance-quality grade, decide whether a spindle\/tool assembly behaves as a rigid rotor, allocate tolerance between correction planes, or determine an actual correction mass and angle. Those decisions require the current licensed standard, the machine\/tool manufacturer specification and a controlled balancing procedure.<\/div>\n<form id=\"vbm235-form\" class=\"vbm235-card\" autocomplete=\"off\" novalidate>\n<h2>Approved inputs and traceability<\/h2>\n<div class=\"vbm235-grid\">\n<div class=\"vbm235-field\"><label for=\"vbm235-mass\">Documented rotor \/ assembly mass m (kg) <span class=\"vbm235-hint\">positive; use the same mass boundary as the approved criterion<\/span><\/label><input id=\"vbm235-mass\" type=\"text\" inputmode=\"decimal\" placeholder=\"e.g. 2\"><\/div>\n<div class=\"vbm235-field\"><label for=\"vbm235-speed\">Maximum service speed n (r\/min) <span class=\"vbm235-hint\">positive; as defined by the controlled criterion<\/span><\/label><input id=\"vbm235-speed\" type=\"text\" inputmode=\"decimal\" placeholder=\"e.g. 24000\"><\/div>\n<div class=\"vbm235-field\"><label for=\"vbm235-grade\">Approved balance-quality grade G (mm\/s) <span class=\"vbm235-hint\">positive value copied from the cited requirement; no preset is inferred<\/span><\/label><input id=\"vbm235-grade\" type=\"text\" inputmode=\"decimal\" placeholder=\"e.g. 2.5\"><\/div>\n<div class=\"vbm235-field\"><label for=\"vbm235-record\">Calculation \/ acceptance record ID<\/label><input id=\"vbm235-record\" type=\"text\" placeholder=\"required\"><\/div>\n<div class=\"vbm235-field\"><label for=\"vbm235-assembly\">Rotor or assembly ID and configuration<\/label><input id=\"vbm235-assembly\" type=\"text\" placeholder=\"required\"><\/div>\n<div class=\"vbm235-field\"><label for=\"vbm235-boundary\">Mass boundary and included components<\/label><input id=\"vbm235-boundary\" type=\"text\" placeholder=\"required\"><\/div>\n<div class=\"vbm235-field\"><label for=\"vbm235-mass-source\">Mass source, method and revision<\/label><input id=\"vbm235-mass-source\" type=\"text\" placeholder=\"required\"><\/div>\n<div class=\"vbm235-field\"><label for=\"vbm235-speed-source\">Maximum-service-speed source and operating configuration<\/label><input id=\"vbm235-speed-source\" type=\"text\" placeholder=\"required\"><\/div>\n<div class=\"vbm235-field\"><label for=\"vbm235-grade-source\">Grade-selection source, edition and exact clause \/ drawing<\/label><input id=\"vbm235-grade-source\" type=\"text\" placeholder=\"required\"><\/div>\n<div class=\"vbm235-field\"><label for=\"vbm235-behaviour\">Rigid-rotor behaviour assessment and evidence<\/label><input id=\"vbm235-behaviour\" type=\"text\" placeholder=\"required\"><\/div>\n<div class=\"vbm235-field\"><label for=\"vbm235-planes\">Correction-plane allocation document<\/label><input id=\"vbm235-planes\" type=\"text\" placeholder=\"required\"><\/div>\n<div class=\"vbm235-field\"><label for=\"vbm235-method\">Measurement \/ balancing procedure and instrument<\/label><input id=\"vbm235-method\" type=\"text\" placeholder=\"required\"><\/div>\n<div class=\"vbm235-field\"><label for=\"vbm235-uncertainty\">Uncertainty, error allowance and reporting precision<\/label><input id=\"vbm235-uncertainty\" type=\"text\" placeholder=\"required\"><\/div>\n<div class=\"vbm235-field\"><label for=\"vbm235-person\">Responsible engineer \/ reviewer<\/label><input id=\"vbm235-person\" type=\"text\" placeholder=\"required\"><\/div>\n<div class=\"vbm235-field\"><label for=\"vbm235-date\">Review date<\/label><input id=\"vbm235-date\" type=\"text\" placeholder=\"YYYY-MM-DD\"><\/div>\n<div class=\"vbm235-field full\"><label for=\"vbm235-notes\">Notes and exclusions <span class=\"vbm235-hint\">Optional: temperature, tooling state, clamping, balancing speed, runout controls, manufacturer limitations<\/span><\/label><textarea id=\"vbm235-notes\"><\/textarea><\/div>\n<\/p><\/div>\n<div class=\"vbm235-checks\">\n  <label class=\"vbm235-check\"><input type=\"checkbox\" id=\"vbm235-c1\"><span>G was selected outside this worksheet from a controlled current requirement applicable to this exact rotor \/ assembly configuration; the worksheet must not choose G from a generic machine-type table.<\/span><\/label><br \/>\n  <label class=\"vbm235-check\"><input type=\"checkbox\" id=\"vbm235-c2\"><span>The rotor-behaviour assessment supports use of a rigid-rotor relation at the documented maximum service speed. Flexible-rotor procedures are outside this worksheet.<\/span><\/label><br \/>\n  <label class=\"vbm235-check\"><input type=\"checkbox\" id=\"vbm235-c3\"><span>The displayed total magnitude has not been allocated to correction planes and is not an actual measured unbalance, correction weight, runout, bearing force or spindle deflection.<\/span><\/label><br \/>\n  <label class=\"vbm235-check\"><input type=\"checkbox\" id=\"vbm235-c4\"><span>Acceptance will use the controlled plane allocation, measurement uncertainty, balancing-error allowance and manufacturer limits\u2014not the displayed arithmetic alone.<\/span><\/label>\n <\/div>\n<div class=\"vbm235-actions\"><button type=\"submit\" class=\"vbm235-primary\">Calculate documented relation<\/button><button type=\"button\" class=\"vbm235-secondary\" id=\"vbm235-clear\">Clear<\/button><\/div>\n<div id=\"vbm235-error\" class=\"vbm235-error\" role=\"alert\"><\/div>\n<\/form>\n<section id=\"vbm235-results\" class=\"vbm235-card vbm235-results\" aria-live=\"polite\">\n<h2>Derived magnitudes<\/h2>\n<div class=\"vbm235-result-grid\">\n<div class=\"vbm235-result\">\n<div class=\"vbm235-result-label\">Angular speed \u03c9<\/div>\n<div class=\"vbm235-result-value\" id=\"vbm235-r-omega\">\u2014<\/div>\n<\/div>\n<div class=\"vbm235-result primary\">\n<div class=\"vbm235-result-label\">Specific residual-unbalance magnitude e<\/div>\n<div class=\"vbm235-result-value\" id=\"vbm235-r-eum\">\u2014<\/div>\n<\/div>\n<div class=\"vbm235-result\">\n<div class=\"vbm235-result-label\">Specific magnitude in millimetres<\/div>\n<div class=\"vbm235-result-value\" id=\"vbm235-r-emm\">\u2014<\/div>\n<\/div>\n<div class=\"vbm235-result primary\">\n<div class=\"vbm235-result-label\">Total residual-unbalance magnitude U<\/div>\n<div class=\"vbm235-result-value\" id=\"vbm235-r-ugmm\">\u2014<\/div>\n<\/div>\n<div class=\"vbm235-result\">\n<div class=\"vbm235-result-label\">Total magnitude in kg\u00b7mm<\/div>\n<div class=\"vbm235-result-value\" id=\"vbm235-r-ukgmm\">\u2014<\/div>\n<\/div>\n<div class=\"vbm235-result\">\n<div class=\"vbm235-result-label\">Controlled input grade<\/div>\n<div class=\"vbm235-result-value\" id=\"vbm235-r-grade\">\u2014<\/div>\n<\/div><\/div>\n<div class=\"vbm235-status\" id=\"vbm235-r-status\"><\/div>\n<\/section>\n<section class=\"vbm235-card\">\n<h2>Formula, units and classification<\/h2>\n<div class=\"vbm235-formula\">\u03c9 = 2\u03c0n \/ 60 &nbsp; [rad\/s]<br \/>e = G \/ \u03c9 &nbsp; [mm]<br \/>e<sub>\u00b5m<\/sub> = 1000G \/ \u03c9 = (30000\/\u03c0)G\/n &nbsp; [\u00b5m = g\u00b7mm\/kg]<br \/>U = m \u00b7 e &nbsp; [kg\u00b7mm] = 1000m \u00b7 e &nbsp; [g\u00b7mm]<\/div>\n<table>\n<thead>\n<tr>\n<th>Symbol<\/th>\n<th>Quantity and unit<\/th>\n<th>Boundary<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>G<\/td>\n<td>approved balance-quality grade in mm\/s<\/td>\n<td>controlled input; this worksheet does not select it<\/td>\n<\/tr>\n<tr>\n<td>n<\/td>\n<td>documented maximum service speed in r\/min<\/td>\n<td>not automatically the balancing-machine speed<\/td>\n<\/tr>\n<tr>\n<td>\u03c9<\/td>\n<td>angular speed in rad\/s<\/td>\n<td>radian is dimensionless in this product<\/td>\n<\/tr>\n<tr>\n<td>e<\/td>\n<td>specific residual-unbalance magnitude, mm; numerically e in \u00b5m equals U\/m in g\u00b7mm\/kg<\/td>\n<td>equivalent mass-eccentricity quantity, not geometric runout<\/td>\n<\/tr>\n<tr>\n<td>m<\/td>\n<td>documented rotor \/ assembly mass in kg<\/td>\n<td>must match the criterion\u2019s component boundary<\/td>\n<\/tr>\n<tr>\n<td>U<\/td>\n<td>total residual-unbalance magnitude in kg\u00b7mm or g\u00b7mm<\/td>\n<td>not allocated between tolerance or correction planes<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>The arithmetic is a dimensional relation derived from the stated definition of grade G; it is not presented as a verified verbatim ISO equation. The exact \u03c0 expression is retained rather than replacing 30000\/\u03c0 by the rounded constants 9549 or 9550.<\/p>\n<\/section>\n<section class=\"vbm235-card\">\n<h2>Model boundary and removed unsupported outputs<\/h2>\n<ul>\n<li><strong>No automatic spindle grade.<\/strong> The former page prescribed G0.4, G1 and G2.5 from generic speed bands and machine labels. Grade selection depends on the controlled rotor\/assembly requirement; no universal spindle\/toolholder preset is defensible.<\/li>\n<li><strong>No unsupported ISO-compliance verdict.<\/strong> ISO 21940-11 covers rigid-rotor procedures, tolerances, correction planes, allocation and balancing errors. Three numeric inputs cannot establish all of those conditions.<\/li>\n<li><strong>No fictitious deflection.<\/strong> The former code divided a derived force by a fixed 20 N\/\u00b5m stiffness. Spindle\/tool dynamic compliance depends on frequency, bearings, joints, clamping, tool overhang and measurement location.<\/li>\n<li><strong>No bearing-load claim.<\/strong> A grade-derived limit is not an actual measured unbalance; bearing reactions additionally depend on unbalance distribution, correction planes, rotor\/support dynamics and speed.<\/li>\n<li><strong>No runout or surface-finish prediction.<\/strong> Equivalent specific residual unbalance is not spindle runout. Surface finish also depends on tool geometry, process forces, dynamics, material and control conditions.<\/li>\n<li><strong>No unused tool diameter or hidden state.<\/strong> Diameter presets, default values, auto-calculation, URL\/local storage, calculation history, clipboard output and dynamic HTML were removed.<\/li>\n<\/ul>\n<\/section>\n<section class=\"vbm235-card\">\n<h2>Source traceability<\/h2>\n<table>\n<thead>\n<tr>\n<th>Claim<\/th>\n<th>Classification<\/th>\n<th>Evidence<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>ISO 21940-11:2016 Edition 1 establishes procedures and unbalance tolerances for rotors with rigid behaviour, including magnitude, correction planes, allocation and balancing-process errors; it excludes flexible-behaviour rotors.<\/td>\n<td>Official ISO status and public scope; exact clauses licensed<\/td>\n<td><a href=\"https:\/\/www.iso.org\/standard\/54074.html\" target=\"_blank\" rel=\"noopener\">ISO 21940-11:2016<\/a><\/td>\n<\/tr>\n<tr>\n<td>Amendment 1:2022 applies to ISO 21940-11:2016 and is published.<\/td>\n<td>Official ISO amendment status<\/td>\n<td><a href=\"https:\/\/www.iso.org\/standard\/78116.html\" target=\"_blank\" rel=\"noopener\">ISO 21940-11:2016\/Amd 1:2022<\/a><\/td>\n<\/tr>\n<tr>\n<td>ISO 21940-2:2017 Edition 1 defines balancing vocabulary and remains current after confirmation in 2022.<\/td>\n<td>Official ISO status and public scope<\/td>\n<td><a href=\"https:\/\/www.iso.org\/standard\/68131.html\" target=\"_blank\" rel=\"noopener\">ISO 21940-2:2017<\/a><\/td>\n<\/tr>\n<tr>\n<td>Published relation G = e<sub>per<\/sub>\u03a9 for permissible specific residual eccentricity and operating angular speed.<\/td>\n<td>Peer-reviewed engineering paper; independent public statement of the relation<\/td>\n<td><a href=\"https:\/\/doi.org\/10.1177\/1687814020987347\" target=\"_blank\" rel=\"noopener\">Li et al., Advances in Mechanical Engineering 13(1), 2021, Eq. 32<\/a><\/td>\n<\/tr>\n<tr>\n<td>Permissible residual unbalance per kg (numerically \u00b5m) varies inversely with maximum service speed along constant G lines; typical rotor categories are illustrative.<\/td>\n<td>Official balancing-machine manufacturer chart; visually inspected<\/td>\n<td><a href=\"https:\/\/hofmann-global.com\/wp-content\/uploads\/Zulaessige_Restunwucht_ISO1940_en.pdf\" target=\"_blank\" rel=\"noopener\">Hofmann, Permissible residual unbalance chart (2018)<\/a><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p class=\"vbm235-small\"><strong>Accessed:<\/strong> 15 July 2026. ISO 21940-11:2016 is published and currently under systematic review, was last confirmed in 2021 and has Amendment 1:2022. Exact grade-selection tables, plane-allocation rules, error allowances and clauses remain <strong>NEEDS_LICENSED_SOURCE<\/strong>; none is reconstructed here.<\/p>\n<\/section>\n<section class=\"vbm235-card\">\n<h2>Reference checks<\/h2>\n<p>For G = 2.5 mm\/s and n = 10,000 r\/min, the exact relation gives e = 2.387324146\u2026 \u00b5m, consistent with the G2.5 line near 2.4 \u00b5m on the published Hofmann logarithmic chart. With m = 1 kg the same case gives U = 2.387324146\u2026 g\u00b7mm. At G = 2.5 mm\/s, m = 2 kg and n = 24,000 r\/min, e = 0.994718394\u2026 \u00b5m and total U = 1.989436789\u2026 g\u00b7mm.<\/p>\n<\/section>\n<section class=\"vbm235-card\">\n<h2>Questions<\/h2>\n<details>\n<summary>Which G grade should a machine-tool spindle use?<\/summary>\n<p>This worksheet deliberately does not answer that. Use the applicable current licensed requirement, the spindle and toolholder manufacturer specifications, the exact assembly configuration and an engineer-approved acceptance plan.<\/p>\n<\/details>\n<details>\n<summary>Is e the spindle runout?<\/summary>\n<p>No. Here e is an equivalent specific residual-unbalance magnitude. Geometric or dynamic runout is a different measured quantity.<\/p>\n<\/details>\n<details>\n<summary>Can total U be divided equally between two planes?<\/summary>\n<p>Not automatically. The permissible total and its allocation to tolerance\/correction planes depend on the controlled rotor geometry, support and procedure. Use the applicable standard and balancing plan.<\/p>\n<\/details>\n<\/section>\n<p><script>\n(function(){'use strict';var form=document.getElementById('vbm235-form'),error=document.getElementById('vbm235-error'),results=document.getElementById('vbm235-results');\nfunction parsePositive(value,label){var s=String(value==null?'':value).trim();if(!\/^[+]?(?:\\d+(?:[.,]\\d*)?|[.,]\\d+)$\/.test(s))throw new Error(label+' must be one positive plain decimal using a point or comma.');var n=Number(s.replace(',','.'));if(!Number.isFinite(n)||n<=0)throw new Error(label+' must be finite and greater than zero.');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(mass,speed,grade){var m=parsePositive(mass,'Rotor \/ assembly mass'),n=parsePositive(speed,'Maximum service speed'),g=parsePositive(grade,'Approved balance-quality grade'),omega=2*Math.PI*n\/60,eMm=g\/omega,eUm=eMm*1000,uKgMm=m*eMm,uGmm=uKgMm*1000;if(![omega,eMm,eUm,uKgMm,uGmm].every(function(x){return Number.isFinite(x)&&x>0}))throw new Error('The derived magnitude is outside the finite numeric range.');return{mass:m,speed:n,grade:g,omega:omega,eMm:eMm,eUm:eUm,uKgMm:uKgMm,uGmm:uGmm}}\nfunction fmt(n){if(!Number.isFinite(n))return'\u2014';return(n>=1e12||n<1e-9?n.toExponential(11):n.toPrecision(12)).replace(\/(\\.\\d*?[1-9])0+(e|$)\/,'$1$2').replace(\/\\.0+(e|$)\/,'$1')}\nfunction setText(id,text){document.getElementById(id).textContent=text}function render(r){setText('vbm235-r-omega',fmt(r.omega)+' rad\/s');setText('vbm235-r-eum',fmt(r.eUm)+' \u00b5m = g\u00b7mm\/kg');setText('vbm235-r-emm',fmt(r.eMm)+' mm');setText('vbm235-r-ugmm',fmt(r.uGmm)+' g\u00b7mm');setText('vbm235-r-ukgmm',fmt(r.uKgMm)+' kg\u00b7mm');setText('vbm235-r-grade','G '+fmt(r.grade)+' mm\/s');setText('vbm235-r-status','Arithmetic relation only. No grade selection, ISO compliance, actual measured unbalance, correction-plane allocation, correction mass\/angle, bearing force, deflection, runout or surface-finish verdict has been generated. Record: '+requiredText('vbm235-record','Calculation \/ acceptance record ID')+'; assembly: '+requiredText('vbm235-assembly','Rotor or assembly ID and configuration')+'.');results.classList.add('show')}\nfunction setError(message){error.textContent=message;error.classList.add('show');results.classList.remove('show')}function clearError(){error.textContent='';error.classList.remove('show')}\nform.addEventListener('submit',function(e){e.preventDefault();clearError();try{['vbm235-record','vbm235-assembly','vbm235-boundary','vbm235-mass-source','vbm235-speed-source','vbm235-grade-source','vbm235-behaviour','vbm235-planes','vbm235-method','vbm235-uncertainty','vbm235-person','vbm235-date'].forEach(function(id){requiredText(id,document.querySelector('label[for=\"'+id+'\"]').textContent.trim())});['vbm235-c1','vbm235-c2','vbm235-c3','vbm235-c4'].forEach(function(id){if(!document.getElementById(id).checked)throw new Error('Confirm all four scope, rotor-behaviour and acceptance statements.')});render(calculate(document.getElementById('vbm235-mass').value,document.getElementById('vbm235-speed').value,document.getElementById('vbm235-grade').value))}catch(ex){setError(ex.message||'Unable to calculate the documented relation.')}});\nform.addEventListener('keydown',function(e){if(e.key==='Enter'&&e.target.tagName!=='TEXTAREA'&&e.target.tagName!=='BUTTON'){e.preventDefault();form.requestSubmit()}});document.getElementById('vbm235-clear').addEventListener('click',function(){form.reset();form.querySelectorAll('input[type=text],textarea').forEach(function(el){el.value=''});results.classList.remove('show');clearError();document.getElementById('vbm235-mass').focus()});form.querySelectorAll('input,textarea').forEach(function(el){el.addEventListener('input',function(){results.classList.remove('show');clearError()});el.addEventListener('change',function(){results.classList.remove('show');clearError()})});\n})();\n<\/script>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Convert a controlled, externally approved balance-quality grade, documented rotor mass and maximum service speed into specific and total residual-unbalance magnitudes\u2014without selecting a grade or claiming automatic ISO acceptance.<\/p>","protected":false},"featured_media":0,"template":"","meta":{"ai_generated_summary":"","footnotes":""},"categories":[],"tags":[],"class_list":["post-100235","calculator","type-calculator","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/vibromera.eu\/he\/wp-json\/wp\/v2\/calculator\/100235","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vibromera.eu\/he\/wp-json\/wp\/v2\/calculator"}],"about":[{"href":"https:\/\/vibromera.eu\/he\/wp-json\/wp\/v2\/types\/calculator"}],"version-history":[{"count":2,"href":"https:\/\/vibromera.eu\/he\/wp-json\/wp\/v2\/calculator\/100235\/revisions"}],"predecessor-version":[{"id":102582,"href":"https:\/\/vibromera.eu\/he\/wp-json\/wp\/v2\/calculator\/100235\/revisions\/102582"}],"wp:attachment":[{"href":"https:\/\/vibromera.eu\/he\/wp-json\/wp\/v2\/media?parent=100235"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vibromera.eu\/he\/wp-json\/wp\/v2\/categories?post=100235"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vibromera.eu\/he\/wp-json\/wp\/v2\/tags?post=100235"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}