summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErich Eckner <git@eckner.net>2023-04-16 17:56:52 +0200
committerErich Eckner <git@eckner.net>2023-04-16 17:58:36 +0200
commitbc88a972bc1108a06eb61ff6ea6f9d4ad84d8f89 (patch)
treeace427ec50b41673ed6cdd4efd1d2d531e0c8e07
parent69cfec379927f6c230bdec9be2ab32586139ac4e (diff)
downloadRaspihalterung-bc88a972bc1108a06eb61ff6ea6f9d4ad84d8f89.tar.xz
Optokopplerhalterung.scad nun mit Waben
-rw-r--r--Optokopplerhalterung.scad33
1 files changed, 31 insertions, 2 deletions
diff --git a/Optokopplerhalterung.scad b/Optokopplerhalterung.scad
index 50bbbb2..725c1f7 100644
--- a/Optokopplerhalterung.scad
+++ b/Optokopplerhalterung.scad
@@ -5,6 +5,26 @@ Breite = 100;
Hoehe = 30;
Dicke = 1.5;
Nuttiefe = 1;
+a = 5;
+
+module Sechseck(a,d) {
+ for (alpha = [30:60:330])
+ rotate([0,0,alpha])
+ translate([0,a,0])
+ rotate([0,0,-30])
+ translate([a/2,0,d/2])
+ cube([a,d,d], center=true);
+}
+
+module Wabe(x,y,d,a) {
+ intersection() {
+ cube([x,y,d]);
+ for (dy=[0:2*y/(sqrt(3)*a)])
+ for (dx=[0:3*a:x])
+ translate([dx+(dy%2 == 1 ? 3/2*a : 0),dy*sqrt(3)/2*a,0])
+ Sechseck(a,d);
+ }
+}
module Rahmen(x,y,z,d) {
difference() {
@@ -12,7 +32,16 @@ module Rahmen(x,y,z,d) {
for (f=[[-1,1,1],[1,-1,1],[1,1,-1]])
translate([f[0]*d,f[1]*d,f[2]*d])
cube([x-f[0]*2*d,y-f[1]*2*d,z-f[2]*2*d]);
- }
+ };
+ Wabe(x,y,d,a);
+ for (i = [0:1])
+ translate([d+(x-d)*i,0,0])
+ rotate([0,-90,0])
+ Wabe(z,y,d,a);
+ for (i = [0:1])
+ translate([0,d+(y-d)*i,z])
+ rotate([90,90,0])
+ Wabe(z,x,d,a);
};
translate([0,Bodenfreiheit,0])
@@ -23,4 +52,4 @@ translate([0,Bodenfreiheit,0])
translate([Dicke+Nuttiefe,-Dicke,Dicke+Nuttiefe])
cube([Breite-2*Nuttiefe, Leiterplattendicke + 4*Dicke, Hoehe + Dicke]);
}
-Rahmen(Breite+2*Dicke,Kopffreiheit+Bodenfreiheit+Leiterplattendicke,Hoehe+Dicke,Dicke);
+Rahmen(Breite+2*Dicke,Kopffreiheit+Bodenfreiheit+Leiterplattendicke,Hoehe+Dicke,Dicke); \ No newline at end of file