forked from jcrocholl/kossel
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathframe_endstop.scad
More file actions
55 lines (52 loc) · 1.59 KB
/
frame_endstop.scad
File metadata and controls
55 lines (52 loc) · 1.59 KB
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
45
46
47
48
49
50
51
52
53
54
55
include <configuration.scad>;
height = 45;
diagonal = 15*sqrt(2);
module frame_endstop() {
difference() {
intersection() {
translate([diagonal/2, 0, 0]) rotate([0, 0, -30])
translate([thickness-11, 15, height/2-7.5])
cube([22, 58, height], center=true);
union() {
translate([diagonal/2, 0, 0]) rotate([0, 0, -30])
translate([thickness/2, 20, height/2-7.5])
cube([thickness, 48, height], center=true);
rotate([0, 0, -45])
translate([15, 0, height/2-7.5])
cube([15, 15, height], center=true);
}
}
// Vertical OpenBeam mounting screw holes.
for (z = [0, 0.85]) {
translate([0, 0, z*(height-15)]) rotate([90, 0, 45])
translate([0, 0, 7.5+thickness]) {
cylinder(r=1.6, h=12, $fn=12, center=true);
cylinder(r=2.8, h=8, $fn=12);
}
}
// Horizontal OpenBeam mounting screw holes.
for (y = [12, 42]) {
rotate([0, 0, -30])
translate([7.5+thickness/2, y, 0])
rotate([0, 90, 0])
cylinder(r=1.6, h=10, $fn=12, center=true);
}
translate([38, 35, 46]) rotate([0, 90, -30]) #
cylinder(r=40, h=20, center=true, $fn=60);
// HoneyWell ZM micro switch.
rotate([0, 0, -30]) translate([16, 2.5, height-12]) {
translate([0, 0, 2]) # cube([6.3, 19.8, 10.6], center=true);
translate([0, 9.5/2, 0]) rotate([0, 90, 0]) #
cylinder(r=1.25, h=30, center=true, $fn=12);
translate([0, -9.5/2, 0]) rotate([0, 90, 0]) #
cylinder(r=1.25, h=30, center=true, $fn=12);
}
}
}
translate([0, 0, 12.5])
rotate([0, 90, 90])
rotate([0, 0, 30]) {
frame_endstop();
// OpenBeam.
% rotate([0, 0, 45]) cube([15, 15, 100], center=true);
}