module RailMountCutoutElevation() {
square([ rail_mount_nom_width, 20 ], center=true);
}
-module RailMountPositiveElevation() {
+module RailMountSideElevation() {
for (xs = [-1,+1]) {
translate([ xs * rail_mount_nom_width/2, , -below_plane_z/2 ])
ellipse([ rail_mount_side_nom_r_w, below_plane_z ]/2);
}
-
+}
+module RailMountTongueElevation() {
translate([ 0, -rail_mount_mid_depth/2 ])
ellipse([ rail_mount_mid_nom_r_w, rail_mount_mid_depth ]/2);
}
rectfromto([ -20, -below_plane_z ],
[ 20, 0 ]);
color("yellow") translate([0,0, -5]) RailMountCutoutElevation();
- color("purple") translate([0,0, 5]) RailMountPositiveElevation();
+ color("purple") translate([0,0, 5]) {
+ RailMountSideElevation();
+ RailMountTongueElevation();
+ }
}
module RailMountTest(){ ////toplevel
RailMountCutoutElevation();
}
linextr_y_xz(-1, rail_mount_tongue_len)
- RailMountPositiveElevation();
+ RailMountTongueElevation();
+ linextr_y_xz(-20, 30)
+ RailMountSideElevation();
}
module OdAt(x,y) {