2012-03-12 01:13:07 +00:00
|
|
|
//
|
|
|
|
// Mendel90
|
|
|
|
//
|
|
|
|
// GNU GPL v2
|
|
|
|
// nop.head@gmail.com
|
|
|
|
// hydraraptor.blogspot.com
|
|
|
|
//
|
|
|
|
// Washers
|
|
|
|
//
|
2014-06-12 23:12:59 +01:00
|
|
|
M2_washer = [2, 5, 0.3, false, 4.5];
|
|
|
|
M2p5_washer= [2.5,5.9,0.5, false, 5.4];
|
2012-11-15 17:45:30 +00:00
|
|
|
M3_washer = [3, 7, 0.5, false, 5.8];
|
2012-12-24 13:15:00 +00:00
|
|
|
M3_penny_washer =[3, 12, 0.8, false, 5.8];
|
2012-11-15 17:45:30 +00:00
|
|
|
M3p5_washer = [3.5, 8, 0.5, false, 6.9];
|
|
|
|
M4_washer = [4, 9, 0.8, false, 7.9];
|
2012-12-24 13:15:00 +00:00
|
|
|
M5_washer = [5, 10, 1.0, false, 9];
|
2012-11-15 17:45:30 +00:00
|
|
|
M5_penny_washer = [5, 20, 1.4, false, 8.8];
|
|
|
|
M6_washer = [6, 12, 1.5, false, 10.6];
|
|
|
|
M8_washer = [8, 17, 1.6, false, 13.8];
|
|
|
|
M8_penny_washer = [8, 30, 1.5, false, 13.8];
|
2012-03-12 01:13:07 +00:00
|
|
|
|
|
|
|
M3_rubber_washer= [3, 10, 1.5, true];
|
|
|
|
|
2012-11-15 17:45:30 +00:00
|
|
|
function washer_diameter(type) = type[1];
|
2012-03-12 01:13:07 +00:00
|
|
|
function washer_thickness(type) = type[2];
|
2012-11-15 17:45:30 +00:00
|
|
|
function washer_soft(type) = type[3];
|
2012-03-13 10:02:35 -05:00
|
|
|
function washer_color(type) = washer_soft(type) ? soft_washer_color : hard_washer_color;
|
2012-11-15 17:45:30 +00:00
|
|
|
function star_washer_diameter(type) = type[4];
|
2012-03-12 01:13:07 +00:00
|
|
|
|
|
|
|
module washer(type) {
|
2012-11-15 17:45:30 +00:00
|
|
|
hole = type[0];
|
|
|
|
thickness = washer_thickness(type);
|
|
|
|
diameter = washer_diameter(type);
|
2012-03-12 01:13:07 +00:00
|
|
|
if(washer_soft(type))
|
2012-11-15 17:45:30 +00:00
|
|
|
vitamin(str("WR", hole * 10, diameter, thickness * 10, ": Rubber washer M", hole, " x ", diameter, "mm x ", thickness, "mm"));
|
2012-03-12 01:13:07 +00:00
|
|
|
else
|
2012-11-15 17:45:30 +00:00
|
|
|
vitamin(str("WA", hole * 10, diameter, thickness * 10, ": Washer M", hole, " x ", diameter, "mm x ", thickness, "mm"));
|
|
|
|
color(washer_color(type)) render() difference() {
|
2013-09-25 01:28:24 +01:00
|
|
|
cylinder(r = diameter / 2, h = thickness - 0.05);
|
2012-11-15 17:45:30 +00:00
|
|
|
cylinder(r = hole / 2, h = 2 * thickness + 1, center = true);
|
2012-03-12 01:13:07 +00:00
|
|
|
}
|
2013-09-25 01:28:24 +01:00
|
|
|
if($children)
|
|
|
|
translate([0, 0, thickness])
|
2016-01-05 12:18:38 +00:00
|
|
|
children();
|
2012-03-12 01:13:07 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
module star_washer(type) {
|
2012-11-15 17:45:30 +00:00
|
|
|
hole = type[0];
|
|
|
|
thickness = washer_thickness(type);
|
|
|
|
diameter = star_washer_diameter(type);
|
|
|
|
rad = diameter / 2;
|
|
|
|
inner = (hole / 2 + rad) / 2;
|
|
|
|
spoke = rad - hole / 2;
|
|
|
|
vitamin(str("WS", hole * 10, washer_diameter(type), thickness * 10,
|
|
|
|
": Star washer M", hole, " x ", thickness, "mm"));
|
2012-03-13 10:02:35 -05:00
|
|
|
color(star_washer_color) render() difference() {
|
2012-11-15 17:45:30 +00:00
|
|
|
cylinder(r = rad, h = thickness);
|
|
|
|
cylinder(r = hole / 2, h = 2 * thickness + 1, center = true);
|
2012-03-12 01:13:07 +00:00
|
|
|
for(a = [0:30:360])
|
|
|
|
rotate([0, 0, a])
|
|
|
|
translate([inner + spoke / 2, 0, 0.5])
|
2012-11-15 17:45:30 +00:00
|
|
|
cube([spoke, 2 * 3.142 * inner / 36, thickness + 1], center = true);
|
2012-03-12 01:13:07 +00:00
|
|
|
}
|
2013-09-25 01:28:24 +01:00
|
|
|
if($children)
|
|
|
|
translate([0, 0, thickness])
|
2016-01-05 12:18:38 +00:00
|
|
|
children();
|
2012-03-12 01:13:07 +00:00
|
|
|
}
|