slope = 0.35;
+// calculated
+
nep0 = [0,0];
nep1 = nep0 + [0,1] * neck_length;
nep7 = nep0 + [1,0] * lip_depth;
total_height = nep2[1] - nep6[1];
nep_z_offset = -nep2[1];
nep_side_offset = [ neck_width/2, nep_z_offset ];
-nep_rear_offset = [ neck_depth/2, nep_z_offset ];
-inner_pos = [-0.1, -total_height];
+nep_rear_offset = [ neck_depth, nep_z_offset ];
module NeckEdgePlan() {
polygon([ nep0,
}
module Neck() {
- for (m=[0,1]) {
- mirror([m,0]) {
- translate(nep_side_offset) NeckEdgePlan();
- rectfromto(inner_pos,
- nep_side_offset + nepm);
+ intersection(){
+ linextr_y_xz(-100,100,convexity=10){
+ for (m=[0,1]) {
+ mirror([m,0]) {
+ translate(nep_side_offset) NeckEdgePlan();
+ rectfromto([-0.1, -total_height],
+ nep_side_offset + nepm);
+ }
+ }
+ }
+ linextr_x_yz(-100,100,convexity=10){
+ translate(nep_rear_offset) NeckEdgePlan();
+ rectfromto([0, -total_height],
+ nep_rear_offset + nepm);
}
}
}