include <utils.scad>
-mount_lip_height = 2.0 - 0.15;
+mount_lip_height = 2.0 - 0.15 - 0.15;
mount_lip_depth = 2.5 /*?*/ - 0.30;
-mount_neck_width = 26.5 - 0.55;
+mount_neck_width = 26.5 - 0.55 - 0.15;
mount_neck_length = 1.5 + 0.50;
+mount_diag_outer = 34.8 - 0.50;
+mount_diag_inner = 34.6 - 0.20 - 0.50;
+
mount_slope = .65;
mount_extra_slope = 3;
mnep_z_offset = -mnep2[1];
mnep_side_offset = [ mount_neck_width/2, mnep_z_offset ];
-module NeckEdgePlan() {
+module MountNeckEdgePlan() {
polygon([ mnep0,
mnep1,
mnep2,
mnep7 ]);
}
-module Neck() {
+module MountNeckSquare() {
intersection_for (r=[0,90]) {
rotate([0,0,r]){
linextr_y_xz(-100,100,convexity=10){
for (m=[0,1]) {
mirror([m,0]) {
- translate(mnep_side_offset) NeckEdgePlan();
+ translate(mnep_side_offset) MountNeckEdgePlan();
rectfromto([-0.1, -mount_total_height],
mnep_side_offset + mnepm);
}
}
}
-module DemoCeil() {
+module MountDiagonal() {
+ rotate([0,0,45]){
+ translate([0,0, -mount_total_height]){
+ linextr(0, mount_lip_height)
+ square(center=true, mount_diag_outer);
+ linextr(0, mount_total_height)
+ square(center=true, mount_diag_inner);
+ linextr(mount_lip_height + mount_neck_length,
+ mount_total_height + 1)
+ square(center=true, 100);
+ }
+ }
+}
+
+module MountDemoCeil() {
c = mount_demo_ceil + mount_extra_slope;
linextr(0, 0.8) {
square(mount_neck_width + 2*(mount_demo_ceil + mount_extra_slope),
}
}
-module Demo(){
- Neck();
- DemoCeil();
+module Mount(){
+ intersection(){
+ MountNeckSquare();
+ MountDiagonal();
+ }
+}
+
+module MountDemo(){ ////toplevel
+ Mount();
+ MountDemoCeil();
}
-//NeckEdgePlan();
-//Neck();
-//DemoCeil();
-Demo();
+//MountNeckEdgePlan();
+//MountNeck();
+//MountDemoCeil();
+//MountDiagonal();
+//MountDemo();