summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Huwald <jh@sotun.de>2014-02-04 13:10:10 (GMT)
committerJan Huwald <jh@sotun.de>2014-02-04 13:10:10 (GMT)
commit535382613db920c0d0b49b3c1f30e596ddf58aa8 (patch)
treebaa627ca687a7ec77a36bf7f7a940a7a60275a18
parentcb28e264b74a562e9e1e0688f7208b2eed22f6cd (diff)
implement all border cases
-rw-r--r--connector_front.scad46
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();
contact: Jan Huwald // Impressum