forked from Buback/Prism-Reprap
-
Notifications
You must be signed in to change notification settings - Fork 0
/
60 End.scad
64 lines (49 loc) · 1.38 KB
/
60 End.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
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
// C. Strang
// cstrang@????
// funfor.us
include <configuration.scad>;
$fn=30;
a = 30; // parts angle
partthickness = 6; // part thickness
screwdia = m4_diameter; // hole diameter (i.e m3, m4, m5=5.1)
slottabs = 2; // slot tab depth (2 normal, -1 remove)
o = 0.1; // overlay for error free STLs
prism60end(slottabs,screwdia,partthickness);
module prism60end(sl,sc,pa)
{
translate([20,0,0]) rotate([0,0,a]) rail(sl,sc,pa);
translate([54.60,0,0]) rotate([0,0,-a]) mirror([1,0,0]) rail(sl,sc,pa);
translate([20,0,0]) rotate([0,0,0]) base1(pa);
translate([57.3,44.65,0]) rotate([0,0,180]) base2(pa);
}
module base1(th)
{
difference()
{
cube([34.65,13,th]);
translate([0,0,-o]) rotate([0,0,a]) cube([34.65,13,th+(2*o)]);
translate([34.65,0,-o]) rotate([0,0,(90-a)]) cube([13,34.65,th+2*o]);
}
}
module base2(th)
{
difference()
{
cube([40.0,35,th]);
translate([0,0,-o]) rotate([0,0,61]) cube([40,23,th+2*o]);
translate([40.0,0,-o]) rotate([0,0,29]) cube([23,40,th+2*o]);
translate([20.0,-22.32,-o]) rotate([0,0,0]) cylinder(r=30,h=th+2*o,$fn=50);
}
}
module rail(st,sd,th)
{
difference()
{
cube([20,40,th]);
translate([10,10,-o]) cylinder(r=sd/2,h=2*o+th);
translate([10,30,-o]) cylinder(r=sd/2,h=2*o+th);
}
translate([7.5,1,th-o]) cube([5,6.0,st+o]);
translate([7.5,13,th-o]) cube([5,14,st+o]);
translate([7.5,33,th-o]) cube([5,7,st+o]);
}