diff options
Diffstat (limited to 'connector.scad')
-rw-r--r-- | connector.scad | 36 |
1 files changed, 24 insertions, 12 deletions
diff --git a/connector.scad b/connector.scad index 89b5f9d..bc17e98 100644 --- a/connector.scad +++ b/connector.scad @@ -3,25 +3,37 @@ include <parameters.scad> use <nipple.scad> +use <rail.scad> module connector_half( border_side = false, border_top = false, border_bottom = false -) { - // vertical bar - cube([bar_thickness/2, bar_thickness, tray_height]); +) difference() { + union() { + // vertical bar + cube([bar_thickness/2, bar_thickness, tray_height]); - if (!border_side) { - // upper horizontal bar - translate([0, 0, tray_height - bar_thickness]) - cube([tray_width / 2, 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]); + // lower horizontal bar + cube([bar_thickness/2 + rail_width + pla_epsilon, bar_thickness, bar_thickness]); + } + + // male downward positioning nippel + if (!border_bottom && !border_side) + translate([rail_width, bar_thickness / 2, 0]) nipple(); } - // male downward positioning nippel - if (!border_bottom && !border_side) - translate([rail_width, bar_thickness / 2, 0]) nipple(); + // receiver for rail + if (!border_side) + translate([bar_thickness/2 - rail_thickness, 0, bar_thickness - rail_thickness]) + rail(); + + // female downward positioning nippel + if (!border_top) + translate([rail_width, bar_thickness / 2, tray_height]) nipple(pla_epsilon); } |