summaryrefslogtreecommitdiffstats
path: root/can.scad
blob: 30cf5e41e73af39c6af99d4fedacc2e830f8afb3 (plain)
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
$fn=150;

module lower_cone() {
	cylinder(10, 30, 40, 0);
}

module lower_cone_cut_in() {
	intersection() {
		translate([0,0,-60])
			sphere(70);
		translate([0,0,-1])
		cylinder(50, 28, 28, 0);
	}
}

module middle_cylinder() {
	cylinder(90, 40, 40, 0);
}

module upper_cone() {
	color("red")
	cylinder(20, 40, 30, 0);
	color("silver")
	translate([0,0,20])
		cylinder(5, 30, 30, 0);
}

module upper_cone_cut_in() {
	translate([0,0,21])
		difference() {
			cylinder(5, 27, 29.5, 0);
			cylinder(2, 26.5, 26, 0);
		}
}

union() {
	color("silver")
		difference() {
			lower_cone();
			lower_cone_cut_in();
		}
	color("red")
	translate([0,0,10])
		middle_cylinder();
	translate([0,0,100])
		difference() {
			upper_cone();
			color("silver")
			upper_cone_cut_in();
		}
}