summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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