diff options
author | Erich Eckner <git@eckner.net> | 2023-04-16 17:56:52 +0200 |
---|---|---|
committer | Erich Eckner <git@eckner.net> | 2023-04-16 17:58:36 +0200 |
commit | bc88a972bc1108a06eb61ff6ea6f9d4ad84d8f89 (patch) | |
tree | ace427ec50b41673ed6cdd4efd1d2d531e0c8e07 | |
parent | 69cfec379927f6c230bdec9be2ab32586139ac4e (diff) | |
download | Raspihalterung-bc88a972bc1108a06eb61ff6ea6f9d4ad84d8f89.tar.xz |
Optokopplerhalterung.scad nun mit Waben
-rw-r--r-- | Optokopplerhalterung.scad | 33 |
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 |