From 6002d409143a6726899a4de15c3a6b279a6b1d71 Mon Sep 17 00:00:00 2001 From: jaseg Date: Fri, 27 Sep 2019 10:07:38 +0200 Subject: Directory reorg: Put renderer into its own subdir --- renderer/src/_lib.scad | 83 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 renderer/src/_lib.scad (limited to 'renderer/src/_lib.scad') diff --git a/renderer/src/_lib.scad b/renderer/src/_lib.scad new file mode 100644 index 0000000..2654ed7 --- /dev/null +++ b/renderer/src/_lib.scad @@ -0,0 +1,83 @@ + +module hole(l, step, w){ + translate([0, 0, -eps]) { + union(){ + linear_extrude(l+eps*2) + children(); + minkowski(){ + linear_extrude(eps) children(); + cylinder(step, w, 0); + } + } + marker_r = 4; + marker_w = 1; + linear_extrude(1) + difference() { + offset(marker_r+0.5*marker_w) children(); + offset(marker_r-0.5*marker_w) children(); + } + } +} + +module top_chamfer(height, chamfer){ + difference(){ + linear_extrude(height) children(); + translate([0,0,height+eps]) + union() { + for(w=[0:.2:chamfer]){ + mirror([0,0,1]) + linear_extrude(chamfer-w) + difference(){ + offset(1) children(); + offset(-w) children(); + } + } + } + } +} + +module base_shape(wall){ + offset(grip_rounding) offset(-grip_rounding)difference(){ + hull() offset(wall) + children(); + import(input_file, layer="Grip Slots"); + } +} + +module holder(height, depth, wall, tolerance, chamfer){ + difference() { + top_chamfer(height, chamfer/2) + //linear_extrude(height) + base_shape(wall) children(); + translate([0,0,height-depth]) + linear_extrude(depth+eps) offset(tolerance) + children(); + translate([0,0,height-chamfer+eps]) minkowski(){ + linear_extrude(eps) children(); + cylinder(chamfer, 0, chamfer); + } + } +} + +module mounting_hole(height, inset_depth, inset_extra){ + union(){ + translate([0,0,-eps]) + linear_extrude(height+2*eps) + children(); + translate([0,0,height-inset_depth]) + linear_extrude(inset_depth+eps) + offset(inset_extra) + children(); + } +} + +module jig(height, depth, wall, tolerance, chamfer) { + difference(){ + holder(height, depth, wall, tolerance, chamfer) + import(input_file, layer="Outline"); + hole(height-depth, 2, 1) + import(input_file, layer="Test Points"); + mounting_hole(height, 3, 2) + import(input_file, layer="Mounting Holes"); + } +} -- cgit