diff options
author | Erich Eckner <git@eckner.net> | 2023-03-26 20:48:37 +0200 |
---|---|---|
committer | Erich Eckner <git@eckner.net> | 2023-03-26 20:48:37 +0200 |
commit | 4658b745e7eb92243f34099bf56375999d3bc6fe (patch) | |
tree | 8d0496ea98f0632d5164275eac9d14a7842d7858 | |
download | Patronenhuelle-4658b745e7eb92243f34099bf56375999d3bc6fe.tar.xz |
initial commit
-rw-r--r-- | Patronenhuelle.scad | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/Patronenhuelle.scad b/Patronenhuelle.scad new file mode 100644 index 0000000..079cbf6 --- /dev/null +++ b/Patronenhuelle.scad @@ -0,0 +1,35 @@ +Patronendicke = 7.5; +Patronenlaenge = 40; +Wanddicke = 3; +Gewindelaenge = 10; +Gang = 2; +epsilon = 0.01; + +auszen = 1; + +difference() { + union() { + translate([0,0,-Wanddicke]) + cylinder(h = Patronenlaenge/2 - Gewindelaenge/2 + Wanddicke, r = Patronendicke/2 + Wanddicke, $fn = 100); + translate([0,0,Patronenlaenge/2]) + cylinder(h = Gewindelaenge, r = Patronendicke/2 + Wanddicke/3, $fn = 100, center = true); + translate([0,0,Patronenlaenge/2 - Gewindelaenge/2]) { + intersection() { + difference() { + linear_extrude(Gewindelaenge, twist = -Gewindelaenge / Gang * 360, slices = Gewindelaenge/Gang * 50, $fn = 100, convexity = 10) + translate([-Patronendicke,epsilon]) + square(2*Patronendicke); + cylinder(h = Patronenlaenge, r = Patronendicke/2 + auszen*epsilon, $fn = 100); + } + cylinder(h = Gewindelaenge, r = Patronendicke/2 + Wanddicke*2/3 - (1-auszen) * epsilon, $fn=100); + } + difference() { + cylinder(h = Gewindelaenge, r = Patronendicke/2 + Wanddicke*auszen, $fn = 100); + cylinder(h = Gewindelaenge, r = Patronendicke/2 + Wanddicke*2/3 + epsilon, $fn = 100); + } + } + } + cylinder(h = Patronenlaenge + Wanddicke, r = Patronendicke/2, $fn = 100); + translate([0,0,(Patronenlaenge-Gewindelaenge)/2]) + cylinder(h = Patronenlaenge + Wanddicke, r = Patronendicke/2 + auszen * (Wanddicke/3 + epsilon), $fn = 100); +}
\ No newline at end of file |