From 2a66bcad7501358426036ba27aed014bd9929446 Mon Sep 17 00:00:00 2001 From: Jan Huwald Date: Mon, 13 Jul 2015 09:26:52 +0200 Subject: add suspension cube (model & drill stencil) diff --git a/suspension_cube.scad b/suspension_cube.scad new file mode 100644 index 0000000..e3be454 --- /dev/null +++ b/suspension_cube.scad @@ -0,0 +1,45 @@ +cube_side = 100; +min_cube_height = 116; + +shaft_hole_rad=15; +blind_hole_depth = 5; // arbitrary value, TODO +clamp_hole_rad = 13/2; + +board_width=18; + +cube_height = board_width * ceil(min_cube_height / board_width); + +clamp_hole_excentricity = (shaft_hole_rad + cube_side/2 - clamp_hole_rad) / 2; + +module suspension_cube() { + + difference() { + translate([-cube_side/2, -cube_side/2, 0]) + union() { + cube([cube_side, cube_side, cube_height]); + cube([cube_side + board_width, cube_side + board_width, board_width]); + } + + // bore hole for bike shaft (radius of the smallest available + // tool larger than the shaft radius) + cylinder(r=shaft_hole_rad, h=2*cube_height, center=true); + + // blind holes to capture the bearing + for (h = [-0.001, cube_height - blind_hole_depth + 0.001]) + translate([0, 0, h]) + cylinder(r=20, h=blind_hole_depth); + + // holes for clamping screws + for (i = [-1, 1]) + for (j = [-1, 1]) + rotate([0, 0, 45+j*45]) + translate([i * clamp_hole_excentricity, + 0, + board_width + (0.5 - i/4)*(cube_height - board_width) + j*clamp_hole_rad]) + rotate([90, 0, 0]) + cylinder(r=clamp_hole_rad, h=2*cube_height, center=true); + } +} + +if (no_master == undef) +suspension_cube(); diff --git a/suspension_cube.svg b/suspension_cube.svg new file mode 100644 index 0000000..4f4716f --- /dev/null +++ b/suspension_cube.svg @@ -0,0 +1,57 @@ + + + + + + image/svg+xml + + + + + + + OpenSCAD Model + + diff --git a/suspension_cube_stencil.scad b/suspension_cube_stencil.scad new file mode 100644 index 0000000..c950074 --- /dev/null +++ b/suspension_cube_stencil.scad @@ -0,0 +1,10 @@ +no_master = true; + +include; + +for (i = [0, 1]) +translate([i*1.5*cube_side, 0]) +projection(cut=true) +translate([clamp_hole_excentricity, 0, clamp_hole_excentricity]) +rotate([90, i*90, 0]) +suspension_cube(); -- cgit v0.10.1