import type { EffectiveDiameterInput, EffectiveDiameterResult } from './types.js'; /** * Calculate the effective cutting diameter of a ball end mill at a given depth of cut. * * @formula * Deff = 2 × √(ap × (D − ap)) for ap ≤ D/2 * Deff = D for ap > D/2 (cut reaches the cylindrical shank) * rpmCorrectionFactor = D / Deff * effectiveRpm = (Vc × 1000) / (π × Deff) when cuttingSpeed (Vc) is provided * * The effective diameter determines the actual cutting speed at the depth of cut, * which is smaller than the nominal diameter unless cutting at or beyond the equator. * Multiply the nominal spindle RPM by `rpmCorrectionFactor` to restore the programmed * surface speed at the engaged diameter. * * @reference Sandvik Coromant — Ball nose end mill effective cutting diameter. * * @units toolDiameter, axialDepthOfCut: mm; cuttingSpeed: m/min; effectiveRpm: RPM * @validation toolDiameter > 0; 0 < axialDepthOfCut ≤ toolDiameter; cuttingSpeed > 0 when provided * @throws RangeError when toolDiameter ≤ 0, axialDepthOfCut is outside (0, toolDiameter], or cuttingSpeed ≤ 0 * * @param input - Effective diameter parameters * @returns EffectiveDiameterResult with effective diameter, RPM correction factor, and effective RPM when Vc is given */ export declare function effectiveDiameter(input: EffectiveDiameterInput): EffectiveDiameterResult; //# sourceMappingURL=effectiveDiameter.d.ts.map