-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathnerf_rival.scad
42 lines (37 loc) · 1.3 KB
/
nerf_rival.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
DIAMETER = 0.9 * 25.4; // 0.9 in
RADIUS = DIAMETER / 2;
translate([0, 0, RADIUS]) sphere(r = RADIUS);
translate([50, 0, 0])
difference()
{
translate([-(RADIUS + 5), -(RADIUS + 5), 0]) cube([2 * (RADIUS + 5), 2 * (RADIUS + 5), RADIUS + 5]);
translate([0, 0, RADIUS + 5]) sphere(r = RADIUS);
translate([-(RADIUS + 2), -(RADIUS + 2), RADIUS]) cylinder(r = 2, h = 5);
translate([(RADIUS + 2), (RADIUS + 2), RADIUS]) cylinder(r = 2, h = 5);
}
translate([100, 0, 0])
difference()
{
union()
{
translate([-(RADIUS + 5), -(RADIUS + 5), 0]) cube([2 * (RADIUS + 5), 2 * (RADIUS + 5), RADIUS + 5]);
translate([-(RADIUS + 2), (RADIUS + 2), RADIUS + 5]) cylinder(r = 2, h = 5);
translate([(RADIUS + 2), -(RADIUS + 2), RADIUS + 5]) cylinder(r = 2, h = 5);
}
translate([0, 0, RADIUS + 5]) sphere(r = RADIUS);
translate([0, 0, 0]) cylinder(r = 1, h = RADIUS + 5);
translate([-8, -11, RADIUS + 1])
rotate([-90, 0, 45])
union()
{
translate([-4, 0, 0]) cube([2, RADIUS + 5, 4]);
translate([0, -4, 0]) cube([RADIUS + 5, 2, 4]);
difference()
{
cylinder(r = 4, h = 4);
cylinder(r = 2, h = 4);
translate([-4, 0, 0]) cube([8, 4, 4]);
translate([0, -4, 0])cube([4, 8, 4]);
}
}
}