include use <../Color.scad> use <../Polygon.scad> raceLidLower(131, 53.5, 3); module raceLidLower(x, y, z) { makeColor("yellow") difference() { cube([ x, y, z ], false); translate([ 24, 26.75, -1 ]) cylinder(h = 4, r = 10, center = false); translate([ 0, 0, 1 ]) linear_extrude(height=3) polygon(points=leftLower); //translate([ 0, 0, 2 ]) hull() { // linear_extrude(height=0.1) polygon(points=leftLower); // translate([0,0,1.0]) linear_extrude(height=0.1) polygon(points=leftUpper); //} translate([ 0, 0, 2 ]) loft_between(leftLower, leftUpper, 0, 1.01); translate([ 0, 0, -1 ]) linear_extrude(height=5) polygon(points=rightLower); translate([ 0, 0, 1 ]) linear_extrude(height=3) polygon(points=rightUpper); translate([3.9, 0.9, -1]) rotate([ 0, 0, 45 ]) cuboid( [ 3.2, 4.7, 5 ], anchor = [ -1, -1, -1 ], rounding = 1, edges = [ FRONT+LEFT, FRONT+RIGHT, BACK+LEFT, BACK+RIGHT ] ); translate([0.4, 50.1, -1]) rotate([ 0, 0, -45 ]) cuboid( [ 3.2, 4.7, 5 ], anchor = [ -1, -1, -1 ], rounding = 1, edges = [ FRONT+LEFT, FRONT+RIGHT, BACK+LEFT, BACK+RIGHT ] ); translate([124.9, 2.9, -1]) rotate([ 0, 0, -45 ]) cuboid( [ 3.2, 4.7, 5 ], anchor = [ -1, -1, -1 ], rounding = 1, edges = [ FRONT+LEFT, FRONT+RIGHT, BACK+LEFT, BACK+RIGHT ] ); translate([127.9, 46.9, -1]) rotate([ 0, 0, 45 ]) cuboid( [ 3.2, 4.7, 5 ], anchor = [ -1, -1, -1 ], rounding = 1, edges = [ FRONT+LEFT, FRONT+RIGHT, BACK+LEFT, BACK+RIGHT ] ); } } leftLower = concat( arc_points([ 11.82, 11.82 ], [ 11.75, 3.8 ], [ 3.6, 11.75 ], steps=30, ccw=false), arc_points([ 9.24, 44.26 ], [ 3.6, 44.25 ], [ 9.25, 49.5 ], steps=30, ccw=false), [[ 39.46, 49.5 ]], arc_points([ 25.7, 26.6 ], [ 40.15, 45.45 ], [ 43.75, 11.15 ], steps=30, ccw=false), [[ 44.5, 3.8 ]] ); leftUpper = concat( [[ 45.65, 2.8 ]], arc_points([ 11.82, 11.82 ], [ 11.75, 2.8 ], [ 2.6, 11.75 ], steps=30, ccw=false), arc_points([ 9.24, 44.26 ], [ 2.6, 44.25 ], [ 9.25, 50.5 ], steps=30, ccw=false), [[ 40.3, 50.5 ]], arc_points([ 25.7, 26.6 ], [ 41.09, 46 ], [ 44.78, 10.81 ], steps=30, ccw=false) ); rightLower = concat( [[ 43.88, 47.5 ]], arc_points([ 104.21, 26.67 ], [ 104.5, 47.5 ], [ 125.44, 26.75 ], steps=30, ccw=false), arc_points([ 119.25, 11.75 ], [ 125.44, 11.75 ], [ 119.3, 5.8 ], steps=30, ccw=false), [[ 48.36, 5.8 ]], arc_points([ 28.22, 26.60 ], [ 47.84, 10.66 ], [ 44.09, 46.27 ], steps=30, ccw=true) ); rightUpper = concat( [[ 41.7, 49.6 ]], arc_points([ 104.21, 26.67 ], [ 104.5, 49.6 ], [ 127.44, 26.75 ], steps=30, ccw=false), arc_points([ 119.25, 11.75 ], [ 127.44, 11.75 ], [ 119.3, 3.9 ], steps=30, ccw=false), [[ 46.36, 3.9 ]], arc_points([ 28.22, 26.60 ], [ 45.84, 10.66 ], [ 42.60, 45.30 ], steps=30, ccw=true) );