# HG changeset patch # User Paul Boddie # Date 1398806437 -7200 # Node ID 1281a9daf3dd382e60797fe142853f6d2ea25f72 # Parent ccc9692dbc0ef12ca4b3dfdab383d4407c677748 Added front "lug" feature to mate with the back "lug". diff -r ccc9692dbc0e -r 1281a9daf3dd cartridge.scad --- a/cartridge.scad Wed Apr 23 23:45:56 2014 +0200 +++ b/cartridge.scad Tue Apr 29 23:20:37 2014 +0200 @@ -167,7 +167,7 @@ (Acorn Support Application Group Note 014). */ - /* Extra internal features. */ + /* Extra internal features. Depths include front and back surfaces. */ pcb_back_support_width = 1.2; pcb_back_support_depth = back_depth - @@ -202,9 +202,17 @@ pcb_lug_offset_from_outside = 7.55; pcb_lug_cross_width = 6.7; - pcb_lug_cross_depth = pcb_lug_depth; + pcb_lug_cross_depth = pcb_back_support_depth; pcb_lug_cross_height = 1.4; + pcb_front_lug_depth = pcb_back_support_bump_depth + + pcb_front_support_depth - front; + pcb_front_lug_inner_radius = pcb_lug_outer_radius; + pcb_front_lug_outer_radius = pow( + pow(pcb_lug_cross_width / 2, 2) + + pow(pcb_lug_cross_height / 2, 2), + 0.5); + /* Repeated constructs. */ module pcb_support(xdir, bump_height, bump_offset) { @@ -271,6 +279,22 @@ } } + module pcb_front_lug(xdir) { + translate([xdir * + (width/2 - pcb_lug_offset_from_outside), + -front_depth + front + pcb_front_lug_depth, + -height / 2 + bottom + bottom_from_base + + pcb_lug_offset_from_bottom + ]) + rotate([90, 0, 0]) + difference() { + cylinder(h=pcb_front_lug_depth, + r=pcb_front_lug_outer_radius); + cylinder(h=pcb_front_lug_depth, + r=pcb_front_lug_inner_radius); + } + } + /* The actual shapes. */ translate([-width * 0.6, 0, 0]) @@ -338,6 +362,11 @@ pcb_support_margin, 0, -height / 2 + bottom + bottom_from_base); + + /* Circular "lugs" to hold PCBs in place. */ + + pcb_front_lug(-1); + pcb_front_lug(1); } /* Label insets. */