From 9cf0ad34629226011b3d17278d0a913c299d169d Mon Sep 17 00:00:00 2001 From: Doralitze <doralitze@chaotikum.org> Date: Wed, 10 Apr 2019 08:23:23 +0200 Subject: [PATCH] =?UTF-8?q?add:=20Grundlage=20f=C3=BCr=20Umlenkrollen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- parts/Kabelumlenkrollen.scad | 27 ++++++++++++++++++++++++++ parts/lib/BasicFunctions.scad | 1 + parts/lib/RoundRect.scad | 36 +++++++++++++++++++++++++++++++++++ 3 files changed, 64 insertions(+) create mode 100644 parts/lib/BasicFunctions.scad create mode 100644 parts/lib/RoundRect.scad diff --git a/parts/Kabelumlenkrollen.scad b/parts/Kabelumlenkrollen.scad index e69de29..c066fb3 100644 --- a/parts/Kabelumlenkrollen.scad +++ b/parts/Kabelumlenkrollen.scad @@ -0,0 +1,27 @@ +/* + * Umlenkrollen. Wie immer sind alle Angaben in mm +*/ +include <lib/BasicFunctions.scad>; + +module spool(diameter, lenght, stone) { + $fn = get_render_correctness(); + rotate_extrude(angle = 360, convexity = 2) { + difference () { + translate ([diameter / 4, 0, 0]) + square([diameter / 2, lenght - 2 * stone], true); + translate ([(lenght - 2 * stone) + + ((lenght - 2 * stone) / diameter) + + (diameter/(lenght - 2 * stone)), + 0, 0]) + circle(lenght - 2 * stone); + } + } + translate ([0, 0, (lenght / 2) - (stone / 2)]) + linear_extrude(height=stone, center = true) + circle(diameter / 4); + translate ([0, 0, 0 - (lenght / 2) + (stone / 2)]) + linear_extrude(height=stone, center = true) + circle(diameter / 4); +} + +spool(30, 50, 5); \ No newline at end of file diff --git a/parts/lib/BasicFunctions.scad b/parts/lib/BasicFunctions.scad new file mode 100644 index 0000000..b1fcb49 --- /dev/null +++ b/parts/lib/BasicFunctions.scad @@ -0,0 +1 @@ +function get_render_correctness() = ($preview == true) ? 15 : 360; \ No newline at end of file diff --git a/parts/lib/RoundRect.scad b/parts/lib/RoundRect.scad new file mode 100644 index 0000000..ccf6d85 --- /dev/null +++ b/parts/lib/RoundRect.scad @@ -0,0 +1,36 @@ +include <BasicFunctions.scad>; + +module full_double_round_rect(size, radius) { + $fn = get_render_correctness() ; + x = size[0] - radius / 2; + y = size[1] - radius / 2; + z = size[2] - radius / 2; + + translate([radius, radius, radius]) + minkowski() { + cube(size=[x,y,z]); + sphere(r=radius); + } +} + +module flat_round_rect(size, radius) { + $fn = get_render_correctness() ; + x = size[0] - radius / 2; + y = size[1] - radius / 2; + z = size[2]; + + translate ([radius, radius, 0]) + minkowski () { + cube(size=[x, y, z]); + cylinder(r=radius); + } +} + +module half_double_round_rect(size, radius) { + union() { + full_double_round_rect(size, radius); + flat_round_rect([size[0], size[1], size[2] / 2], radius); + } +} + +half_double_round_rect ([30, 40, 10], 5); \ No newline at end of file -- GitLab