Changing repository link in comments to correct Github URL.
[clinton/prusa3.git] / box_frame / extras / endstop-holder.scad
CommitLineData
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
8e93419f 9// http://github.com/josefprusa/Prusa3
bac79c00
JG
10
11include <../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
22module 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
60endstop(bushing_xy[0]);
aceb8d1a
JG
61translate([0,22,0]) endstop(bushing_xy[0]);
62translate([0,44,0]) endstop(bushing_z[0]);
bac79c00 63