diff --git a/rolle.scad b/rolle.scad new file mode 100644 index 0000000..001e0ee --- /dev/null +++ b/rolle.scad @@ -0,0 +1,55 @@ +$fn = 100; + +d_achse = 3; //Durchmesser Achse bei der Rolle +d_achse_halter = 5; // Durchmesser Achse beim Halter +d_rolle = 10; //Rollendurchmesser + +b_rolle = 10; //Rollenbreite +b_halter = 1.5; //Halterbreite +b_boden = 1.5; //Bodenbreite +boden_offset = 2; //Zusätzlicher Rahmen außenrum + +t_rolle_aussparung_1 = 0.5; // Tiefe der Achsenaussparung - spitz zulaufend +t_rolle_aussparung_2 = 1; // Tiefe der Achsenaussparung - zylinder +a_rolle_halter = 0.5; // Abstand zwischen Rolle und Halter +a_rolle_boden = 3; //Abstand zwischen Rolle und Boden + +module halter () +{ + translate([- d_rolle / 2,0,0]){ + resize([0,d_rolle,0]) { + difference () { + cylinder(h = b_halter, r = d_rolle * 3 /4); + translate([- d_rolle*3/4, -d_rolle*3/4, 0]) cube([d_rolle * 3 /4, 2 * d_rolle * 3 /4, b_halter]); + } + } + translate([-a_rolle_boden, -d_rolle /2, 0]) cube([a_rolle_boden,d_rolle, b_halter]); + } + + translate([0,0,b_halter]) { + cylinder(h=t_rolle_aussparung_1 + a_rolle_halter, r1 = d_achse_halter / 2, r2 = d_achse / 2); + translate([0,0,t_rolle_aussparung_1]) cylinder(h=t_rolle_aussparung_2 + a_rolle_halter, r = d_achse / 2); + } +} + +module halterung () +{ + halter(); + translate([0,0,b_rolle + 2 * (a_rolle_halter + b_halter)]) mirror([0,0,1]) halter(); + + translate([- d_rolle / 2 - a_rolle_boden - b_boden,-d_rolle /2 - boden_offset,-boden_offset]) { + cube([b_boden,d_rolle + boden_offset * 2, b_halter * 2 + a_rolle_halter * 2 + b_rolle + boden_offset * 2]); + } +} + +module rolle () +{ + translate([0,0,-a_rolle_halter - b_halter]) difference() { + translate([0,0,a_rolle_halter + b_halter]) cylinder(h=b_rolle, d=d_rolle); + halterung(); + } +} + +rolle(); +translate([3 * d_rolle,0,b_boden + a_rolle_boden + d_rolle / 2]) rotate([0,-90,0]) halterung(); +