# puma / holder.scad

 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54``` ```/* * Hole pattern is * 28.2x28.2, radius 40 * * L * X X * * * X X * * To prevent torque from twisting the tool it has two holes. * To allow for longer reach, there is an extra cylinder extension. */ render() difference() { cylinder(r=25, h=3); for (i=[0:3]) { rotate([0,0,90*i+45]) translate([0,20.1,-1]) cylinder(r=5/2, h=7, \$fs=1); } rotate([0,0,0]) translate([0,21,-1]) cylinder(r=6/2, h=7, \$fs=1); } render() difference() { cylinder(r1=12, r2=12, h=100); translate([0,0,90]) rotate([0,90,0]) cylinder(r=8/2, h=42, center=true, \$fs=1); translate([0,0,70]) rotate([0,90,0]) cylinder(r=8/2, h=42, center=true, \$fs=1); } render() difference() { union() { translate([-8,0,22]) rotate([0,15,0]) cube([20,5,50], center=true); rotate([0,0,90]) translate([-8,0,22]) rotate([0,15,0]) cube([20,5,50], center=true); } translate([0,0,-25]) cube([50,50,50], center=true); } /* //translate([0,0,8]) rotate([0,90,0]) { //render() difference() { union() { translate([4,0,0]) cube([8,6*2,40], center=true); cylinder(r=6, h=40, center=true); } //cylinder(r=8/2, h=42, center=true, \$fs=1); //} //} */ ```
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.