From a5b199c549f259db101ad9425a2a26197edd3446 Mon Sep 17 00:00:00 2001 From: LongHairedHacker Date: Mon, 1 Aug 2016 12:51:03 +0200 Subject: [PATCH] Added new handle --- constants.scad | 10 +++++++++- handle.scad | 43 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 52 insertions(+), 1 deletion(-) create mode 100644 handle.scad diff --git a/constants.scad b/constants.scad index 59967f7..c628611 100644 --- a/constants.scad +++ b/constants.scad @@ -19,4 +19,12 @@ bumper_height = 15; bumper_diameter = 85; // Flat surface starts after bumper_edge_radius from the outside bumper_edge_radius = bumper_diameter - tube_outer_diameter - 4; -bumper_tube_depth = 5; \ No newline at end of file +bumper_tube_depth = 5; + + +handle_length = 70; +handle_thickness = 10; +handle_height = 15; +handle_max_width = 30; +handle_min_width = 10; +handle_minkowski_dia = 5; diff --git a/handle.scad b/handle.scad new file mode 100644 index 0000000..6452480 --- /dev/null +++ b/handle.scad @@ -0,0 +1,43 @@ +//$fn = 90; + +include ; + + + +module handle() { + center_offset = (handle_length / 2) + - handle_height; + + // Doesn't make much sense but gives nice proportions + handle_bevel_radius = 2 * handle_length - handle_min_width; + + rotate([-90, 0, 0]) + minkowski() { + translate([0, center_offset, 0]) + difference() { + cylinder(d = handle_length, + h = handle_max_width, + center = true); + cylinder(d = handle_length - handle_thickness, + h = handle_max_width, + center = true); + translate([0, handle_height, 0]) + cube([handle_length, + handle_length, + handle_max_width + ], + center = true); + + for(z = [-handle_length, handle_length]) + translate([0, -center_offset, z]) + rotate([90,0,0]) + cylinder(d = handle_bevel_radius, + h =handle_max_width); + + } + + sphere(d = handle_minkowski_dia, center = true); + } +} + +handle(); \ No newline at end of file