Modeling a Bicycle Wheel in Grasshopper & Rhino


Believe it or not, this is a bicycle wheel (click on the image for a high-res version)

Things have been a bit slow at work lately, so I decided to expand on my 3D modelling skills and teach myself the intricacies of Grasshopper, a parametric/generative modelling plugin for Rhino which is a NURBS modelling program used extensively in architecture (my field) as well as jewelry and boat design.  Essentially, Grasshopper is a visual programming infrastructure that allows one to easily modify a design through parametric relationships.

The wheel that I have modeled here is based on a Phil Wood (natch) high-flange front track hub laced radially to a Velocity Deep-V.  I suppose I should have chosen a Mavic Open Pro if I really wanted to mash-up the old school bike standards with new school technology, but alas.

The image of the definition above represents a wheel that is 99% parametric: other than the profile of the rim (which I drew based on an image from Velocity’s website) everything else about the wheel is easily modifiable with sliders.  The spoke count, spoke thickness, flange height, flange width, hub width, wheel size and tire size are all variable.

Wheel With 32 Spokes


Wheel With 48 Spokes

I’m pretty sure that I have messed up the lacing a little bit, as I think that the holes on the left and right side of the hub would be offset from each other to ensure that the spokes are truly radial, but it’s really close right now.  I’m not very good with data structures, so I know that there is a much easier way to create a Grasshopper definition without so much repeating of commands.  I will be further refining this and will hopefully attempt to model other components of a bicycle until I’ve got the whole thing.  If you’re interested in the Grasshopper file, hit me up in the comments and I’ll figure out a way to post it for people to use and modify.

April 2012
« Feb   May »

really great…i would like to have the grasshopper file, thanks…

Hi, this model is great! I am looking for a bicycle model for a bicycle pavilion I am creating in my Architecture modelling class.
Would you be able to email me the rhino file of the bike (non-rendered is fine)

Here is a link to the Rhino file:
and here is a link to the Grasshopper definition:

You will need to load both to get it to work, as the rhino file really only has the profile of the rim in it.

Yes, the hub spoke holes should be offset.

Can you do finite-element analysis? Please see my review of Jobst Brandt’s book at

I don’t have any experience with FEA, but I see no reason that someone who is couldn’t use this to generate various wheel designs and then do an analysis on that geometry.

Also, I inadvertently posted the wrong link to the grasshopper definition, it is:

Hi I managed to download the grasshopper file fine but the rhino file doesn’t seem to work. could you possible upload another link??

Hey There Jonathan,

I’m David, I’ve been researching visual programming since I graduated in Architecture, and these days I started trying to model a Bike Wheel in grasshopper, and I’m pretty interested in taking a look on your work. Unfortunately the dropbox link is unavailable, are you able to share it again?

Congrats, the work looks neat.

Sorry about all the old links that have expired.
Here are new links to a Grasshopper definition and a Rhino file.!AgKMyRlJ0UE4nE3vviyDu4szdcJe!AgKMyRlJ0UE4nE9abK-64JmfxKdY