Commit | Line | Data |
---|---|---|
bac79c00 JG |
1 | // PRUSA Mendel |
2 | // Endstop holder | |
3 | // Used to attach endstops to 8mm rods | |
4 | // GNU GPL v3 | |
5 | // Josef Průša | |
6 | // josefprusa@me.com | |
7 | // prusadjs.cz | |
8 | // http://www.reprap.org/wiki/Prusa_Mendel | |
9 | // http://github.com/prusajr/PrusaMendel | |
10 | ||
11 | include <../configuration.scad> | |
12 | ||
13 | /** | |
14 | * This endstop holder has 3 holes for endstops with either 10mm or 20mm spacing | |
15 | * @id endstop-holder | |
16 | * @name Endstop holder | |
17 | * @category Printed | |
18 | * @using 1 m3x20xhex | |
19 | * @using 1 m3nut | |
20 | * @using 2 m3washer | |
21 | */ | |
fc9f0cae JG |
22 | module endstop(shaft_radius){ |
23 | shaft_diameter=shaft_radius*2; | |
24 | outer_diameter = shaft_diameter/2+3.3; | |
25 | screw_hole_spacing = 20; | |
26 | screw_hole_spacing2 = 10; | |
05ccce2c | 27 | opening_size = shaft_radius*2-1.5; //openingsize |
bac79c00 | 28 | |
fc9f0cae | 29 | segments=64; |
bac79c00 | 30 | |
fc9f0cae JG |
31 | difference(){ |
32 | union(){ | |
bac79c00 | 33 | |
bac79c00 | 34 | |
fc9f0cae JG |
35 | translate([outer_diameter, outer_diameter, 0]) cylinder(h =10, r = outer_diameter, $fn = segments); |
36 | translate([outer_diameter, 0, 0]) cube([15.5,outer_diameter*2,10]); | |
37 | translate([-30, 0, 0]) cube([40, 4, 10]); | |
aceb8d1a | 38 | translate([17, 10+opening_size, 5]) rotate([90, 0, 0]) cylinder(h =5, r = 5.77, $fn = 6); |
fc9f0cae | 39 | } |
bac79c00 JG |
40 | |
41 | ||
42 | ||
bac79c00 | 43 | |
fc9f0cae | 44 | translate([9, outer_diameter-opening_size/2, 0]) cube([18,opening_size,20]); |
aceb8d1a | 45 | translate([outer_diameter, outer_diameter, 0]) cylinder(h =30, r = shaft_radius, $fn = segments); |
bac79c00 | 46 | |
fc9f0cae | 47 | //Securing hole |
aceb8d1a JG |
48 | translate([17, 20, 5]) rotate([90, 0, 0]) cylinder(h =20, r = m3_diameter/2, $fn = segments); |
49 | translate([17, 12+opening_size, 5]) rotate([90, 0, 0]) cylinder(h =5, r = m3_nut_diameter_horizontal/2, $fn = 6); | |
fc9f0cae JG |
50 | |
51 | translate([17, 17, 5]) rotate([90, 0, 0]) cylinder(h =20, r = m3_diameter/2, $fn = segments); | |
52 | // Endstop holders | |
53 | translate([-5, 17, 5]) rotate([90, 0, 0]) cylinder(h =20, r = m3_diameter/2, $fn = segments); | |
54 | translate([-(5+screw_hole_spacing), 17, 5]) rotate([90, 0, 0]) cylinder(h =20, r = m3_diameter/2, $fn = segments); | |
55 | translate([-(5+screw_hole_spacing2), 17, 5]) rotate([90, 0, 0]) cylinder(h =20, r = m3_diameter/2, $fn = segments); | |
bac79c00 | 56 | |
fc9f0cae | 57 | } |
bac79c00 | 58 | } |
fc9f0cae JG |
59 | |
60 | endstop(bushing_xy[0]); | |
aceb8d1a JG |
61 | translate([0,22,0]) endstop(bushing_xy[0]); |
62 | translate([0,44,0]) endstop(bushing_z[0]); | |
bac79c00 | 63 |