-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathplacebo.scad
68 lines (59 loc) · 1.72 KB
/
placebo.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
module PlaceboCutout(height=1.6) {
translate([-10.76, -16.6, -height/2])
hull()
linear_extrude(height=height, convexity=8)
import(file="placebo.svg");
}
module PlaceboPCB(pin_height=10, pin_offset=2) {
PlaceboCutout();
translate([-0.1, 1.1, 0])
cube([18.4, 26, 1.6], center=true);
translate([-0.1, -12.4, 0])
cube([14, 4, 1.6], center=true);
for (i=[0:9]) {
rotate([0, 0, 90]) {
translate([i*2.54 - 10.2, 7.8, -pin_offset])
cylinder(d=1.4, h=pin_height, center=true);
translate([i*2.54 - 10.2, -7.5, -pin_offset])
cylinder(d=1.4, h=pin_height, center=true);
}
}
for (i=[-1:2]) {
translate([i*2.54, -12.6, -pin_offset])
cylinder(d=1.4, h=pin_height, center=true);
}
*translate([0, 11.8, 0.6])
cube([7, 4, 0.6], center=true);
}
module Printer(d=7) {
cr=3;
h=3;
w=64;
l=50;
difference() {
union() {
hull() {
translate([w/2-cr,d,0]) cylinder(r=cr, h=h, center=true);
translate([w/2-cr,l/2-cr,0]) cylinder(r=cr, h=h, center=true);
translate([-w/2+cr,l/2-cr,0]) cylinder(r=cr, h=h, center=true);
translate([-w/2+cr,0,0]) cylinder(r=cr, h=h, center=true);
}
hull() {
translate([w/2-cr,-l/2+cr,0]) cylinder(r=cr, h=h, center=true);
translate([w/2-cr,-d,0]) cylinder(r=cr, h=h, center=true);
translate([-w/2+cr,0,0]) cylinder(r=cr, h=h, center=true);
translate([-w/2+cr,-l/2+cr,0]) cylinder(r=cr, h=h, center=true);
}
}
rotate([0,0,90])
translate([0,-3,h/2-0.79])
PlaceboCutout();
rotate([0,0,90])
translate([0,-3,h/2-0.79])
scale([0.85,0.9,10])
PlaceboCutout();
}
}
$fn=128;
// projection(cut=true) translate([0,0,1])
Printer();