forked from josefprusa/PrusaMendel
-
Notifications
You must be signed in to change notification settings - Fork 10
/
Copy pathendstop-holder.scad
45 lines (35 loc) · 1.18 KB
/
endstop-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
// PRUSA Mendel
// Endstop holder
// Used to attach endstops to 8mm rods
// GNU GPL v2
// Josef Průša
// josefprusa@me.com
// prusadjs.cz
// http://www.reprap.org/wiki/Prusa_Mendel
// http://github.com/prusajr/PrusaMendel
include <configuration.scad>
/**
* @name Endstop holder
* @category Printed
* @using 1 m3x20
* @using 1 m3nut
* @using 2 m3washer
*/
module endstop(){
outer_diameter = m8_diameter/2+3.3;
screw_hole_spacing = 20;
opening_size = m8_diameter-1.5; //openingsize
difference(){
union(){
translate([outer_diameter, outer_diameter, 0]) cylinder(h =10, r = outer_diameter, $fn = 20);
translate([outer_diameter, 0, 0]) cube([15.5,outer_diameter*2,10]);
translate([-27, 0, 0]) cube([35, 4, 10]);
}
translate([9, outer_diameter-opening_size/2, 0]) cube([18,opening_size,20]);
translate([outer_diameter, outer_diameter, 0]) cylinder(h =20, r = m8_diameter/2, $fn = 18);
translate([17, 17, 5]) rotate([90, 0, 0]) cylinder(h =20, r = m3_diameter/2, $fn = 10);
translate([-4, 17, 5]) rotate([90, 0, 0]) cylinder(h =20, r = m3_diameter/2, $fn = 10);
translate([-(4+screw_hole_spacing), 17, 5]) rotate([90, 0, 0]) cylinder(h =20, r = m3_diameter/2, $fn = 10);
}
}
endstop();