From: Jan "Yenya" Kasprzak Date: Wed, 19 Aug 2015 06:48:37 +0000 (+0200) Subject: knife-stand: first try X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=commitdiff_plain;h=de6bb578c39b9d8e9ec1e6ba54026f6a2900da73;p=things.git knife-stand: first try --- 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(); +