diff options
author | Jan Huwald <jh@sotun.de> | 2014-02-04 13:10:10 (GMT) |
---|---|---|
committer | Jan Huwald <jh@sotun.de> | 2014-02-04 13:10:10 (GMT) |
commit | 535382613db920c0d0b49b3c1f30e596ddf58aa8 (patch) | |
tree | baa627ca687a7ec77a36bf7f7a940a7a60275a18 | |
parent | cb28e264b74a562e9e1e0688f7208b2eed22f6cd (diff) |
implement all border cases
-rw-r--r-- | connector_front.scad | 46 |
1 files changed, 30 insertions, 16 deletions
diff --git a/connector_front.scad b/connector_front.scad index c3382cc..5ec5d41 100644 --- a/connector_front.scad +++ b/connector_front.scad @@ -3,29 +3,42 @@ include <parameters.scad> use <nipple.scad> use <rail.scad> -module half() difference() { +module front_connector_half( + border_side = false, + border_top = false, + border_bottom = false +) difference() { union() { - // upper horizontal bar - translate([0, 0, tray_height - bar_thickness]) - cube([tray_width / 2, bar_thickness, bar_thickness]); - // vertical bar cube([bar_thickness/2, bar_thickness, tray_height]); - // lower horizontal bar - cube([bar_thickness/2 + rail_width + pla_epsilon, bar_thickness, bar_thickness]); + if (!border_side) { + // upper horizontal bar + translate([0, 0, tray_height - bar_thickness]) + cube([tray_width / 2, bar_thickness, bar_thickness]); + + // lower horizontal bar + cube([bar_thickness/2 + rail_width + pla_epsilon, bar_thickness, bar_thickness]); - // vertical thread bold receiver - translate([0, bar_thickness, tray_height-bar_thickness]) cube([bar_thickness/2, bar_thickness, bar_thickness]); - translate([tray_width/2 - bar_thickness, bar_thickness, tray_height-bar_thickness]) cube([bar_thickness, bar_thickness, bar_thickness]); + // vertical thread bold receiver (extremal) + translate([tray_width/2 - bar_thickness, bar_thickness, tray_height-bar_thickness]) + cube([bar_thickness, bar_thickness, bar_thickness]); + } + + // vertical thread bold receiver (central) + translate([0, bar_thickness, tray_height-bar_thickness]) + cube([bar_thickness/2, bar_thickness, bar_thickness]); + } + if (!border_bottom) { // male downward positioning nippel translate([rail_width, bar_thickness / 2, 0]) nipple(); } // receiver for rail - translate([bar_thickness/2 - rail_thickness, 0, bar_thickness - rail_thickness]) - rail(); + if (!border_side) + translate([bar_thickness/2 - rail_thickness, 0, bar_thickness - rail_thickness]) + rail(); // holes for thread rods (horizontal, vertical) translate([0, bar_thickness / 2, 0]) @@ -38,7 +51,8 @@ module half() difference() { cylinder(h=nut_height, r=nut_diameter/2 + pla_epsilon, $fs=0.1); // female downward positioning nippel - translate([rail_width, bar_thickness / 2, tray_height]) nipple(pla_epsilon); + if (!border_top) + translate([rail_width, bar_thickness / 2, tray_height]) nipple(pla_epsilon); } @@ -50,8 +64,8 @@ module front_connector( ) { difference() { union() { - half(border_right); - mirror() half(border_left); + mirror() front_connector_half(border_left, border_top, border_bottom); + front_connector_half(border_right, border_top, border_bottom); } // female leftward positioning nippel @@ -64,4 +78,4 @@ module front_connector( translate([tray_width / 2, bar_thickness / 2, tray_height - bar_thickness / 2]) rotate([0, 270, 0]) nipple(); } -front_connector(border_right=true);
\ No newline at end of file +front_connector(); |