I thought this was a finished product other than cleanup of my ugly code.
We should probably GIT this sort of thing and add to the Prusa build.
See OpenScad file for somewhat detailed comments....
1). Measure you ball chain size and link length to get baseline.
(Example 4mm ball w/ 5.3mm links)
2). Change parameters in code, but mainly up your ball size to get decent depth, good grab, and no slippage.
(Example: ball size =4mm, in code is 5mm)
3) get the size and depth correct first cause if you change it later it'll throw off all the rest of your measurements and have to start over.
4) print a pulley (or idler which prints faster and uses less material)
5) Check fit of chain against pulley/idler making sure your depth is good
6) Shorten or lengthen your link length in code to get good fit on chain wrapped all the way around you pulley/idler.
7) Once you have a pulley or idler correctly fit change the code to print the one you are missing. It should be perfect once one is correct.
avoid Hubris by not pronouncing a design done unless it's printed, assembled, and tested on your particular machine. I though I'd be smart and reduce the Pulley ball count to 12 to be small enough to fit through the X stage motor bracket whole without dissembling the pulley from the stepper (that didn't cause it seems like it'll slip easier). Grub screw mount hole needed to be moved to accommodate the getting the short shaft steppers on the steppers I ordered (there is a joke in there somewhere). Luckily it looks like a slight modification of the pulley will fixed it. Getting the short shaft also necessitated a modification on the Y pulley by adding an extension of 11mm? to the code so not to have to completely disassemble the Y motor end of the frame and remove some nuts and washers to get it to align correctly.
8) measure and determine what extension length you need on the Y axis, Grub screw placement for your steppers, then change in code
9) good idea to not have your frame completely together, aligned, bed glued before you realize you need to do a partial disassemble to get your idlers onto the 608 bearings for the Y axis(I knew it was coming when I decided to switch to chain rather than belt but still not looking forward to it). I'm leaving mine off for now to make sure this all works out alright. hate to disassemble twice if I need to switch to belts after all.
10) I picked up one each of 11,10, and 9 numbered drill bits to drill out the pulley to match the stepper shaft with the tightest fit possible... start with the No. 11 (smallest) and worked my way up to the No. 9 (biggest) which is just below 5mm i believe. (also they where $2 each rather than the $6 for the single 5mm bit).
Note: you'll have to change the No. balls at the top of the code (now 15-18 for pulley and 18 for idler), and comment out the pulley and add the idler at the end of the code. New: added boss_extension (0 is standard) and Grub_Screw_Mod(it's called Nut_Div, /2 is normal for centering) code for easy mod of Y axis pulley to align chain with idler AND grub screw placement with good bite on stepper shaft (and clear motor mount frame so you can easily get at set screw).
/ Notes from OpenScad file: my code is pretty hacked up and inelegant but worked well for me, I've added comments and a "wd" tag where ever I've modified the code. I found that though measuring your chain ball size and length between them only works as a baseline. in actuality you have to really enlarge the size to get enough bite in the pulley. once you track this down, move onto lengthening the spacing so the ball chain fits exactly all the way around. for some reason OpenScad couldn't handle fractional spacing beyond the first decimal place (like 5.52) but worked close enough. the ball chain I used was 4.0mm ball with 5.3mm spacing but ended up with 5.0mm ball w 5.5mm spacing in my code. Change the ball size first cause it'll throw off everything else after that and you'll have to start over to get your fit correct.