3 // should rename this to actual name of the product
7 lip_height = 2.0 - 0.15;
8 lip_depth = 2.5 /*?*/ - 0.20;
9 neck_width = 26.5 - 0.45;
10 neck_depth = 28.5 - 0.45;
11 neck_length = 1.5 + 0.50;
20 nep1 = nep0 + [0,1] * neck_length;
21 nep7 = nep0 + [1,0] * lip_depth;
22 nep2 = [ nep7[0], nep1[1] + slope * (nep7[0] - nep1[0]) ];
23 nep3 = nep2 + [0, 0.1];
24 nep4 = [ nep0[0]-1, nep3[1] ];
25 nep6 = nep7 + [0,-1] * lip_height;
26 nep5 = [ nep4[0], nep6[1] ];
27 nepm = [ nep0[0], nep3[1] ];
29 total_height = nep2[1] - nep6[1];
30 nep_z_offset = -nep2[1];
31 nep_side_offset = [ neck_width/2, nep_z_offset ];
32 nep_rear_offset = [ neck_depth, nep_z_offset ];
34 module NeckEdgePlan() {
47 linextr_y_xz(-100,100,convexity=10){
50 translate(nep_side_offset) NeckEdgePlan();
51 rectfromto([-0.1, -total_height],
52 nep_side_offset + nepm);
56 linextr_x_yz(-100,100,convexity=10){
57 translate(nep_rear_offset) NeckEdgePlan();
58 rectfromto([0, -total_height],
59 nep_rear_offset + nepm);
67 ([ -(neck_width/2 + demo_ceil), -demo_ceil ],
68 [ +(neck_width/2 + demo_ceil), neck_depth + demo_ceil]);