{"id":100039,"date":"2026-02-15T20:07:48","date_gmt":"2026-02-15T20:07:48","guid":{"rendered":"https:\/\/vibromera.eu\/?post_type=calculator&#038;p=100039"},"modified":"2026-07-11T21:19:36","modified_gmt":"2026-07-11T21:19:36","slug":"bolt-pattern-calculator","status":"publish","type":"calculator","link":"https:\/\/vibromera.eu\/et\/calculators\/bolt-pattern-calculator\/","title":{"rendered":"Poldiringi koordinaatide kalkulaator | PCD, XY ja k\u00f5\u00f5l"},"content":{"rendered":"\r\n<script type=\"application\/ld+json\">{\"@context\":\"https:\/\/schema.org\",\"@type\":\"WebApplication\",\"name\":\"Bolt Circle Coordinate Calculator\",\"description\":\"Calculate equal-spacing bolt-circle coordinates, angular spacing and adjacent chord with explicit zero-axis and CW\/CCW conventions.\",\"url\":\"https:\/\/vibromera.eu\/calculators\/bolt-pattern-calculator\/\",\"applicationCategory\":\"Engineering Calculator\",\"operatingSystem\":\"Any\",\"offers\":{\"@type\":\"Offer\",\"price\":\"0\",\"priceCurrency\":\"EUR\"},\"creator\":{\"@type\":\"Organization\",\"name\":\"Vibromera\",\"url\":\"https:\/\/vibromera.eu\/\"},\"dateModified\":\"2026-07-11\",\"inLanguage\":\"en\",\"isAccessibleForFree\":true}<\/script>\r\n\r\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\r\n\r\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\r\n\r\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&#038;family=JetBrains+Mono:wght@400;500;600&#038;family=Fraunces:opsz,wght@9..144,700;9..144,800&#038;display=swap\" rel=\"stylesheet\">\r\n\r\n<style>\r\n:root{--vc-bg:#f4f1ec;--vc-surface:#fff;--vc-surface-alt:#f8f6f2;--vc-ink:#1a1a1a;--vc-ink-secondary:#5a5650;--vc-ink-muted:#8a857e;--vc-accent:#c85a2a;--vc-accent-hover:#b04d22;--vc-accent-light:#fdf0ea;--vc-blue:#2a5c8c;--vc-blue-light:#eaf1f8;--vc-green:#2a7a4b;--vc-green-light:#eaf8ef;--vc-yellow:#a67c00;--vc-yellow-light:#fef9e8;--vc-border:#d9d4cc;--vc-border-light:#e8e4dd;--vc-shadow:0 1px 3px rgba(26,26,26,.06),0 4px 12px rgba(26,26,26,.04);--vc-radius:8px;--vc-radius-lg:12px;--vc-font:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--vc-mono:'JetBrains Mono','Consolas',monospace;--vc-display:'Fraunces',Georgia,serif}\r\n.vc-calculator{font-family:var(--vc-font);font-size:15px;line-height:1.65;color:var(--vc-ink);max-width:960px;margin:0 auto;padding:20px 16px 40px;-webkit-font-smoothing:antialiased}.vc-calculator *,.vc-calculator *::before,.vc-calculator *::after{box-sizing:border-box}\r\n.vc-header{text-align:center;padding:48px 24px 40px;position:relative}.vc-header::after{content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:80px;height:3px;background:var(--vc-accent);border-radius:2px}\r\n.vc-header-eyebrow{font-family:var(--vc-mono);font-size:11px;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--vc-accent);margin:0 0 12px}\r\n.vc-header-title{font-family:var(--vc-display);font-size:clamp(24px,4vw,36px);font-weight:800;line-height:1.15;color:var(--vc-ink);margin:0 0 16px;letter-spacing:-.02em}\r\n.vc-header-subtitle{font-size:15px;color:var(--vc-ink-secondary);margin:0 auto 20px;max-width:620px}\r\n.vc-badges{display:inline-flex;gap:8px;flex-wrap:wrap;justify-content:center}.vc-badge{font-family:var(--vc-mono);font-size:11px;font-weight:500;padding:4px 10px;border-radius:4px;background:var(--vc-surface);border:1px solid var(--vc-border);color:var(--vc-ink-secondary)}\r\n.vc-card{background:var(--vc-surface);border:1px solid var(--vc-border);border-radius:var(--vc-radius-lg);box-shadow:var(--vc-shadow);overflow:hidden;margin-top:32px}\r\n.vc-form{padding:24px}.vc-form-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px}@media(max-width:600px){.vc-form-grid{grid-template-columns:1fr}}\r\n.vc-field{display:flex;flex-direction:column}\r\n.vc-label{font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--vc-ink-secondary);margin-bottom:6px}.vc-label-hint{font-weight:400;text-transform:none;letter-spacing:0;color:var(--vc-ink-muted);font-size:11px}\r\n.vc-input{width:100%;padding:10px 12px;border:1.5px solid var(--vc-border);border-radius:6px;font-family:var(--vc-font);font-size:14px;color:var(--vc-ink);background:var(--vc-surface);transition:border-color .15s,box-shadow .15s}\r\n.vc-input:focus{outline:none;border-color:var(--vc-accent);box-shadow:0 0 0 3px rgba(200,90,42,.12)}\r\n.vc-results{border-top:1px solid var(--vc-border-light);background:var(--vc-surface-alt);padding:0;max-height:0;overflow:hidden;transition:max-height .5s cubic-bezier(.4,0,.2,1),padding .3s}.vc-results.vc-visible{max-height:8000px;padding:24px}\r\n.vc-results-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.vc-results-title{font-family:var(--vc-display);font-size:20px;font-weight:700;color:var(--vc-ink);margin:0}\r\n.vc-copy-btn{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border:1px solid var(--vc-border);border-radius:6px;background:var(--vc-surface);font-family:var(--vc-font);font-size:12px;font-weight:500;color:var(--vc-ink-secondary);cursor:pointer;transition:all .15s}.vc-copy-btn:hover{border-color:var(--vc-accent);color:var(--vc-accent)}.vc-copy-btn.vc-copied{background:var(--vc-green-light);border-color:var(--vc-green);color:var(--vc-green)}\r\n.vc-rcard{background:var(--vc-surface);border:1px solid var(--vc-border-light);border-radius:var(--vc-radius);padding:16px;transition:transform .2s;margin-bottom:12px}.vc-rcard:hover{transform:translateY(-1px)}\r\n.vc-rcard-label{font-family:var(--vc-mono);font-size:10px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--vc-ink-muted);margin-bottom:4px}\r\n.vc-rcard-value{font-family:var(--vc-mono);font-size:20px;font-weight:600;color:var(--vc-ink);line-height:1.2}\r\n.vc-rcard-unit{font-size:14px;font-weight:400;color:var(--vc-ink-secondary)}\r\n.vc-svg-wrap{display:flex;justify-content:center;margin:20px 0;background:var(--vc-surface);border:1px solid var(--vc-border-light);border-radius:var(--vc-radius);padding:16px}\r\n.vc-svg-wrap svg{max-width:100%;height:auto}\r\n.vc-table{width:100%;border-collapse:collapse;margin:14px 0;font-size:13px}.vc-table th,.vc-table td{padding:10px 12px;border:1px solid var(--vc-border-light);text-align:center}.vc-table th{background:var(--vc-surface-alt);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--vc-ink-secondary)}.vc-table tr:nth-child(even){background:var(--vc-surface-alt)}\r\n.vc-section{margin-top:24px;border:1px solid var(--vc-border);border-radius:var(--vc-radius-lg);background:var(--vc-surface);box-shadow:var(--vc-shadow);overflow:hidden}\r\n.vc-section-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border:none;background:transparent;cursor:pointer;font-family:var(--vc-font);text-align:left;transition:background .15s}.vc-section-toggle:hover{background:var(--vc-surface-alt)}\r\n.vc-section-toggle-text{display:flex;align-items:center;gap:10px}.vc-section-icon{font-size:20px;line-height:1}.vc-section-title{font-family:var(--vc-display);font-size:18px;font-weight:700;color:var(--vc-ink);margin:0}\r\n.vc-section-chevron{width:20px;height:20px;color:var(--vc-ink-muted);transition:transform .3s;flex-shrink:0}.vc-section.vc-open .vc-section-chevron{transform:rotate(180deg)}\r\n.vc-section-body{max-height:0;overflow:hidden;transition:max-height .4s cubic-bezier(.4,0,.2,1)}.vc-section.vc-open .vc-section-body{max-height:20000px}\r\n.vc-section-inner{padding:0 24px 24px;border-top:1px solid var(--vc-border-light)}\r\n.vc-theory h3{font-family:var(--vc-display);font-size:17px;font-weight:700;color:var(--vc-ink);margin:28px 0 10px}.vc-theory h3:first-child{margin-top:20px}.vc-theory p{font-size:14px;color:var(--vc-ink-secondary);margin:0 0 10px}\r\n.vc-formula-box{background:var(--vc-surface-alt);border:2px solid var(--vc-border);border-radius:6px;padding:14px 20px;font-family:var(--vc-mono);font-size:15px;font-weight:500;text-align:center;margin:14px 0;color:var(--vc-ink);overflow-x:auto}\r\n.vc-related{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.vc-related-link{display:inline-block;padding:8px 16px;font-family:var(--vc-font);font-size:13px;font-weight:600;background:var(--vc-surface-alt);color:var(--vc-ink-secondary);border:1px solid var(--vc-border);border-radius:var(--vc-radius);text-decoration:none;transition:all .15s}.vc-related-link:hover{border-color:var(--vc-accent);color:var(--vc-accent);background:var(--vc-accent-light)}\r\n.vc-promo{margin-top:24px;padding:20px;background:linear-gradient(135deg,var(--vc-accent-light),var(--vc-surface));border:1px solid var(--vc-border);border-radius:var(--vc-radius-lg);display:flex;align-items:center;gap:16px}.vc-promo-text{flex:1;font-size:14px;color:var(--vc-ink-secondary)}.vc-promo-text strong{color:var(--vc-ink)}.vc-promo-link{padding:8px 20px;font-size:13px;font-weight:700;color:#fff;background:var(--vc-accent);border-radius:var(--vc-radius);text-decoration:none;white-space:nowrap;transition:background .15s}.vc-promo-link:hover{background:var(--vc-accent-hover)}\r\n.vc-footer{text-align:center;padding:32px 16px;font-size:13px;color:var(--vc-ink-muted)}.vc-footer a{color:var(--vc-accent);text-decoration:none}.vc-footer a:hover{text-decoration:underline}.vc-footer-links{margin-top:8px;font-size:12px}.vc-footer-links a{margin:0 8px}\r\n@media print{.vc-section-body{max-height:none!important}.vc-results{max-height:none!important;padding:24px!important}.vc-copy-btn,.vc-section-chevron,.vc-promo{display:none!important}}\r\n<\/style>\r\n\r\n<div class=\"vc-calculator\">\r\n<header class=\"vc-header\"><p class=\"vc-header-eyebrow\">Coordinate Geometry Tool<\/p><h1 class=\"vc-header-title\">Bolt Circle Coordinate Calculator<\/h1><p class=\"vc-header-subtitle\">Calculate equal-spacing hole coordinates and adjacent chord with an explicit zero axis and clockwise\/counter-clockwise angle direction.<\/p><div class=\"vc-badges\"><span class=\"vc-badge\">PCD Geometry<\/span><span class=\"vc-badge\">Explicit XY Convention<\/span><span class=\"vc-badge\">No Flange Selection<\/span><\/div><\/header>\r\n\r\n<div class=\"vc-card\"><form class=\"vc-form\" id=\"vc-form\" autocomplete=\"off\"><div class=\"vc-form-grid\">\r\n<div class=\"vc-field\"><label class=\"vc-label\" for=\"vc-bolts\">Equal hole count N <span class=\"vc-label-hint\">(integer 2\u2013100)<\/span><\/label><input class=\"vc-input\" type=\"text\" id=\"vc-bolts\" inputmode=\"numeric\" value=\"8\"><\/div>\r\n<div class=\"vc-field\"><label class=\"vc-label\" for=\"vc-pcd\">Pitch circle diameter D <span class=\"vc-label-hint\">(mm)<\/span><\/label><input class=\"vc-input\" type=\"text\" id=\"vc-pcd\" inputmode=\"decimal\" value=\"200\"><\/div>\r\n<div class=\"vc-field\"><label class=\"vc-label\" for=\"vc-start-angle\">First-hole angle \u03b8\u2080 <span class=\"vc-label-hint\">(degrees in selected direction)<\/span><\/label><input class=\"vc-input\" type=\"text\" id=\"vc-start-angle\" inputmode=\"decimal\" value=\"0\"><\/div>\r\n<div class=\"vc-field\"><label class=\"vc-label\" for=\"vc-zero-axis\">Zero-angle axis<\/label><select class=\"vc-select\" id=\"vc-zero-axis\"><option value=\"x\" selected>+X (right)<\/option><option value=\"y\">+Y (top)<\/option><\/select><\/div>\r\n<div class=\"vc-field\"><label class=\"vc-label\" for=\"vc-direction\">Positive pattern-angle direction<\/label><select class=\"vc-select\" id=\"vc-direction\"><option value=\"ccw\" selected>Counter-clockwise (CCW)<\/option><option value=\"cw\">Clockwise (CW)<\/option><\/select><\/div>\r\n<\/div><div class=\"vc-warning-box\"><p style=\"margin:0\"><strong>Coordinate check:<\/strong> +X is right and +Y is up in the reported Cartesian table. Confirm the machine\/DRO axis orientation, viewing side, origin and angle direction before machining.<\/p><\/div><\/form>\r\n<div class=\"vc-results\" id=\"vc-results\"><div class=\"vc-results-head\"><h2 class=\"vc-results-title\">Bolt-circle geometry<\/h2><button type=\"button\" class=\"vc-copy-btn\" id=\"vc-copy-btn\">Copy<\/button><\/div><div class=\"vc-result-grid\">\r\n<div class=\"vc-rcard vc-rcard-primary\"><div class=\"vc-rcard-label\">Adjacent centre-to-centre chord<\/div><div class=\"vc-rcard-value\" id=\"vc-r-dist\">\u2014<\/div><\/div>\r\n<div class=\"vc-rcard\"><div class=\"vc-rcard-label\">Radius R<\/div><div class=\"vc-rcard-value\" id=\"vc-r-radius\">\u2014<\/div><\/div><div class=\"vc-rcard\"><div class=\"vc-rcard-label\">Angular spacing<\/div><div class=\"vc-rcard-value\" id=\"vc-r-spacing\">\u2014<\/div><\/div><div class=\"vc-rcard\"><div class=\"vc-rcard-label\">Reported convention<\/div><div class=\"vc-rcard-value\" id=\"vc-r-convention\">\u2014<\/div><\/div><\/div>\r\n<div class=\"vc-svg-wrap\" id=\"vc-svg-wrap\"><\/div><div style=\"overflow-x:auto\"><table class=\"vc-coord-table\"><thead><tr><th>Hole<\/th><th>Pattern angle<\/th><th>X (mm)<\/th><th>Y (mm)<\/th><\/tr><\/thead><tbody id=\"vc-coord-body\"><\/tbody><\/table><\/div><\/div><\/div>\r\n\r\n<div class=\"vc-section vc-open\" id=\"vc-sec-theory\"><button type=\"button\" class=\"vc-section-toggle\" aria-expanded=\"true\"><span class=\"vc-section-toggle-text\"><span class=\"vc-section-icon\">\ud83d\udcd8<\/span><span class=\"vc-section-title\">Geometry, convention &amp; standard boundary<\/span><\/span><\/button><div class=\"vc-section-body\"><div class=\"vc-section-inner vc-theory\">\r\n<h3>Equal angular spacing and chord<\/h3><div class=\"vc-formula-box\">\u0394\u03b8 = 360\u00b0\/N; &nbsp; c = 2R sin(\u03c0\/N) = D sin(\u03c0\/N)<\/div><p>This is the centre-to-centre chord between adjacent equally spaced holes, not edge clearance or ligament. Hole diameter is not an input.<\/p>\r\n<h3>Cartesian coordinates<\/h3><div class=\"vc-formula-box\">\u03b1\u1d62 = \u03b1<sub>axis<\/sub> + q(\u03b8\u2080+i\u00b7360\u00b0\/N); &nbsp; X\u1d62=Xc+R cos \u03b1\u1d62; &nbsp; Y\u1d62=Yc+R sin \u03b1\u1d62<\/div><p>Here \u03b1<sub>axis<\/sub>=0\u00b0 for +X or 90\u00b0 for +Y; q=+1 for CCW or \u22121 for CW. This page reports Xc=Yc=0. Add the verified machine centre offset separately.<\/p>\r\n<h3>Why the convention is an input<\/h3><p>There is no universal statement that bolt-pattern angles increase clockwise. Drawing view, machine coordinates and software conventions differ. The selected zero axis and direction are part of every result and copied output.<\/p>\r\n<h3>EN 1092-1 boundary<\/h3><p><a href=\"https:\/\/knowledge.bsigroup.com\/products\/flanges-and-their-joints-circular-flanges-for-pipes-valves-fittings-and-accessories-pn-designated-steel-flanges-2\" target=\"_blank\" rel=\"noopener\">EN 1092-1:2018<\/a> is current steel-flange context and includes flange types, dimensions, tolerances and bolting. The previous page&#8217;s small \u201cPN16\u201d table mixed incorrect PCD\/count values and has been removed. This calculator does not select a flange from DN\/PN; enter only dimensions taken from the exact licensed standard, supplier drawing or measured part.<\/p>\r\n<div class=\"vc-info-box\"><p><strong>Verification:<\/strong> check every point satisfies \u221a(X\u00b2+Y\u00b2)=D\/2, adjacent chord equals D\u00b7sin(\u03c0\/N), and the closing chord from the last point to the first is identical.<\/p><\/div>\r\n<\/div><\/div><\/div>\r\n\r\n<div class=\"vc-section\"><button type=\"button\" class=\"vc-section-toggle\" aria-expanded=\"false\"><span class=\"vc-section-toggle-text\"><span class=\"vc-section-icon\">\ud83d\udd17<\/span><span class=\"vc-section-title\">Related Calculators<\/span><\/span><svg class=\"vc-section-chevron\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M6 9l6 6 6-6\"\/><\/svg><\/button>\r\n    <div class=\"vc-section-body\"><div class=\"vc-section-inner\"><div class=\"vc-related\"><a class=\"vc-related-link\" href=\"\/calculators\/shim-thickness-calculator\/\">Shim Thickness Calculator<\/a><a class=\"vc-related-link\" href=\"\/calculators\/length-unit-converter\/\">Length Converter<\/a><a class=\"vc-related-link\" href=\"\/calculators\/pipe-support-spacing\/\">Pipe Support Spacing<\/a><\/div><\/div><\/div>\r\n<\/div>\r\n\r\n<div class=\"vc-promo\"><div class=\"vc-promo-text\"><strong>Vibromera \u2014 Portable Balancing &amp; Vibration Analysis<\/strong><br>Professional engineering instruments and calculators.<\/div><a class=\"vc-promo-link\" href=\"https:\/\/vibromera.eu\/\" target=\"_blank\" rel=\"noopener\">Learn More<\/a><\/div>\r\n<footer class=\"vc-footer\"><p>&copy; 2024\u20132026 <a href=\"https:\/\/vibromera.eu\/\">Vibromera<\/a> \u2014 Engineering Calculators<\/p><p style=\"font-size:12px;margin-top:4px\">General Cartesian bolt-circle geometry; no EN flange dimensions are generated. Scientific review: July 2026.<\/p><\/footer>\r\n<\/div>\r\n\r\n<script>(function(){'use strict';function $(id){return document.getElementById(id)}function parseDecimal(raw){var s=String(raw).trim().replace(\/\\s+\/g,'');if(!\/^[+-]?(?:\\d+(?:[.,]\\d*)?|[.,]\\d+)$\/.test(s))return NaN;return Number(s.replace(',','.'))}function parseCount(raw){var s=String(raw).trim();if(!\/^\\d+$\/.test(s))return NaN;var n=Number(s);return Number.isSafeInteger(n)?n:NaN}function fmt(n,d){if(Math.abs(n)<.5*Math.pow(10,-d))n=0;return Number.isFinite(n)?n.toFixed(d).replace(\/(\\.\\d*?)0+$\/,'$1').replace(\/\\.$\/,''):'\u2014'}function norm(a){a%=360;return a<0?a+360:a}\r\nfunction calculate(){var N=parseCount($('vc-bolts').value),D=parseDecimal($('vc-pcd').value),theta0=parseDecimal($('vc-start-angle').value),axis=$('vc-zero-axis').value,dir=$('vc-direction').value;if(!Number.isSafeInteger(N)||N<2||N>100||!Number.isFinite(D)||D<=0||!Number.isFinite(theta0)||!['x','y'].includes(axis)||!['ccw','cw'].includes(dir)){$('vc-results').classList.remove('vc-visible');return}var R=D\/2,spacing=360\/N,chord=D*Math.sin(Math.PI\/N),base=axis==='x'?0:90,sign=dir==='ccw'?1:-1,holes=[];for(var i=0;i<N;i++){var pattern=norm(theta0+i*spacing),alpha=base+sign*(theta0+i*spacing),rad=alpha*Math.PI\/180;holes.push({n:i+1,angle:pattern,x:R*Math.cos(rad),y:R*Math.sin(rad)})}$('vc-r-dist').innerHTML=fmt(chord,6)+' <span class=\"vc-rcard-unit\">mm<\/span>';$('vc-r-radius').innerHTML=fmt(R,6)+' <span class=\"vc-rcard-unit\">mm<\/span>';$('vc-r-spacing').innerHTML=fmt(spacing,6)+'<span class=\"vc-rcard-unit\">\u00b0<\/span>';$('vc-r-convention').innerHTML=(axis==='x'?'+X':'+Y')+' \/ '+dir.toUpperCase();var tb=$('vc-coord-body');tb.innerHTML='';holes.forEach(function(h){tb.innerHTML+='<tr><td><strong>'+h.n+'<\/strong><\/td><td>'+fmt(h.angle,6)+'\u00b0<\/td><td>'+fmt(h.x,6)+'<\/td><td>'+fmt(h.y,6)+'<\/td><\/tr>'});var size=320,margin=40,scale=(size-2*margin)\/D,cx=size\/2,cy=size\/2,svg='<svg width=\"'+size+'\" height=\"'+size+'\" viewBox=\"0 0 '+size+' '+size+'\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><rect width=\"'+size+'\" height=\"'+size+'\" fill=\"#faf8f5\" rx=\"8\"\/><line x1=\"'+margin+'\" y1=\"'+cy+'\" x2=\"'+(size-margin)+'\" y2=\"'+cy+'\" stroke=\"#8a857e\" stroke-width=\".5\"\/><line x1=\"'+cx+'\" y1=\"'+margin+'\" x2=\"'+cx+'\" y2=\"'+(size-margin)+'\" stroke=\"#8a857e\" stroke-width=\".5\"\/><circle cx=\"'+cx+'\" cy=\"'+cy+'\" r=\"'+R*scale+'\" fill=\"none\" stroke=\"#d9d4cc\" stroke-dasharray=\"4,3\"\/>';holes.forEach(function(h){var sx=cx+h.x*scale,sy=cy-h.y*scale;svg+='<circle cx=\"'+sx+'\" cy=\"'+sy+'\" r=\"8\" fill=\"#c85a2a\" stroke=\"#fff\" stroke-width=\"2\"\/><text x=\"'+sx+'\" y=\"'+(sy+1)+'\" text-anchor=\"middle\" dominant-baseline=\"middle\" fill=\"#fff\" font-size=\"9\">'+h.n+'<\/text>'});svg+='<\/svg>';$('vc-svg-wrap').innerHTML=svg;$('vc-results').classList.add('vc-visible');var u=new URL(location);u.searchParams.set('hole_count',N);u.searchParams.set('pitch_circle_diameter',D);u.searchParams.set('start_angle',theta0);u.searchParams.set('zero_axis',axis);u.searchParams.set('angle_direction',dir);history.replaceState(null,'',u.toString())}\r\n$('vc-form').addEventListener('input',calculate);$('vc-form').addEventListener('change',calculate);$('vc-copy-btn').addEventListener('click',function(){var text='Bolt circle coordinates\\nN='+$('vc-bolts').value+'; PCD='+$('vc-pcd').value+' mm\\nConvention: '+$('vc-r-convention').textContent+'; first angle='+$('vc-start-angle').value+'\u00b0\\nAdjacent chord: '+$('vc-r-dist').textContent+'\\nHole\\tAngle\\tX(mm)\\tY(mm)\\n';document.querySelectorAll('#vc-coord-body tr').forEach(function(r){var c=r.cells;text+=c[0].textContent+'\\t'+c[1].textContent+'\\t'+c[2].textContent+'\\t'+c[3].textContent+'\\n'});if(navigator.clipboard)navigator.clipboard.writeText(text)});document.querySelectorAll('.vc-section-toggle').forEach(function(b){b.addEventListener('click',function(){var s=this.closest('.vc-section');s.classList.toggle('vc-open');this.setAttribute('aria-expanded',s.classList.contains('vc-open'))})});function load(){var p=new URLSearchParams(location.search),n=p.get('hole_count'),axis=p.get('zero_axis'),dir=p.get('angle_direction');if(n!==null)$('vc-bolts').value=n;if(p.has('pitch_circle_diameter'))$('vc-pcd').value=p.get('pitch_circle_diameter');if(p.has('start_angle'))$('vc-start-angle').value=p.get('start_angle');if(['x','y'].includes(axis))$('vc-zero-axis').value=axis;if(['ccw','cw'].includes(dir))$('vc-direction').value=dir}function init(){load();calculate()}if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',init);else init()})();<\/script>\r\n","protected":false},"excerpt":{"rendered":"<p>Equal-spacing bolt-circle coordinates and adjacent chord with explicit zero-axis and clockwise\/counter-clockwise conventions.<\/p>","protected":false},"featured_media":0,"template":"","meta":{"ai_generated_summary":"","footnotes":""},"categories":[],"tags":[],"class_list":["post-100039","calculator","type-calculator","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/vibromera.eu\/et\/wp-json\/wp\/v2\/calculator\/100039","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vibromera.eu\/et\/wp-json\/wp\/v2\/calculator"}],"about":[{"href":"https:\/\/vibromera.eu\/et\/wp-json\/wp\/v2\/types\/calculator"}],"version-history":[{"count":2,"href":"https:\/\/vibromera.eu\/et\/wp-json\/wp\/v2\/calculator\/100039\/revisions"}],"predecessor-version":[{"id":102330,"href":"https:\/\/vibromera.eu\/et\/wp-json\/wp\/v2\/calculator\/100039\/revisions\/102330"}],"wp:attachment":[{"href":"https:\/\/vibromera.eu\/et\/wp-json\/wp\/v2\/media?parent=100039"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vibromera.eu\/et\/wp-json\/wp\/v2\/categories?post=100039"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vibromera.eu\/et\/wp-json\/wp\/v2\/tags?post=100039"}],"curies":[{"name":"t\u00f6\u00f6leht","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}