-
Notifications
You must be signed in to change notification settings - Fork 9
Expand file tree
/
Copy pathKeystoneJack.scad
More file actions
89 lines (86 loc) · 3.17 KB
/
KeystoneJack.scad
File metadata and controls
89 lines (86 loc) · 3.17 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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
// Complete keystone with embossed triangle
module keystone(
jack_length=16.5,
jack_width=15,
wall_height=10,
wall_thickness=4,
catch_overhang=2,
big_clip_clearance=4,
small_clip_clearance=6.5
) {
small_clip_depth = catch_overhang;
big_clip_depth = catch_overhang + 2;
outer_length = jack_length + small_clip_depth + big_clip_depth + (wall_thickness * 2);
outer_width = jack_width + (wall_thickness * 2);
difference() { // This is the new, main difference() block
union() {
difference() {
difference() {
difference() {
cube([outer_length, outer_width, wall_height]);
translate([wall_thickness, wall_thickness, big_clip_clearance]) {
cube([outer_length, jack_width, wall_height]);
}
}
translate([wall_thickness + small_clip_depth, wall_thickness, 0]) {
cube([jack_length, jack_width, wall_height + 1]);
}
}
}
cube([wall_thickness, outer_width, wall_height]);
cube([wall_thickness + small_clip_depth, outer_width, small_clip_clearance]);
translate([2, 23, 8]) {
rotate([90, 0, 0])
linear_extrude(height = outer_width)
polygon([
[0,0],
[catch_overhang,0],
[wall_thickness,catch_overhang],
[0,catch_overhang]
]);
}
translate([26.5,0,0]) {
cube([4, 23, 10]);
}
translate([28.5, 0, 8]) {
rotate([0, 0, -180]) {
rotate([90, 0, 0])
linear_extrude(height = outer_width)
polygon([
[0,0],
[catch_overhang,0],
[wall_thickness,catch_overhang],
[0,catch_overhang]
]);
}
}
}
// These are the new shapes to be subtracted
translate([outer_length-5, outer_width/2, 0]) {
rotate([0,0,90])
linear_extrude(height = 0.4) {
polygon([
[0, 2],
[-2, -2],
[2, -2]
]);
}
}
// Removed the color() and rotate() from the original code since it was for debug.
// It's still a good idea to comment out this section if you want to see the triangle itself.
/*
color("red")
translate([outer_length-5, outer_width/2, 0]) {
rotate([0,0,90])
linear_extrude(height = 2) {
polygon([
[0, 2],
[-2, -2],
[2, -2]
]);
}
}
*/
}
}
keystone();