Split in Submodule
This commit is contained in:
parent
6b584d6bb7
commit
ade9cee8ff
@ -19,6 +19,11 @@ vollehoehe = 20;
|
||||
hoehe = vollehoehe-sphere;
|
||||
}
|
||||
|
||||
include <mod_Tools.scad>;
|
||||
include <mod_Deckel.scad>;
|
||||
include <mod_Tools.scad>;
|
||||
include <mod_Box.scad>;
|
||||
|
||||
difference() {
|
||||
Box();
|
||||
Deckel();
|
||||
@ -29,176 +34,4 @@ translate([0, vollelaenge+10,-vollehoehe+wall/2]) {
|
||||
Deckel(griff=true,spiegel=true,kante=true);
|
||||
}
|
||||
|
||||
module Deckel(griff=false,spiegel=false,kante=false) {
|
||||
translate([0,vollelaenge/2,0])
|
||||
difference() {
|
||||
union() {
|
||||
mirror_copy()
|
||||
translate([0,-vollelaenge/2,0])
|
||||
Deckelhaelfte(kante,spiegel);
|
||||
}
|
||||
if(griff) {
|
||||
scale([0.75,1.25,1])
|
||||
difference() {
|
||||
translate([8,0,vollehoehe-0.3])
|
||||
color("red")
|
||||
cylinder(h=0.5,r=6);
|
||||
translate([10.5,0,vollehoehe-0.3])
|
||||
color("blue")
|
||||
cylinder(h=1,r=5.5);
|
||||
translate([7.5,0-6.5,vollehoehe-0.3])
|
||||
color("magenta")
|
||||
cube([9,13,0.5]);
|
||||
//cube(4,true);
|
||||
}
|
||||
scale([0.75,1.25,1])
|
||||
difference() {
|
||||
translate([13,0,vollehoehe-0.3])
|
||||
color("red")
|
||||
cylinder(h=1,r=6);
|
||||
translate([15.5,0,vollehoehe-0.3])
|
||||
color("blue")
|
||||
cylinder(h=1,r=5.5);
|
||||
translate([12.5,0-6.5,vollehoehe-0.3])
|
||||
color("magenta")
|
||||
cube([9,13,0.5]);
|
||||
//cube(4,true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
module Deckelhaelfte(kante=false,spiegel=false) {
|
||||
difference() {
|
||||
// Deckelplatte
|
||||
translate([0,rundung/3,vollehoehe-wall/2])
|
||||
color("lime")
|
||||
cube([vollebreite-rundung/3,(vollelaenge-2*rundung/3)/2,wall/2+.1]);
|
||||
|
||||
// Winkel 1
|
||||
translate([-1,rundung/3,vollehoehe-wall/2])
|
||||
color("brown")
|
||||
rotate([65,0,0])
|
||||
cube([vollebreite-rundung/3+2,wall,wall/2+1]);
|
||||
|
||||
// Winkel 2
|
||||
translate([vollebreite-rundung/3*2,vollelaenge-2*rundung/3+wall,vollehoehe])
|
||||
color("brown")
|
||||
rotate([-65,0,-90])
|
||||
cube([vollebreite-rundung/3+2,wall,wall/2+1]);
|
||||
|
||||
// Winkel 3
|
||||
translate([vollebreite-rundung/3-wall/2-1,-2,vollehoehe-wall/2-1])
|
||||
color("red")
|
||||
rotate([45,0,45])
|
||||
cube([10,wall,wall/2+1]);
|
||||
|
||||
// Spiegel
|
||||
if(spiegel) {
|
||||
translate([11.5,5,vollehoehe-wall/2+1.5])
|
||||
color("lightblue")
|
||||
cube([vollebreite-rundung/3-16,vollelaenge-17.5,wall/2+1]);
|
||||
}
|
||||
|
||||
// Kante
|
||||
if(kante) {
|
||||
translate([-1,-3.3,vollehoehe-wall/2])
|
||||
color("brown")
|
||||
cube([vollebreite-rundung/3+2,wall,wall/2+1]);
|
||||
|
||||
translate([vollebreite+3.3,0,vollehoehe-wall/2])
|
||||
color("brown")
|
||||
rotate([0,0,90])
|
||||
cube([vollelaenge/2,wall,wall/2+1]);
|
||||
|
||||
translate([0.5,0,vollehoehe-wall/2-1])
|
||||
color("brown")
|
||||
rotate([0,0,90])
|
||||
cube([vollelaenge/2,wall,wall/2+2]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
module Box() {
|
||||
// Box
|
||||
difference() {
|
||||
// Box
|
||||
translate([sphere,sphere,sphere])
|
||||
box();
|
||||
|
||||
// Obere harte Kante
|
||||
translate([0,0,vollehoehe])
|
||||
color("blue",0.7)
|
||||
cube([vollebreite,vollelaenge,sphere]);
|
||||
}
|
||||
|
||||
// Hauptsteg
|
||||
difference() {
|
||||
//Hauptsteg
|
||||
translate([wall/2,vollelaenge*0.5,wall/2-0.5])
|
||||
color("yellow")
|
||||
cube([vollebreite-wall+0.1,1,hoehe-0.7]);
|
||||
|
||||
// Durchgriff
|
||||
translate([vollebreite/2+3.55,vollelaenge*0.5+2.5,17])
|
||||
rotate([90,0,0])
|
||||
scale([2.25,1])
|
||||
cylinder(h=5,r=8.5);
|
||||
}
|
||||
// Quersteg 1
|
||||
difference() {
|
||||
translate([13.5,wall/2,wall/2-0.5])
|
||||
color("magenta")
|
||||
cube([1,(vollelaenge-wall)/2+0.1,hoehe-0.7]);
|
||||
|
||||
// Durchgriff
|
||||
translate([11,wall*1.2,10])
|
||||
rotate([0,90,0])
|
||||
cylinder(h=4,r=2);}
|
||||
|
||||
// Zyl gebraucht 2/2
|
||||
translate([19,vollelaenge/2-4/2,wall/2-0.5])
|
||||
color("cyan")
|
||||
cylinder(h=16.8, r1=3, r2=1.8);
|
||||
}
|
||||
|
||||
module grundbox() {
|
||||
// Box
|
||||
color("purple",0.7)
|
||||
roundbox(breite,laenge,hoehe);
|
||||
|
||||
// Halter
|
||||
difference() {
|
||||
translate([-5,laenge/2,-0.5])
|
||||
color("yellow")
|
||||
cube([10,4,7],true);
|
||||
rotate([270,0,0])
|
||||
translate([-6.75,0.6,laenge/2])
|
||||
color("green")
|
||||
cylinder(h=7,d=4,center=true);
|
||||
}
|
||||
}
|
||||
|
||||
module box() {
|
||||
difference() {
|
||||
grundbox();
|
||||
|
||||
// Innenausschnitt
|
||||
translate([wall/2,wall/2,wall/2])
|
||||
color("red",0.7)
|
||||
roundbox(breite-wall,laenge-wall,hoehe);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
module roundbox(w,h,d) {
|
||||
minkowski(){
|
||||
cube([w,h,d]);
|
||||
sphere(sphere);
|
||||
}
|
||||
}
|
||||
|
||||
module mirror_copy(v = [0, 1, 0]) {
|
||||
children();
|
||||
mirror(v) children();
|
||||
}
|
Loading…
Reference in New Issue
Block a user