From 4658b745e7eb92243f34099bf56375999d3bc6fe Mon Sep 17 00:00:00 2001 From: Erich Eckner Date: Sun, 26 Mar 2023 20:48:37 +0200 Subject: initial commit --- Patronenhuelle.scad | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 Patronenhuelle.scad 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 -- cgit v1.2.3-70-g09d2