-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpiggy bank.scad
111 lines (88 loc) · 2.31 KB
/
piggy bank.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
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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
// a simple piggy bank !
// made under 90 minutes
// by
// Thiviyan Thanapalasingam, Martino Mensio, Lucas Anastasiou
$fn=128;
difference(){
difference(){
difference(){
scale([2,1.4,1.4])
sphere(25);
scale([2,1.4,1.4])
sphere(20);
}
translate([-15,-5,0])
cube([30,10,50]);
}
translate([0,0,-40])
cylinder(h=20,r1=16,r2=16);
}
translate([35,15,-40])
cylinder(h=30,r1=10,r2=10);
translate([35,-15,-40])
cylinder(h=30,r1=10,r2=10);
translate([-35,15,-40])
cylinder(h=30,r1=10,r2=10);
translate([-35,-15,-40])
cylinder(h=30,r1=10,r2=10);
//rotate([0,90,0])
//translate([-15,0,40])
//sphere(20);
module head(){
translate([10,0,20])
union() {
// ears
translate([0,0,-4])
union() {
translate([0,10,0])
rotate([0,0,-10])
difference() {
sphere(r=7);
translate([7,0,0])
sphere(r=10);
}
translate([0,-10,0])
rotate([0,0,10])
difference() {
sphere(r=7);
translate([7,0,0])
sphere(r=10);
}
}
// nose
translate([7,0,-20])
rotate([90,0,90])
difference() {
cylinder(5, r1=7,r2=6);
union() {
translate([-3,0,-3])
rotate(0,0,0)
cylinder(10, r1=1.5,r2=1.5);
translate([3,0,-3])
rotate(0,0,0)
cylinder(10, r1=1,r2=1.5);
}
}
// eyes
translate([5,0,-10])
union() {
translate([0,6,0])
sphere(r=3);
translate([0,-6,0])
sphere(r=3);
}
}
// head
sphere(r=20);
}
translate([40,0,28])
head();
// piggy tail
module add_tail() {
linear_extrude(height = 30, scale=[1,0], center = false, twist = -920, $fn = 100)
translate([2, 0, 0])
circle(r = 2);
}
translate([-47,0,3])
rotate([0,-45,0])
add_tail();