38 lines
No EOL
969 B
OpenSCAD
38 lines
No EOL
969 B
OpenSCAD
cyl_d = 10;
|
|
cyl_h = 15;
|
|
cyl_hole_d = 4;
|
|
|
|
sphere_r = 7;
|
|
|
|
slit_width = 1;
|
|
|
|
difference() {
|
|
cylinder(d=cyl_d, h=cyl_h, center=true);
|
|
cylinder(d=cyl_hole_d, h=cyl_h+0.1, center=true, $fn=20);
|
|
translate([0,-cyl_d/2,0]) cube([slit_width,cyl_d,cyl_h+ 0.1], center=true);
|
|
// translate([0,0,-cyl_h/2 - sphere_r/3]) sphere(sphere_r, $fn=8);
|
|
}
|
|
|
|
g_r = 15;
|
|
g_h = 2.5;
|
|
g_t = 4;
|
|
g_l = 10;
|
|
|
|
for (i = [0,180]) {
|
|
rotate([0,0,i]) translate([g_t/2 + 0.4,g_t/2,cyl_h/2 + g_l/2])rotate([90,0,0])
|
|
union() {
|
|
gripper(g_r, g_h, g_t, g_l);
|
|
translate([0.8,10,0]) rotate([0,0,190]) gripper(g_r, g_h, g_t, g_l);
|
|
}
|
|
}
|
|
module gripper(r, h, thickness, l) {
|
|
$fn=100;
|
|
translate([r-h/2,0,0]) difference() {
|
|
cylinder(r=r, h=thickness);
|
|
translate([0,0,-0.01]) cylinder(r=r-h, h=thickness+0.02);
|
|
translate([0,-r,-0.5]) cube([2*r, 2*r, thickness+1]);
|
|
for (i = [0,180]) {
|
|
rotate([0,0,i]) translate([-r, l/2, -0.5]) cube(2*r,2*r,thickness+1);
|
|
}
|
|
}
|
|
} |