WikiSkripta:3D Logo

Z WikiSkript

3DLogo.png

Soubor ve formát .scad (OpenSCAD):

module Hippokrates1() {
    texts = [
        [00, "Per Apollinem"],
        [10, "Medicum et"],
        [20, "Aesculapium,"],
        [30, "Hygiamque"],
        [40, "et Panacem"],    
        [50, "ius iurando"],
        [60, "affirmo et"],
        [70, "Deos Deasque"],
    ];
    for (t = texts) {
        translate([0, 60-t[0], 0]) {
            color("grey")
            linear_extrude( height = 2 ) {
                text(t[1], "Liberation Sans", size = 6, halign = "center");
            }
        }
    }
}
module Hippokrates2() {
    texts = [
        [00, "omnes testor,"],
        [10, "me quantum"],
        [20, "viribus et"],
        [30, "iudicio valuero,"],
        [40, "quod nunc iuro"],
        [50, "et ex scripto"],
        [60, "spondeo plane"],
        [70, "observaturum."],
    ];
    for (t = texts) {
        translate([0, 60-t[0], 0]) {
            color("grey")
            linear_extrude( height = 2 ) {
                text(t[1], "Liberation Sans", size = 6, halign = "center");
            }
        }
    }
}
module Aesculap() {
    linear_extrude( height = 105, center = false, convexity = 10, twist = 540, scale = [2.5,2], slices = 140) {
        translate([10, 0, 0])
        circle(r = 6);
    }
    
    linear_extrude( height = 105, center = false, convexity = 10, twist = 540, scale = [2.5,2], slices = 140) {
        translate([-10, 0, 0])
        circle(r = 6);
    }
    
    translate([30,-10,115]) rotate([-0,30,120]) scale([6,4,2]) sphere(r=5, $fs=0.1);
    
    translate([-30,10,115]) rotate([0,-30,120]) scale([6,4,2]) sphere(r=5, $fs=0.1);
}
module Paracelsus() {
    for( i = [0:10] ) {
        translate([10,-50,i]) cube([70-i,100,1]);
        translate([-(70-i)-10,-50,i]) cube([70-i,100,1]);
    }
    difference() {
        union() {
            translate([-10, 50, 0]) rotate([90, 0, 0]) cylinder(h = 100, r = 11);
            translate([10, 50, 0]) rotate([90, 0, 0]) cylinder(h = 100, r = 11);
        }
        translate([-30, -60, -20]) cube([60, 120, 20]);
    }
    translate([-82.5, -52.5, -3]) cube([165, 105, 3]);  
}


union() {
    color("orange")
    Aesculap();
    
    Paracelsus();
    
    translate([-40, -30, 10]) Hippokrates1();
    
    translate([40, -30, 10]) Hippokrates2();
}