:) maybe i'll work on drawing a triangle while this confused screen drawing would be really useful for that gear prototype oh hey!!!! i am confused and is different thread but i 3d printed a gear that works! i also reviewed the gear code more!! it's so interesting and funny-hard so first i tried 3d printing a bunch of gears from that parametric lib (also if websearching there are a lot of other parametric gear bearings turning up sometimes, websearching is so weird) i printed one using the default settings but it was all bonded up like my gear!! it wouldn't turn even with days of trying to work it. i then printed a grid of smaller ones with looser tolerances, but they all fell apart. still this was better than them binding! it shows other things are possible! then i tried configuring it to be similar to the gear that works that doesn't have design available. i had guessed the pressure angle to 53 degrees and set that. i roughed the sizes as 40 mm wide and 15 mm tall and set those. then i printed an array of different tolerances and sizes (because 40 mm is huge for testprints). sadly this newer print also failed, but it seemed to relate to the 3d printer. the first layer would get pull off the bed a little bit in spots, then get knocked by the printer head and start spaghetting. i asked the library techs but they didn't seem to know too much about the more exotic things [confusion-causation-building here it kept doing it in the same area over and over. so i tried again a week or so later. i had reviewed the parametric code a little and i thought i found a bug with setting the width of the ring. the area pulling up was at the ring. it was really skinny, not much space for bed adhesion. so i changed the line of code that i didn't understand to something i did understand, and made the ring 5 mm wide (instead of shrinking to 0.9*D/(1+tooth_depth) i did (D - ring_width)*(1-tooth_depth) .. kind of roughly, something along those lines). additionally because a week had passed they had likely retuned the printer since they get a lot of use in that library (a lot of libraries they sit unused!) and this time it printed and spun! so now as of (yesterday? day before? yesterday. it printed overnight.) i have a parametic gear bearing that spins! _but not with my code yet_. but in studying the code my code is really similar to their code. i think the problem is mostly that i used 0.10 mm tolerance and a crummy 3d printer. it seems to need 0.125mm tolerance to not bind (although smaller gears seem able to take more tolerance, maybe because less of the tooth point is sliced?) and is even smoother with 0.15mm tolerance. there were two or three major differences between the openscad parametric code and mine: - the openscad code makes more approximations. it approximates the involute curve as a 5-line polygon, and it approximates the tooth curve as a right triangle at the pressure angle when doing other arithmetic. - the openscad code decides the tooth bounds based on min and max radius rather than angle (the calculation is pretty simple, it uses the distance formula) - the openscad code does tolerances from the tooth edge with a backlash angle calculated based on the pressure point and making the right triangle approximation i think that last item, the backlash, is most likely to make my gears bind. but there's also so much existing gear stuff ! the openscad BOSL2 library has exhaustive documentation on all their gear variants at https://github.com/BelfrySCAD/BOSL2/wiki/gears.scad . It describes all the different parts and properties of normal gears for openscad programmers. Of course when I daydream a weird new parametric gear, I'm not sure how to use openscad to do that, but maybe I should learn. That website is so cool (for gears) !