forked from jcrocholl/kossel
-
Notifications
You must be signed in to change notification settings - Fork 36
/
endstop.scad
39 lines (35 loc) · 1.17 KB
/
endstop.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
include <configuration.scad>;
include <teardrop.scad>
use <microswitch.scad>;
thickness = 6; // thinner endstop required for the delrin V roller version
width = 15; // Same as vertical extrusion.
height = 15;
module endstop() {
difference() {
union() {
cube([width, thickness, height], center=true);
translate([0, 0, -height/4])
cube([width+2, thickness, height/2], center=true);
translate([0, 2, 0])
cube([2.5, thickness, height], center=true);
}
translate([0, 0, 3]) rotate([90, 0, 0]) {
teardrop(r=m3_wide_radius, h=20, center=true, $fn=12,truncate=true);
translate([0, 0, 3.6-thickness/2-0.2]) {
teardrop(r=3.2, h=10, $fn=24,truncate=true);
translate([0, 5, 5])
cube([6, 10, 10], center=true);
}
translate([0, 0, -thickness/2]) scale([1, 1, -1])
cylinder(r1=m3_wide_radius, r2=7, h=4, $fn=24);
}
translate([0, -3-thickness/2, -2]) rotate([0, 180, 0]) {
% microswitch();
for (x = [-9.5/2, 9.5/2]) {
translate([x, 0, 0]) rotate([90, 0, 0])
cylinder(r=2.6/2, h=40, center=true, $fn=12);
}
}
}
}
translate([0, 0, height/2]) endstop();