A comprehensive MATLAB implementation for calculating and generating involute spline parameters according to ISO 4156-1:2021 standard for straight cylindrical involute splines with metric module and side fit.
- Complete ISO 4156-1:2021 Implementation: Accurate calculations for all spline parameters
- Multiple Pressure Angles: Support for 30Β°, 37.5Β°, and 45Β° pressure angles
- Tolerance Classes: Full implementation of tolerance classes 4, 5, 6, and 7
- Root Types: Both flat and fillet root configurations
- Profile Generation: Parametric generation of involute tooth profiles
- Visualisation: Comprehensive plotting of spline profiles and geometry
- Batch Processing: Calculate multiple spline configurations efficiently
Parameter | Range/Options | Default |
---|---|---|
Module (m) | > 0 mm | 2 mm |
Number of Teeth (z) | Integer > 0 | 20 |
Pressure Angle (Ξ±) | 30Β°, 37.5Β°, 45Β° | 30Β° |
Root Type | flat, fillet | flat |
Tolerance Class | 4, 5, 6, 7 | 5 |
Spline Length (b) | > 0 mm | 50 mm |
% Calculate spline with default parameters
splineData = calculateInvoluteSpline();
% Custom spline calculation
splineData = calculateInvoluteSpline('Module', 3, 'TeethCount', 24, ...
'PressureAngle', 37.5, 'ToleranceClass', 6);
% Generate spline profiles with visualisation
[profiles, splineData] = generateSplineProfile('Module', 2.5, 'TeethCount', 16, ...
'PlotProfile', true);
% High-precision spline for aerospace application
[profiles, data] = generateSplineProfile(...
'Module', 1.5, ...
'TeethCount', 32, ...
'PressureAngle', 30, ...
'RootType', 'fillet', ...
'ToleranceClass', 4, ...
'SplineLength', 75, ...
'ProfilePoints', 200, ...
'PlotProfile', true, ...
'Verbose', true);
% Access calculated parameters
fprintf('Pitch Diameter: %.6f mm\n', data.geometry.pitchDiameter);
fprintf('Major Diameter (ext): %.6f to %.6f mm\n', ...
data.diameters.external.majorMin, data.diameters.external.majorMax);
The calculator returns a comprehensive structure containing:
- Module, teeth count, pressure angle, root type
- Tolerance class, spline length, deviations
- Pitch diameter, base diameter
- Circular pitch, base pitch
- Form tooth height
- Tolerance units, total tolerance
- Machining tolerance, deviation allowance
- Pitch, profile, and helix deviations
- Space widths (effective and actual)
- Tooth thickness (effective and actual)
- All critical diameters for internal and external splines
- Ball/pin diameters for measurement
- Over-rollers measurements
- Mechanical Design: Automotive transmissions, aerospace gearboxes
- Manufacturing: CNC programming, inspection planning
- Quality Control: Tolerance verification, measurement setup
- Education: Teaching involute spline geometry and standards
- Research: Spline optimisation and analysis
Core calculation function implementing ISO 4156-1:2021 formulae.
Parameters:
'Module'
- Module in mm'TeethCount'
- Number of teeth'PressureAngle'
- 30, 37.5, or 45 degrees'RootType'
- 'flat' or 'fillet''ToleranceClass'
- 4, 5, 6, or 7'SplineLength'
- Length in mm'ExternalDev'
- External deviation in ΞΌm'FormClearance'
- Form clearance factor'Verbose'
- Display results
Generates parametric involute tooth profiles for visualisation and CAD export.
Additional Parameters:
'ProfilePoints'
- Number of points per curve'PlotProfile'
- Generate plots'ExportDXF'
- Export capability'Filename'
- Base filename
- Implements complete tolerance stack-up per ISO 4156-1:2021
- Considers all geometric deviations (pitch, profile, helix)
- Accurate tolerance unit calculations for different diameter ranges
- Precise involute curve generation
- Proper tooth thickness and space width calculations
- Accurate pressure angle transformations
- Parametric involute curves
- Root fillet modelling
- Complete spline assembly generation
- MATLAB: R2018b or later
- Toolboxes: None required (uses base MATLAB only)
- Memory: Minimal (< 10 MB for typical calculations)
The profile generator creates comprehensive plots including:
- Single tooth profile comparisons
- External and internal spline details
- Complete spline assemblies
- Reference circles (pitch, base, major)
- Dimensional annotations
% Typical automotive application
data = calculateInvoluteSpline('Module', 2.5, 'TeethCount', 23, ...
'PressureAngle', 30, 'ToleranceClass', 6, ...
'SplineLength', 60);
% High-precision aerospace application
[profiles, data] = generateSplineProfile('Module', 1.0, 'TeethCount', 48, ...
'PressureAngle', 37.5, 'RootType', 'fillet', ...
'ToleranceClass', 4, 'ProfilePoints', 300);
% Heavy-duty industrial application
data = calculateInvoluteSpline('Module', 6, 'TeethCount', 16, ...
'PressureAngle', 45, 'ToleranceClass', 7, ...
'SplineLength', 120);
The implementation has been validated against:
- ISO 4156-1:2021 worked examples
- Commercial spline calculation software
- Physical measurement data
- Finite element analysis results
- ISO 4156-1:2021 - Straight cylindrical involute splines β Metric module, side fit β Part 1: Generalities
- ISO 4156-2:2021 - Part 2: Dimensions
- ISO 4156-3:2021 - Part 3: Inspection
- Dudley, D.W. "Handbook of Practical Gear Design"
- Radzevich, S.P. "Dudley's Handbook of Practical Gear Design and Manufacture"
Contributions are welcome! Please feel free to submit issues, feature requests, or pull requests.
- Follow MATLAB coding standards
- Include comprehensive documentation
- Add test cases for new features
- Validate against ISO standards
This project is licenced under the MIT Licence - see the LICENCE file for details.
Adil Wahab Bhatti
- ISO Technical Committee TC 96 for the comprehensive standard
- MATLAB community for optimisation suggestions
- Industry colleagues for validation and testing
- Complete rewrite with modular architecture
- Added parametric profile generation
- Comprehensive visualisation features
- Full ISO 4156-1:2021 compliance
- Enhanced error handling and validation
- Initial implementation
- Basic calculation functionality
- Command-line interface
Note: This calculator implements the ISO 4156-1:2021 standard for educational and engineering purposes. Always verify critical calculations with official standards and consult qualified engineers for production applications.