Hey! This thing is still a Work in Progress. Files, instructions, and other stuff might change!

Printable rack: Modular, parametric ,for rack&pinion system for Reprap

by ckaos, published

Printable rack: Modular, parametric ,for rack&pinion system for Reprap by ckaos Feb 2, 2011
0 Share
Download This Thing! Customize Order This Printed Tools & Utilities

Thing Info

18101Views 4041Downloads Found in 3D Printer Parts
Report Thing


This is an OpenScad script to generate modular and parametric racks, for a printable rack & pinion system for Reprap 3d printers, as a replacement for belts or threaded rods.
More info here : http://www.kaosat.net/?p=1670
Please note that this is an experimental , work in progress version

Edit 07/01/11:
-Added the herringbone version , in wich you can set the center angle (see schematic), that script can also generate the straight teeth with an angle of 0
-this version is cleaned up and optimized, and much faster to compile so please use this one preferably
-i haven't printed this one yet, and i am not 100% if all is ok

Edit 04/01/11:
-just a short video of a very very basic "platform" movement test : http://www.youtube.com/watch?v=8_KtJL7Gmto
-for testing simplicity, the motor is on top , but would ideally be underneath the platform
-i will try to have the herringbone version finished by next week


Please don't use the attached stl file , as it is just an example, you will need to use the OpenScad (http://www.openscad.org/) script to generate the stl files
For usage instructions please see info in the openscad file
I used this http://www.thingiverse.com/thing:3575 very nice script to generate the pinions

More from 3D Printer Parts

view more

Thing Info

18101Views 4041Downloads Found in 3D Printer Parts
Report Thing

Liked By

View All

Give a Shout Out

If you print this Thing and display it in public proudly give attribution by printing and displaying this tag. Print Thing Tag

All Apps

This App connects Thingiverse with Makeprintable, a cloud-based mesh repair service that analyzes, validates and repairs most common mesh errors that can occur when preparing a 3D design file for p...

App Info Launch App

Kiri:Moto is an integrated cloud-based slicer and tool-path generator for 3D Printing, CAM / CNC and Laser cutting. *** 3D printing mode provides model slicing and GCode output using built-in...

App Info Launch App
KiriMoto Thing App

With 3D Slash, you can edit 3d models like a stonecutter. A unique interface: as fun as a building game! The perfect tool for non-designers and children to create in 3D.

App Info Launch App
Simple rack and pinion code for reusing in other projects
by sasa

First thanks for the scripts-

I got very confused when trying to marry up this rack (http://www.thingiverse.com/thing:6011)http://www.thingiverse.com/thi...
and pinions (http://www.thingiverse.com/thing:3575)http://www.thingiverse.com/thi... and eventually came to the conclusions that
there were errors and bodges in both sets of scripts.

The rack has the "multiplier" bodge (*20) in it. The pinion has a very odd and incorrect definition
of the circular_pitch. Correcting both makes it easy and intuitive to make matching rack and pinions.

(1) the CP in 3575 should be in units of length (ie the distance between teeth defined on the pitch
radius) but in this script it is in units of degrees/radianslength (ie you need to enter a number
bigger than the actual distance you want). Fixing this makes everything a lot easier.

    pitch_diameter  =  number_of_teeth * circular_pitch / pi;
    addendum = cp/pi;
    dedendum = addendum*1.1;
    ... // a few more trivial fixes below

(2) the *20 multiplier bodge in the rack script (6011) - I didn't get to the bottom of this but if the script
is rewritten using the correct CP then it isn't necessary.

module rack(width,thickness,cp,N){
a = 1.0cp/pi; // addendum
d = 1.1
cp/pi; // dedendum
... // more fixes below but you get the idea

Personally I'd drop the diametrial_pitch options - this is much hard to understand than the CP which is
in simple mm/tooth units. Anyone who cares can just use CP=pi/DP.

Printable rack: Modular, parametric ,for rack&pinion system for Reprap
by ckaos
Parametric Involute Bevel and Spur Gears

I have been playing with this one for a few days, trying to figure out how to scale the rack and corresponding gear using the diametralPitch constant. The demo gear module at the bottom defines the circular pitch as a constant 300. In order to scale the corresponding gear properly, you must replace the 300 with (180/diametralPitch*multiplier). The multiplier is defined on the 8th line of the rack module. I chose to define it move it up top with the other constants and pass it to each module from there.

I am trying the rack herringbone scad file and the module demo_gear is calling an undefined module gear.

how do you print gears from the simple and for the herringbone track?

meirm - in reply to meirm

I added on top:


then I was able to print the gear that matches the rack.


where did you put that? i just copy and pasted what you have there and it would not work.

Suppose I want to make rack that is not in a straight line - a ring with teeth facing up, or a ring with teeth facing inward. However, I also want to print it in pieces because the ring is too large for the makerbot. Can your openscad script understand the curvature and break it into appropriately sized segments?

I'm having trouble determining the correct diametral pitch. I've generated a spur gear with the recommended script above but now I can't seem to generate the corresponding rack- maybe you could include an example where you generate both the rack and pinion. Thanks.

Was waiting for this.. (not sure why I missed it)...

Do we know what parameters to put in to make it work with the zillions of Rhys Herringbone extruder gears I've printed?


Damn you :-P I wanted to do this first :-D

Nice job tho ;-) Keep us posted with results

Haha thanks a lot prusajr :)

Well, this is just one of many possible printable rack options !

(big fan of your work on reprap by the way !)


I get this message when running "rack simple.scad" (F5):

Parsing design (AST generation)...
Compiling design (CSG Tree generation)...
Compilation finished.
Compiling design (CSG Products generation)...
ERROR: CSG generation failed! (no top level object found)

Hello Gerard!

My bad, it seems there was a bad character in one of the links at the start of the file, corrected and re-uploaded , should be ok now :)

OK, it's perfect now. Thanks.