This is a tool to generate Mecanum wheels for a wide variety of possible sizes and shapes using OpenSCAD. I'm not sure how to set up the Thingiverse customizer for multiple files, so the easiest way to get started is to download the three SCAD files and change parameters in the wheel parameters file and watch the resulting shapes change in the hub file.
It attempts to create roller shapes so that when the wheel is spinning, the contact surface matches the three-dimensional shape of an arbitrary "virtual wheel" that is formed by rotating a cross-sectional shape around the axle. Slides explaining that idea are included above.
Two objects are generated: a hub shape that holds the rollers and fits onto a keyed motor shaft, and the shape of a single wheel spoke roller piece (1/2 of a roller) for a mecanum wheel.
The roller pieces is created by taking the intersection of a cylinder defining the possible volume of the roller, and intersecting it with the virtual wheel shape. A slice of that intersection is chosen heuristically (i.e. I hardcoded some math/guesswork), and that slice is then rotationally extruded to make the spoke shape.
A few other geometric features, like a bearing spacer and captive nut holder for using a screw as an axle, are then added/cut into the spoke.
Much more sophisticated approaches are possible, but surprisingly, this simplistic approach produced great results for the configurations I tried.
Because of the large number of parameters and the relatively tight constraints of mecanum wheels, it takes some tuning to get something that's mechanically workable. However, it's easy to change values and watch the entire assembly preview change in hub.scad, so the process is not too painful!
To make a set of Mecanum Wheels in the sample size provided here, you'll need to print two of each hub shape and 14 roller halves per wheel, for a total of 56 roller halves.
These were used to make an All-3d-Printed Mecanum Wheel Rover using Parametric Wheels. For a more complete writeup of the project, BOM and assembly process, check out this blog post.
The most current source code for the SCAD objects, LPC1769 firmware, and PC software to drive it with a game controller are on github.
The sample hub and roller included are sized for seven rollers per wheel, and assembly using MR63ZZ bearings and M3 screws. The bearing decision and layout for the sample wheel was inspired by the awesome Mecanum Wheel Rover 2 by Madox.