Parametric Model Steam Engine Generator - Rhino 3D

Help Support HMEM:


Well-Known Member
May 14, 2021
Reaction score
Inland Northwest
Hello all,
I have several steam engine projects that I want to do, but I don't want to re-design everything several times over to get things to scale right. Scaling timing, porting, and throw is never linear either, so it's hard to keep track sometimes.

Below is something I've thrown together over the weekend using Grasshopper, which is a visual programming interface included in Rhino. You can draw your geometry/dots and parametrically manipulate them or you can generate everything in Grasshopper from scratch (as below).


In the above example, changing the bore Ø automatically sets center to center distance between piston bore and valve bore, adjusts wall thickness, drives the stroke length (extrusion distance), and sets valve porting to correct locations. Tapped hole locations can be adjusted by slider.

Setting the system pressure will calculate the force on the piston (just for fun). Eventually, I'd like the bore size to drive crankshaft/cam throw, flywheel size, etc. Nice thing too is if I don't like something, I can manually go in under the hood and make adjustments.

Moar hobbies!

Latest posts