| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- $fn=120;
- include <threads.scad>;
- Teil=1; // [1:Tonne, 2:Aufsatz, 3:Alles, 4:Druck, 5:Rahmen]
- Debug=false;
- D_Innen=75;
- Wand=4;
- module Flansch(diameter) {
- difference() {
- cylinder(d=D_Innen+2*32, h=5);
- for(i=[0:360/6:359]) rotate([0,0,i]) translate([D_Innen/2+20 ,0,0]) cylinder(d=6.5, h=20, center=true);
- cylinder(d=diameter, h=15, center=true);
- }
- }
- module Gewinde(Innen=false) {
- LEADIN=(Innen) ? 1 : 1;
- DIFF=(Innen) ? 1 : 0;
- metric_thread(diameter=DIFF+84, pitch=6, length=35, leadin=LEADIN
- , internal=Innen, thread_size=4, groove=Innen, angle=45);
- }
- module Tonne() {
- // Tonne: Innengewinde
- difference() {
- union() {
- Flansch(D_Innen);
- hull() {
- D=D_Innen+15;
- R=3;
- cylinder(d=D, h=0.1);
- translate([0,0,35-R]) rotate_extrude() translate([D/2-R,0]) circle(r=R);
- }
- }
- Gewinde(Innen=true);
- }
- }
- module Aufsatz() {
- // Abscheider: Außengewinde
- difference() {
- union() {
- cylinder(d=115, h=5);
- Gewinde(Innen=false);
- }
- cylinder(d=D_Innen, h=40);
- for(i=[0:360/8:359]) rotate([0,0,i]) translate([50,0,0]) cylinder(d=6.5, h=20, center=true);
- }
- }
- module Rahmen() {
- rotate([180,0,0]) difference() {
- union() {
- cylinder(d=115, h=5);
- }
- cylinder(d=85, h=40);
- for(i=[0:360/4:359]) rotate([0,0,i]) translate([50,0,0]) {
- cylinder(d=5.5, h=20, center=true);
- cylinder(d1=11.5, d2=0, h=11.5/2, center=false);
- }
- }
- }
- render()
- intersection() {
- if (Teil==1) Tonne();
- if (Teil==2) Aufsatz();
- if (Teil==5) Rahmen();
- if (Teil==3) {
- color("red") translate([0,0,-15]) Flansch(D_Innen+16);
- color("green") translate([0,0,0]) rotate([180,0,0]) Tonne();
- color("blue") translate([0,0,18]) rotate([180,0,0]) Aufsatz();
- }
- if (Teil==4) {
- color("red") translate([0,90,0]) Flansch(D_Innen+16); // Tonne IG Stutzen + 1mm
- color("green") translate([-110,0,0]) Tonne();
- color("blue") translate([100,0,0]) Aufsatz();
- }
- if (Debug) translate([0,150,0]) cube(300, center=true);
- }
|