}
module LidEdgeFoldClearanceProfile(){
- polygon([ lpp10 + [0, -10],
+ polygon([ lpp10,
lpp11,
- lpp11 + [20, 0],
- lpp10 + [20, -10]
- ]);
+ lpp11 + [-20, 0],
+ lpp11 + [-20, 20],
+ lpp11 + [+20, 20],
+ lpp10 + [+20, 0] ]);
}
module ButtonCoverProfile(){
skew_centre = [0, lpp11[0], lpp11[1]];
difference(){
union(){
- LidAroundEdges()
- LidEdgeProfile();
+ intersection(){
+ LidAroundEdges()
+ LidEdgeProfile();
+
+ translate(skew_centre)
+ multmatrix([[ 1, 0, 0, 0 ],
+ [ 0, 1, -2, 0 ],
+ [ 0, 0, 1, 0 ],
+ [ 0, 0, 0, 1 ]])
+ translate(-skew_centre)
+ LidAroundEdges()
+ LidEdgeFoldClearanceProfile();
+ }
// button covers
Buttons(){
}
Struts(lpp10[0] + strut_min_at_end, lpp13[1], -case_th_lid);
- translate(skew_centre)
- multmatrix([[ 1, 0, 0, 0 ],
- [ 0, 1, 2, 0 ],
- [ 0, 0, 1, 0 ],
- [ 0, 0, 0, 1 ]])
- translate(-skew_centre)
- LidAroundEdges()
- LidEdgeFoldClearanceProfile();
-
// screw holes in the hinge arms
HingeScrews();