From de6bb578c39b9d8e9ec1e6ba54026f6a2900da73 Mon Sep 17 00:00:00 2001 From: "Jan \"Yenya\" Kasprzak" Date: Wed, 19 Aug 2015 08:48:37 +0200 Subject: [PATCH] knife-stand: first try --- knife-stand.scad | 75 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 knife-stand.scad diff --git a/knife-stand.scad b/knife-stand.scad new file mode 100644 index 0000000..40673ad --- /dev/null +++ b/knife-stand.scad @@ -0,0 +1,75 @@ +eps = 0.01; +infty = 200; + +blade_w = 3.0; +blade_h = 32; +blade_l = 200; +slot_l = 40; + +slot_angle_y = -15; +slot_angle_z = -10; + +wall = 1.5; +clip_wall = 3.0; +clip_h = 15; +clip_rear = 20; +clip_in = 3.5; // inner width + +clip_l_top = 65; + +module slanted_knife() { + rotate([90, slot_angle_y, slot_angle_z]) + translate([-blade_w/2, -eps, wall]) + cube([blade_w, blade_l+2*eps, blade_h]); +} + +module slanted_knife_slot() { + difference() { + translate([0, 0, -wall]) + rotate([90, slot_angle_y, slot_angle_z]) + translate([-wall-blade_w/2, 0, 0]) + cube([blade_w+2*wall, slot_l, blade_h + 2*wall]); +/* + rotate([0, 0, slot_angle_z]) + translate([0, -infty/2, -infty/2]) + cube(infty); +*/ + } +} + +module body() { + for (x = [0:20:60]) translate([-x, 30, 0]) + slanted_knife_slot(); + + // main clip stem + translate([-75, 0, 0]) + cube([75+clip_l_top, clip_wall, clip_h]); + + // rear support + translate([-44+clip_wall, -15, 0]) + cube([clip_wall, 15, clip_h]); + + // horizontal clip part + translate([clip_l_top-clip_wall, -clip_wall-clip_in, 0]) + cube([clip_wall, clip_in+2*clip_wall, clip_h]); + + // rear clip part + translate([clip_l_top-clip_rear, -clip_wall-clip_in, 0]) + cube([clip_rear, clip_wall, clip_h]); +} + +module main() { + difference() { + body(); + + // z-negative plane + translate([-infty/2, -infty/2, -infty]) + cube(infty); + + for (x = [0:20:60]) translate([-x, 30, 0]) + slanted_knife(); + } +} + +main(); + -- 2.43.0