Startpage


OpenScad Snippets



Winkel

Dicke, Länge und Breite

module winkel (dicke,laenge,breite) {
cube([breite,laenge,dicke]);
cube([dicke,laenge,breite]);
} 

winkel(5,30,80);
winkel(10,80,50);
winkel(20,100,80);


Winkel mit Bohrung

Dicke, Länge, Breite sowie Durchmesser der zentrierten Bohrung

module winkel (dicke,laenge,breite,bohrung) {
  difference () {
    union () {
        cube([breite,laenge,dicke]);
        cube([dicke,laenge,breite]);
        }
        translate([breite-breite/2.5,laenge-laenge/2,-dicke/4])
        cylinder(dicke+dicke/2,bohrung,bohrung);
        translate([-dicke/3.5,laenge-laenge/2,breite-breite/2.5])
        rotate([0,90,0])
        cylinder(dicke+dicke/2,bohrung,bohrung);
        } 
    }
    
winkel(5,30,80,10);
winkel(20,70,100,20);
winkel(10,200,150,15);


Hülse / Gleitlager / Beilagscheiben

Dicke, Durchmesser aussen und innen

module huelse (dicke,aussen,innen) {
difference () {
    $fn = 180;
    cylinder(dicke,aussen,aussen);
    translate([0,0,-10])
    cylinder(dicke+20,innen,innen);
}
}

huelse (20,20,10);
huelse (80,20,16);
huelse (10,80,20);


Halterung

Anzahl der Ecken innen und aussen, Durchmesser innen und aussen sowie Dicke

module halterung (dicke,aussen,innen,ecken_aussen,ecken_innen) {
    difference () {
        cylinder(dicke,aussen,aussen,$fn=ecken_aussen);
        translate([0,0,-dicke/3.5])
        cylinder(dicke+dicke/2,innen,innen,$fn=ecken_innen);        
    }
    
}

halterung (10,40,20,12,4);
halterung (40,40,20,4,6);
halterung (80,40,10,8,5);
halterung (80,40,10,3,20);


Halterung mit Befestigungsplatte

Dicke des Haltekopfs, Umfang aussen, Innen-Loch, Anzahl Ecken aussen, Anzahl Ecken innen, Dicke der Befestigungsplatte, Bohrlochgröße

module halterung (dicke,aussen,innen,ecken_aussen,ecken_innen,platte,bohrloch) {
    difference () {
        union() {
            cylinder(dicke,aussen,aussen,$fn=ecken_aussen);
            translate([-aussen*2,-aussen*2,0])
            cube([aussen*4,aussen*4,platte]);
        }
        translate([0,0,-dicke/3.5])
        cylinder(dicke+dicke/2,innen,innen,$fn=ecken_innen);
        translate([aussen*1.3,aussen*1.3,-dicke/3.5])
        cylinder(dicke+dicke/2,bohrloch,bohrloch);
        translate([-aussen*1.3,-aussen*1.3,-dicke/3.5])
        cylinder(dicke+dicke/2,bohrloch,bohrloch);
        translate([-aussen*1.3,aussen*1.3,-dicke/3.5])
        cylinder(dicke+dicke/2,bohrloch,bohrloch);
        translate([aussen*1.3,-aussen*1.3,-dicke/3.5])
        cylinder(dicke+dicke/2,bohrloch,bohrloch); 
    }
}

halterung (30,40,20,80,4,10,10);
halterung (100,40,20,6,6,20,20);
halterung (200,50,25,8,3,10,10);


Stäbe mit x Kanten

Länge, Dicke und Anzahl der Ecken

module stab (laenge,dicke,ecken) {
cylinder(laenge,dicke,dicke,$fn=ecken);
}

stab(400,20,5);
stab(400,20,12);
stab(400,20,3);


Klammern

Dicke, Länge, Breite und Abstand der Klammern zueinander

module klammer (dicke,laenge,breite,abstand) {
cube([breite,laenge,dicke]);
cube([dicke,laenge,abstand]);
translate([0,0,abstand])
cube([breite,laenge,dicke]);
} 

klammer(5,30,80,20);
klammer(10,80,40,30);
klammer(10,10,70,80);
klammer(30,20,40,80);


U-Profil mit 4 Bohrungen

Breite der Auflagenfläche, Materialdicke, Höhe innen, Breite innen, Länge, Bohrlochgröße

module uprofil (auflage,dicke,hoehe,breite,laenge,bohrung) {
difference() {
    union() {
        cube([auflage,laenge,dicke]);
        rotate([0,-90,0])
        translate([0,0,-auflage])
        cube([hoehe,laenge,dicke]);
        rotate([0,-90,0])
        translate([0,0,-breite-auflage])
        cube([hoehe,laenge,dicke]);
        translate([auflage-dicke,0,hoehe])
        cube([breite+dicke,laenge,dicke]);
        translate([auflage+breite-dicke,0,0])
        cube([auflage,laenge,dicke]);
        }
        translate([auflage/2.5,laenge/4.5,-dicke/2])
        cylinder(dicke+dicke/1.1,bohrung,bohrung);
        translate([auflage/2.5,laenge-laenge/4.5,-dicke/2])
        cylinder(dicke+dicke/1.1,bohrung,bohrung);
        translate([auflage+breite+auflage/2.5,laenge/4.5,-dicke/2])
        cylinder(dicke+dicke/1.1,bohrung,bohrung);
        translate([auflage+breite+auflage/2.5,laenge-laenge/4.5,-dicke/2])
        cylinder(dicke+dicke/1.1,bohrung,bohrung);
    }
}

uprofil (30,5,20,60,60,8);
uprofil (50,5,50,100,40,4);
uprofil (60,5,100,50,200,20);


Halterung zum Aufstecken

module schlaufenhalterung (dicke,breite,laenge,abstand,halter,tiefe) {
    cube([dicke,breite,laenge]);
    translate([-abstand+dicke,0,laenge])
    cube([abstand,breite,dicke]);
    translate([-abstand,0,laenge-halter])
    cube([dicke,breite,halter+dicke]);
    translate([dicke,breite/4,laenge/5])
    cube([tiefe,breite/2,dicke*2]);
    translate([dicke+tiefe,breite/4,laenge/5])
    cube([dicke,breite/2,dicke*6]);
}

schlaufenhalterung(10,200,50,50,50,50);
schlaufenhalterung(30,100,300,100,100,80);
schlaufenhalterung(20,500,300,300,500,20);


Behälter mit Deckel

Länge, Breite, Tiefe und Wanddicke

module kiste (breite,laenge,hoehe,wanddicke) {
    difference() {
        cube([laenge,breite,hoehe],yes);
        translate([wanddicke/2,wanddicke/2,wanddicke])
        cube([laenge-wanddicke,breite-wanddicke,hoehe],yes);
    }
    translate([laenge+50,0,0])
    cube([laenge,breite,wanddicke/2]);
    translate([laenge+50+wanddicke/2,wanddicke/2,wanddicke/2])
    cube([laenge-wanddicke,breite-wanddicke,wanddicke/2]);
}

kiste(50,50,30,10);
kiste(200,100,80,20);
kiste(300,300,80,15);


Landschaft erstellen

surface(file = "surface.dat",convexity = 5);

Inhalt der Text-Datei surface.dat, muss im selben Verzeichnis wie Arbeitsdatei liegen:

7 6 7 7 6 5 5 5 5 5
7 8 7 6 6 4 3 2 1 0
8 7 6 6 4 3 2 1 0 0
7 6 6 4 3 2 1 0 0 0
6 6 4 3 2 1 1 0 0 0
6 6 3 2 1 1 1 0 0 0
6 6 2 1 1 1 1 0 0 0
6 6 1 0 0 0 0 0 0 0
3 1 0 0 0 0 0 0 0 0
3 0 0 0 0 0 0 2 0 1



Last update: 16.09.2019 · # · Vienna, Austria · emanuel//at//mulischaf.com · Data privacy