Volker Philippent 1 year ago
parent
commit
588abbdcd3

+ 106 - 0
3D/Quarto2021/Spielstein2.scad

@@ -0,0 +1,106 @@
+/* [OpenSCAD] */
+$fn=90;
+
+//* [Spielstein] */
+// Form, Größe, Füllung
+//Form = 0; // [0:Eckig, 1:Rund]
+//Size = 1; // [0:Klein, 1:Groß]
+//Hohl = 0; // [0:Nein, 1:Ja]
+
+/* [Maße] */
+// Breite bzw. Durchmesser
+Breite = 20; 
+// Höhe [lang, kurz] +5mm
+Hoehe = [20, 30];
+
+/* [Spielstein] */
+// Loch für Magnet im Fuß
+Magnet = 0; // [0:Nein, 1:Ja]
+
+/* [Hidden] */
+
+/////////////////////////////////////////////////////////////
+
+translate([0,15,0]) spielstein(0,0,0);
+translate([30,15,0]) spielstein(0,0,1);
+translate([60,15,0]) spielstein(0,1,0);
+translate([90,15,0]) spielstein(0,1,1);
+translate([0,-15,0]) spielstein(1,0,0);
+translate([30,-15,0]) spielstein(1,0,1);
+translate([60,-15,0]) spielstein(1,1,0);
+translate([90,-15,0]) spielstein(1,1,1);
+
+/////////////////////////////////////////////////////////////
+
+// Param: Form, Size, Hohl
+module spielstein(F,S,H) {
+  difference() {
+    union() {
+      if (F==0) {
+        eckig(F,S,H);
+      }
+      else {
+        rund(F,S,H);
+      }
+    }
+    if (Magnet==1) {
+      translate([0,0,-0.01]) union() {
+        cylinder(d=3, h=5);
+        // translate([0,0,5]) cylinder(d1=3, d2=1, h=1.5);
+      }
+      // rotate([90,0,0]) cylinder(d=1, h=2*Breite, center=true);
+      // rotate([90,0,90]) cylinder(d=1, h=2*Breite, center=true);
+      // translate([0,0,0.5*Hoehe[S]]) cylinder(d=1, h=2*Hoehe[S], center=true);
+      // // Luer-Konus fuer Spritze
+      // translate([0,0,0.75]) mirror([0,0,1]) cylinder(d1=4.0, d2=4.3, h=7.5); 
+    }
+  }
+}
+
+module eckig_umfang(hoehe) {
+  Kanten_Radius = 1.5;
+  hull() {
+    for (i=[0:90:359]) {  
+      rotate([0,0,i]) translate([ (Breite/2-Kanten_Radius), (Breite/2-Kanten_Radius), 0]) cylinder(r=Kanten_Radius, h=hoehe);
+    }
+  }
+}
+module oben(F){
+  intersection(){
+    translate([0,0,-20]) sphere(25);
+    if (F==1) {
+      translate([0,0,3]) cylinder(d=Breite, h=6, center=true);
+    } 
+    else {
+      eckig_umfang(6);
+    }
+  }
+}
+
+module eckig(F,S,H) {
+  difference() {
+    hull() {
+      translate([0,0,Hoehe[S]]) oben(F);
+      eckig_umfang(2);
+    }
+    if (H==1) { 
+      translate([0,0,Hoehe[S]+5]) cylinder(d=8, h=10, center=true);
+    }
+    translate([0,0,8]) for (i=[0:90:360]) {
+      rotate([0,0,i]) translate([Breite/2,0,0]) rotate([90,0,0]) cylinder(d=2, h=2*Breite, center=true);
+    }
+  }
+}
+
+module rund(F,S,H) {
+  difference() {
+    hull() {
+      translate([0,0,Hoehe[S]]) oben(F);
+      translate([0,0,1]) cylinder(d=Breite, h=2, center=true);
+    }
+    if (H==1) { 
+      translate([0,0,Hoehe[S]+5]) cylinder(d=8, h=10, center=true);
+    }
+    translate([0,0,8]) rotate_extrude() translate([Breite/2,0]) circle(d=2);
+  }
+}

+ 31 - 0
3D/Spool-Desiccant.scad

@@ -0,0 +1,31 @@
+$fn=90;
+use <threads.scad>;
+
+module gewinde(dia, L=10, innen=false) {
+    metric_thread(
+      diameter=dia
+      , pitch=2
+      , length=L
+      , leadin=3
+      , internal=innen
+      , n_starts=1
+      , test=false
+    );
+}
+
+module body() {
+  difference() {
+    cylinder(d=54, h=10);
+    gewinde(dia = 51.5);
+  }
+}
+
+module deckel() {
+  difference() {
+    gewinde(dia = 51);
+    cylinder(d=45, h=10);
+  }  
+}
+
+translate(v = [-30,0,0]) body();
+translate(v = [+30,0,0]) deckel();

+ 4 - 4
3D/deflationcap.scad

@@ -22,13 +22,13 @@ intersection() {
       // innen
       translate([0,0,sump(L,1)]) metric_thread(diameter=0.305*Inch+0.15, pitch=Inch/32, length=sumt(L)+2*Delta, test=Debug);
       translate([0,0,sump(L,3)+Delta-L[4]/2]) cylinder(d1=7, d2=9, h=L[4]); // Fase
-      for(i=[0:360/3:359]) rotate([0,0,i]) union() {
-        translate([2,0,-1]) cylinder(d=1.5, h=sump(L,2));
-        rotate([0,90,0]) translate([0,0,2]) cylinder(d=1.5, h=6);
+      for(i=[0:360/5:359]) rotate([0,0,i]) union() {
+        translate([2.25,0,-1]) cylinder(d=1.3, h=sump(L,2));
+        // rotate([0,90,0]) translate([0,0,2]) cylinder(d=1.5, h=6);
       }
     }
     cylinder(d=2, h=sump(L,2));
-    *for(i=[0:360/32:359]) rotate([0,0,i]) translate([11/2,0,1]) union() {
+    for(i=[0:360/32:359]) rotate([0,0,i]) translate([11/2,0,1]) union() {
       cylinder(d1=0, d2=1, h=0.5, $fn=4);
       translate([0,0,0.5]) cylinder(d=1, h=(sumt(L)-3), $fn=4);
       translate([0,0,sumt(L)-3+0.5]) cylinder(d1=1, d2=0, h=0.5, $fn=4);

+ 100 - 0
3D/propangas.scad

@@ -0,0 +1,100 @@
+/* [OpenSCAD] */
+$fn=60; // [30:6:180]
+Debug = false; // [true,false]
+Schnitt = false;
+
+/* [Ding] */
+// Welches Teil
+Teil = 1; // [1:Fluegelmutter_Flasche, 2:Schlauch_Abgang]
+// Griff: Durchmesser, Anzahl und Dicke der Rändel
+Griff = [50, 16, 4];
+
+/* [Hidden] */
+Delta = 0.01;
+Inch = 25.4;
+W21 = [21.8, 14];
+SW = 17;
+Laenge = 8;
+Durchmesser=25.6;
+Flansch=3.6;
+
+use <threads.scad>
+
+// Gewinde: W21.8 x 1/14 LH
+
+// https://gist.github.com/plumbum/78e3c8281e1c031601456df2aa8e37c6
+module sector(h, d, a1, a2) {
+  if (a2 - a1 > 180) {
+    difference() {
+      cylinder(h=h, d=d);
+      translate([0,0,-0.5]) sector(h+1, d+1, a2-360, a1); 
+    }
+  } else {
+    difference() {
+      cylinder(h=h, d=d);
+      rotate([0,0,a1]) translate([-d/2, -d/2, -0.5])
+        cube([d, d/2, h+1]);
+      rotate([0,0,a2]) translate([-d/2, 0, -0.5])
+        cube([d, d/2, h+1]);
+    }
+  }
+}
+
+module Handrad() {
+  union() {
+    cylinder(d=Griff.x, h=Laenge);
+    for (i=[0:360/Griff.y:359]) rotate([0,0,i]) translate([Griff.x/2,0,0]) cylinder(d=Griff.z, h=Laenge);
+  }
+}
+
+module Loch() {
+  translate([Griff.x/2-4,0,0]) union() {
+    cylinder(d=3, h=3*Laenge+1, center=true);
+    cylinder(d1=4, d2=3, h=0.5);
+    translate([0,0,Laenge+2*Delta]) rotate([180,0,0]) cylinder(d1=4, d2=3, h=0.5);
+  }
+}
+
+module Flasche() {
+  difference() {
+    // Außen
+    Handrad();
+    // Innen
+    translate([0,0,-0.01]) union() {
+      cylinder(d=Durchmesser, h=Laenge+1);
+      rotate([0,0,-90]) for (i=[0:360/5:359]) rotate([0,0,i]) translate([Durchmesser/2,0,0]) hull() {
+        cylinder(d=Flansch, h=Laenge+1);
+        translate([Flansch/2,0,0]) cylinder(d=Flansch, h=Laenge+1);
+      }
+      rotate([0,0,90]) Loch();
+    }
+  }
+}
+
+module Schlauch() {
+  difference() {
+    // Außen
+    union() {
+      Handrad();
+      translate([0,0,Laenge]) intersection() {
+        Handrad();
+        sector(h=Laenge+1, d=2*Griff.x, a1=60, a2=-60);
+      }
+    }
+    // Innen
+    translate([0,0,-0.01]) union() {
+      cylinder(r=SW/sqrt(3), h=2*Laenge+1, $fn=6);
+      sector(h=Laenge+1, d=2*Griff.x, a1=-60, a2=60);
+      rotate([0,0,90]) Loch();
+      rotate([0,0,-90]) Loch();
+    }
+  }
+}
+
+intersection() {
+  union() scale(1.015)  {
+    if (Teil==1) { Flasche(); }
+    if (Teil==2) { Schlauch(); }
+  }
+  translate([(Schnitt)?-50:0,0,0]) cube(100, center=true);
+}

+ 0 - 23
3D/quarto.scad

@@ -1,23 +0,0 @@
-// Quarto!
-
-/* [OpenSCAD] */
-$fn=36;
-
-/* [Quarto!] */
-Breite = 20;
-Hoehe_lang = 45;
-Hoehe_kurz = 30;
-
-/* [Hidden] */
-
-module eckig(height) {
-  eckradius = Breite/10;
-  hull() for ( i = [0,90,180,270] ) {
-    rotate([0,0,i]) translate([Breite/2, Breite/2, height/2]) cylinder(r=eckradius, h=height, center=true);
-  }
-}
-
-module rund(height) {
-}
-
-eckig(Hoehe_lang);

+ 54 - 0
3D/rohrreiniger2.scad

@@ -0,0 +1,54 @@
+use <threads.scad>
+
+$fn=180;
+Delta = 0.01;
+Inch = 25.4;
+Gewinde=11;
+Bohrung=10;
+Kugel=25;
+
+
+module oben() {
+	difference() {
+		union() {
+				// Außenform Oval
+				intersection() {
+					translate([0,0,7]) difference() {
+						scale([1,1,2]) sphere(d=Kugel);
+						// 4x breiter Strahl nach hinten
+						for(i=[0:360/6:359]) hull() {
+							rotate([0,0,i]) translate([8,0,7]) rotate([75,0,0]) scale([1,1.25,1]) cylinder(d=20, h=1, center=true);
+						}
+					}
+					translate([0,0,50]) cube([100,100,100], center=true);
+				}
+			// Duschkopf-Gewinde an Schlauch
+			translate([0,0,-Gewinde]) metric_thread (diameter=20, pitch=Inch/14, length=Gewinde, leadin=2, test=false);
+		}
+		// Innenbohrung
+		#hull() {
+			translate([0,0,Kugel*0.9]) sphere(d=Bohrung);
+			translate([0,0,-Gewinde]) sphere(d=Bohrung*1.25);
+		}
+	}
+}
+
+module unten() {
+	R=2;
+	difference() {
+		translate([0,0,R]) hull() {
+			rotate_extrude(convexity = 10) translate([(Kugel*0.95-2*R)/2, 0, 0]) circle(r = R);
+			cylinder(d=Kugel*0.95, h=Gewinde+1.5);
+		}
+		translate([0,0,R]) metric_thread (diameter=20+0.1, pitch=Inch/14, length=Gewinde+2, leadin=2, test=false);
+		for(i=[0:360/2:359]) rotate([0,0,i]) translate([3,0,0]) cylinder(d=2, h=40, center=true);
+	}
+}
+
+intersection() {
+	union() {
+		oben();
+		translate([0,0,-(Gewinde+3.5)]) unten();
+	}
+	#translate([0,50,0]) cube([100,100,100], center=true);
+}

+ 10 - 0
3D/spool_desicant_and_hygrometer_holder-container.scad

@@ -0,0 +1,10 @@
+$fn=90;
+import("./spool_desicant_and_hygrometer_holder-container.stl", convexity=10);
+
+D=54;
+translate([D/2, D/2, 1]) difference() {
+  cylinder(h=35, d=18);
+  cylinder(h=35, d=15);
+  translate([0,0,5])  for(i=[0:360/15:359]) rotate([0,0,i])  
+    cube([20,1,25]);
+}

+ 15 - 0
3D/spool_desicant_and_hygrometer_holder-lid.scad

@@ -0,0 +1,15 @@
+$fn=270;
+DA=54;
+
+difference() {
+  union(){
+    import("./spool_desicant_and_hygrometer_holder-lid.stl", convexity=10);
+    translate([DA/2,DA/2,-4]) cylinder(h=8, d=DA);
+    translate([DA/2,DA/2,-4]) cylinder(h=2, d=70, center=true);
+  }
+  translate([DA/2,DA/2,-3]) union() {
+    cylinder(d=46, h=7);
+    cylinder(h=15, d=41.5, center=true);
+    cube([43,7,15], center=true);
+  }
+}

+ 14 - 0
3D/thingiverse_4534045.scad

@@ -0,0 +1,14 @@
+$fn=180;
+
+difference() {
+  union() {
+    import("./thingiverse/Inside Spool Desiccant Canister - 4534045/files/Desiccant_Canister_-_Container.stl", convexity=10);
+    cylinder(d=45, h=2);
+    translate([0,0,-1.8]) cylinder(h=6, d=50, center=true);
+    translate([0,0,-4]) cylinder(h=2, d=70, center=true);
+  }
+  cylinder(d=46, h=4, center=true);
+  // Loch für Hygrometer
+  cylinder(h=15, d=41.5, center=true);
+  cube([43,7,15], center=true);
+}

+ 1 - 0
3D/vakuumnippel.scad

@@ -1,4 +1,5 @@
 use <threads.scad>
+// Für BRS-7 Kocher
 
 $fn=36;
 D_Schlauch = 6;