AI Decision System
Replayable, offline-verifiable records for AI-assisted go/no-go decisions: experiment promotions, typed model answers and human-approved actions.
Alberi, ruote dentate, cinghie sincrone, accoppiamenti ISO, strutture FEM e collegamenti bullonati: dimensionamento di massima con i metodi della Costruzione di Macchine, relazione di calcolo con tutt
Translation pending
Developer toolsJavaScript · HTMLGitHub @Luigi-FrassiOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Preliminary sizing of shafts, gears, timing belts and ISO fits with classic machine design methods (Goodman, Hertz, Lewis, ISO 286), with printable calculation reports: formulas with substituted values, diagrams and dimensions for CAD.
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
Quick preliminary sizing of mechanical transmissions and fits: from the requirements to the first dimensions for your CAD.
Free, ad-free, runs entirely in the browser.Read the full README ↗Quick preliminary sizing of mechanical transmissions and fits: from the requirements to the first dimensions for your CAD.
Free, ad-free, runs entirely in the browser.
Home • Open the calculator • Report an Issue
Torsio Engineering (formerly MechCalc) is an open-source web application for preliminary sizing (dimensionamento di massima). It is meant for whoever has to design a gear pair, a belt drive or a shaft-hub fit from scratch and does not know where to start: enter the requirements (power, speed, ratio, center distance, diameter) and get first-attempt dimensions — module and number of teeth, face width, pitch diameters, belt length, tolerance limits — ready to be drawn in CAD and then refined.
It automates the repetitive, iterative hand calculations of machine design, shows the geometry with live SVG sketches and includes 1-click demo presets.
Solves the full gear pair synthesis problem with strict mounting constraints:
The three steps of the classic method, in three tabs:
Draw the structure on a snapped grid (drag to create a member, click to cycle the support of a node, to add a force or a distributed load, to put a hinge at a member end); the tables below hold the exact coordinates and loads.
Load fully calculated engineering cases with a single click:
| Preset Name | Description | Key Specs |
|---|---|---|
| Helical Gearbox | Industrial reduction with locked center distance | $50\text{ kW}$, $i = 182\text{ mm}$, optimal $(z_1=19, z_2=78)$ |
| Spur Gear Pair | Standard industrial motor reduction | $5.5\text{ kW}$, $1450\text{ rpm}$, ratio $1:2$ |
| Bearing Fit | Precision shaft-to-bearing tolerance | $\varnothing 30\text{ mm}$ (H7/k6) |
| Reducer Shaft | Intermediate shaft of a spur-gear reducer (exam problem): beam, critical section, design | $30\text{ kW}$, $200\text{ rpm}$, $M_f = 1887\text{ N·m}$ at the bearing → $\varnothing 65$ |
Every calculation is kept in the page address (module, inputs, modes, language, units, selected optimizer row), so the URL can be bookmarked or sent as it is. The Share button copies it (on phones it opens the system share sheet). Only values that differ from the defaults are written, e.g.:
https://torsio.app/app.html?m=fits&nominalDiameter=30&fitType=H7%2Fk6
Old links to the root (/?m=...) are forwarded to the calculator. The home page links can also open a demo: app.html?demo=transmission.
torsio-engineering/
├── index.html # Home page (static, no framework)
├── app.html # Calculator: UI shell, demo presets, translations
├── modules/
│ ├── core/ # Analytical engines: pure functions, no DOM access
│ │ ├── fits-core.js # ISO 286 tolerance tables, fit analysis, reverse lookup
│ │ ├── belts-core.js # Synchronous timing belt sizing logic
│ │ ├── gears-core.js # Hertz/Lewis synthesis, tooth optimizer, W_max rating
│ │ ├── shafts-core.js # Shaft fatigue design: Kt, q, b1, b2, Goodman, bearing bores
│ │ ├── frames-core.js # 2D frame/truss FEM, section catalogs, FSD sizing with buckling
│ │ ├── dxf-core.js # DXF R12 writer, title block, shaft profile proposal, UNI 6604 keys
│ │ └── bolts-core.js # Bolted joints: friction joints, tightening torque, external load, power screws
│ └── ui/ # Read inputs, call the core, render results and SVG
│ ├── fits-ui.js
│ ├── belts-ui.js
│ ├── gears-ui.js
│ ├── shafts-ui.js
│ ├── frames-ui.js # Structures editor (SVG drawing, tables, results)
│ ├── report-frames.js # Calculation report of the Structures module
│ ├── project.js # Project data, project files, title block data
│ ├── dxf-ui.js # DXF export of every module, shaft profile editor
│ ├── bolts-ui.js # Bolted joints module (three tabs, tightening diagram)
│ ├── report-bolts.js # Calculation report of the bolted joints
│ ├── report.js # Calculation reports of each module (A4, KaTeX)
│ ├── report-transmission.js # Complete transmission report: power flow + chapters
│ ├── report-pdf.js # "Download PDF": A4 pages drawn in the browser, no server
│ ├── validate.js # Input rules of every field: invalid values marked, no verdict on them
│ └── share.js # Shareable links: state <-> URL
├── vendor/ # KaTeX and html2canvas (MIT), compiled Tailwind CSS, brand mark
├── tailwind.config.js # Palette and theme of the calculator; tools/build-css.sh compiles vendor/tailwind/app.css
├── tests/
│ ├── validation.test.js # Core vs. worked exam problems (node, no dependencies)
│ ├── browser_test.py # Share links & form behaviour in headless Chromium (Playwright)
│ └── css_check.py # Compiled CSS up to date and covering every class used at run time
└── README.md # Documentation
Each ui/*.js file depends on the matching core/*.js file, so app.html loads the core first.
<script> files, no bundler) & HTML5sh tools/build-css.sh with the Tailwind standalone CLI after changing classes; tests/css_check.py tells when it is needed)A Continue with these results bar at the bottom of each module carries its results into the next one: timing belt → gears (driven speed and power), gears → pinion or wheel shaft (power, speed, pitch diameter, helix), shaft → ISO fit (diameter) and → bolted flange coupling (torque), frames → bolts at each support (shear |Rx|, uplift −Ry). The target fields are filled in and highlighted, and a banner says where the data came from and what still has to be checked.
metodo.html (IT/EN) states, module by module, the method, the key formulas, the sources, how many automatic cases check it and where it stops.
novita.html lists the changes version by version, privacy.html says what data the site handles (calculations stay in the browser, cookieless statistics, the Tally form only on request), 404.html is the page for wrong addresses. Fonts (Archivo, IBM Plex Mono, OFL) are served from vendor/fonts, so no page calls Google. Landing pages for search, one per module in English and Italian (/shaft-calculator/, /bolted-joint-calculator/, /frame-truss-calculator/, /it/dimensionamento-albero/, /it/calcolo-bulloni/, /it/calcolo-telaio-traliccio/), are generated by python3 tools/mkguides.py: method, formulas, a worked exam example with the calculator's numbers, limits, FAQ. app.html without a module opens on a start screen with the six stations (modules/ui/start.js).
Shafts can start from a table of quenched and tempered steels (EN 10083-2/-3, +QT, by diameter range: σR = Rm min, σs = Re min, σLF ≈ 0.5·Rm min as an estimate).
.torsio.json): the inputs of all five modules plus the project data, saved and reopened in one click; the file name carries job number, project and revision.Complete transmission report: the Report menu can also join several modules in one document. Chapter 1 shows the power flow (motor → belt → gears → shaft → fits) with speed, power and torque of each stage and checks the modules against each other: belt output speed vs. pinion speed, power along the chain, which gear the shaft carries, whether the gear rim under the teeth is thick enough to be keyed on the shaft (≥ 2.5·m, otherwise the pinion is made integral with the shaft), and whether the fit diameter matches the shaft. Then one chapter per module, numbered 2.1, 2.2, … The Complete drive (7.5 kW) demo builds a linked example: motor 7.5 kW at 1450 rpm, HTD 8M belt 28/56, spur pair τ = 1/4 and the pinion shaft.
The Report of this module entry opens a printable A4 calculation report of the active module, saved as PDF from the browser's print dialog. Every report has the design data, the procedure with the formulas and the substituted values, the results with VERIFIED / NOT VERIFIED, the diagrams, the dimensions for CAD (or the drawing callouts), the assumptions and a link that reopens the calculation. Gears: Hertz design of module and face width (or the power capacity of an existing pair), Lewis check, helical factors, optimizer table, tip and root diameters. Belts: pulleys, pitch length and exact centre distance, teeth in mesh, width, ordering designation. Fits: deviations, limit sizes, clearances, machining and roughness, comparison of the H7 fits, drawing callouts. Shafts: design data, shaft layout and gear forces with the force previews, reactions and bearings, V / H / resultant / torque diagrams, critical and real sections, the section design or check with every formula and substituted value, Goodman diagram and sketch, life and maximum load, the dimensions to take into CAD, assumptions, and a link that reopens the same calculation. It is generated entirely in the browser; formulas are typeset (real fractions, roots, subscripts) with KaTeX (MIT), bundled in vendor/katex and loaded only when a report is opened.
The gear module is checked against worked exam problems of the course Costruzione di Macchine (exam papers 2018–2022, solved by hand): spur and helical $W_{\max}$, Hertz face-width factor $\phi$ in design mode, Lewis stresses and the helical correction factors read from the chart.
| Check | Cases | Max deviation |
|---|---|---|
| Hertz, spur gears ($W_{\max}$, $M_{\max}$, $\phi$, $L$, $F_c$) | 9 | 0.7 % |
| Hertz, helical gears ($W_{\max}$ / capacity at the designed face width) | 3 | 1.0 % |
| Lewis bending stress $\sigma_L$, spur and helical (same $y$ as the hand solution) | 5 | 0.7 % |
| Lewis factor $y$ vs. values read by eye from the chart | 5 | 0.021 |
| Helical factors $\Phi$, $\Gamma_t$, $\Psi$ vs. values read by eye from the chart | 11 | 0.02 |
| Shafts: design diameter and safety factors vs. the official solution (exam of 11 April 2003) | 5 | 1.2 % |
| Shafts, beam model: gear forces, reactions, bending moments, bearing $C$ vs. the official and the hand solution | 17 | 0.7 % (1.3 % on a hand-rounded value) |
| Shafts: $K_t$, $q$, $b_1$, $b_2$ vs. values read by eye from the charts | 7 | 0.09 on $K_t$, 0.015 otherwise |
| Shafts, exam of 9 December 2002 (hand solution): beam moments, critical section, shoulder + keyway design ($d$ = 61 mm) | 11 | 1.4 % |
| Shafts, 11 more exams 2004–2023 (hand solutions): beams with overhangs, idler gears and levers, design, maximum torque / power / load, bearings | 198 | 0.5 % with the same coefficients as the hand solution |
| Structures (FEM): closed-form beams (simply supported, fixed-fixed, propped cantilever, continuous, cantilever, Gerber), portal equilibrium | 10 | exact |
| Structures: radio tower of Luigi's notebook — initial stress 132.62 MPa, FSD weight 284.96 kg in 27 iterations; FSD with buckling vs. the notebook's gradient result | 7 | 0.01 % (1.2 % vs. the gradient) |
The factor deviations are reading errors of the hand solutions (e.g. $y$ = 0.32 read for $z$ = 18, where the chart gives 0.341; $K_t$ = 2.5 read where the course formula gives 2.41). For the shoulder $K_t$ the tool uses the course formula $B,(r/d)^a$; checked against the digitized course chart it stays within ±3 %, while values read by eye in the hand solutions differ by up to +14 %. Every other gap in the shaft exams is a hand slip (documented in the test notes). The official shaft solution writes $X$ = 1.91 for the fatigue check, but that value leaves out the torsion term of the Goodman line: with it, the same coefficients give $X$ = 1.82 (still above the required 1.75). Run the suite (no dependencies) with:
node tests/validation.test.js
No dependencies, package managers, or build steps required:
# Clone the repository
git clone https://github.com/Luigi-Frassi/torsio-engineering.git
# Enter project directory
cd torsio-engineering
# Run using Python 3 built-in server
python3 -m http.server 8000
Then visit http://localhost:8000 in your web browser.
?m=gears), so your inputs are not recorded.This project is open-source and distributed under the MIT License.
| Structures: IPE 200 / IPE 300 / HEA 200 properties vs. catalog | 8 | 0.3 % |
| Bolted joints: exams of 24/2/2005 (HE120 splice) and 2/2/2021 (flanged coupling, with compression), flanges 16 × M14 at 105 N·m, tank cover, vise of 2/2/2015 | 30 | 0.2 % (2 % where the hand solution rounds the thread factor) |