2014-06-18 00:41:02 +04:00
|
|
|
// Rubber attachment for track element, something like lego 14149
|
|
|
|
// (c) Vitaliy Filippov, 2014, license: GPL 3.0+
|
|
|
|
|
2014-06-17 12:48:53 +04:00
|
|
|
$fn=20;
|
|
|
|
difference() {
|
|
|
|
union() {
|
|
|
|
hull() {
|
|
|
|
cylinder(r=2.4, h=4);
|
|
|
|
translate([0, 16, 0]) cylinder(r=2.4, h=4);
|
|
|
|
translate([0, 0, 3]) cylinder(r=4, h=1);
|
|
|
|
translate([0, 16, 3]) cylinder(r=4, h=1);
|
|
|
|
}
|
|
|
|
cylinder(r=2.4, h=9);
|
|
|
|
translate([0, 16, 0]) cylinder(r=2.4, h=9);
|
|
|
|
translate([0, 0, 8.3]) hull() {
|
|
|
|
cylinder(r=2.8, h=1);
|
|
|
|
translate([0, 0, -0.6]) cylinder(r=2.4, h=1+0.6*2);
|
|
|
|
}
|
|
|
|
translate([0, 16, 8.3]) hull() {
|
|
|
|
cylinder(r=2.8, h=1);
|
|
|
|
translate([0, 0, -0.6]) cylinder(r=2.4, h=1+0.6*2);
|
|
|
|
}
|
|
|
|
}
|
2014-06-18 21:20:14 +04:00
|
|
|
hull() {
|
|
|
|
translate([4, 0, 8.5]) scale([8, 1, 1]) rotate([-90, 0, 90]) wedge();
|
|
|
|
translate([-4, -0.5, 8.5]) cube(size=[8, 1, 4]);
|
|
|
|
}
|
|
|
|
hull() {
|
|
|
|
translate([4, 16, 8.5]) scale([8, 1, 1]) rotate([-90, 0, 90]) wedge();
|
|
|
|
translate([-4, 16-0.5, 8.5]) cube(size=[8, 1, 4]);
|
|
|
|
}
|
2014-06-17 12:48:53 +04:00
|
|
|
translate([2.4, -4, 7]) cube(size=[2, 8, 4]);
|
|
|
|
translate([-2.4-2, -4, 7]) cube(size=[2, 8, 4]);
|
|
|
|
translate([2.4, 16-4, 7]) cube(size=[2, 8, 4]);
|
|
|
|
translate([-2.4-2, 16-4, 7]) cube(size=[2, 8, 4]);
|
|
|
|
}
|
2014-06-18 21:20:14 +04:00
|
|
|
|
|
|
|
module wedge() {
|
|
|
|
linear_extrude(height=1) polygon(points=[[-0.5, 0], [0.5, 0], [0, 1]]);
|
|
|
|
}
|