3dprint/ball-link.scad

36 lines
758 B
OpenSCAD

// Link with ends for ball inserts
// (c) Vitaliy Filippov 2014, license: CC-BY-SA 4.0
$fn=40;
length=64; // 8U spacing between balls, like LEGO Black Link 9 (32293)
//length=16;
difference() {
union() {
ball_end_p();
translate([-3, 0, 0]) cube(size=[6, length, 2.5]);
translate([0, length, 0]) ball_end_p();
}
ball_end_n();
translate([0, length, 0]) ball_end_n();
}
module ball_end() {
difference() {
ball_end_p();
ball_end_n();
}
}
module ball_end_p() {
union() {
translate([0, 0, 1.7+3.2+1-4]) difference() { sphere(r=4); translate([-5, -5, -6]) cube(size=[10,10,5]); }
cylinder(r=4, h=2);
}
}
module ball_end_n() {
translate([0, 0, 1.7]) sphere(r=3.2);
translate([0, 0, -0.1]) cylinder(r=2.9, h=2);
}