-
Notifications
You must be signed in to change notification settings - Fork 0
/
Temperature_Tower.scad
55 lines (49 loc) · 1.61 KB
/
Temperature_Tower.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
//Printer and Filament Maker
machine = "M v2 / HB B / T";
//Starting Temperature
BottomTemperature = 240;
// Tower height (mm)
TowerHeight = 70;
// Length of tower base (mm)
TowerSide = 20;
// Height change for temperature change (mm)
HeightIncrement = 10;
// Amount to decrease temperature
TemperatureIncrement = 10;
// Amount for lettering to stick out (mm)
EmbossHeight = 0.5;
// Indent for overhang testing (mm)
Indent = 2;
// Make the base cube, with cutouts for testing bridging.
difference()
{
cube([TowerSide, TowerSide, TowerHeight]);
for(currentHeight=[0:HeightIncrement:TowerHeight-HeightIncrement])
{
translate([TowerSide-Indent,TowerSide/8,currentHeight])
cube([Indent,3*TowerSide/4,HeightIncrement/2]);
}
}
// Emboss printer type and filament vendor, or whatever
// other info you think is relevant. For example,
// Type A machines need 20C higher temps, and Makerbot
// filament needs 20C higher than regular PLA.
translate([0,TowerSide/4,0])
rotate([0,-90,0])
linear_extrude(EmbossHeight)
text(str(machine), font = "Liberation Sans", size = TowerSide/4);
// Make markings for temperatures. Lines are centered on
// the temperature change point.
for(currentHeight=[0:HeightIncrement:TowerHeight-HeightIncrement])
{
currentTemp = BottomTemperature-currentHeight/HeightIncrement*TemperatureIncrement;
translate([0,0,currentHeight])
rotate([90,0,0])
linear_extrude(EmbossHeight)
text(str(currentTemp), font = "Liberation Sans", size = 5);
if(currentHeight != 0)
{
translate([7*TowerSide/8,0,currentHeight])
cube([TowerSide/4,1,1],center=true);
}
}