3 // xxx from actual ksafe
16 anchor_wall_space = 45;
18 lidinner_thick_allow = 20;
24 // ----- calculated -----
27 gppB = gppA - [ wall_thick, 0 ];
29 gppL = [ gppB[0], -(lidinner_thick_allow + space + base_thick) ];
33 anchor_b = anchor_thick + anchor_rad;
34 appM = gppL + anchor_b * [1,1];
36 a_bevel = 2 * anchor_b * (1 + sqrt(0.5));
38 module upp_app_Vars(t_bevel){
39 $xppE = gppL + t_bevel * [0,1];
40 $xppF = gppL + t_bevel * [1,0];
42 $xppJ = $xppE + wall_thick * [ 1, tan(22.5) ];
43 $xppI = $xppF + base_thick * [ tan(22.5), 1 ];
48 module upp_app_Profile(){
59 module UsualProfile(){
60 upp_app_Vars(bevel) upp_app_Profile();
63 module NearAnchorProfile(){
64 upp_app_Vars(a_bevel) upp_app_Profile();
67 module AnchorProfile(){
68 upp_app_Vars(a_bevel) {
78 translate(appM) circle(r= anchor_b);
80 translate(appM) circle(r= anchor_rad);
85 module AnchorWallProfile(){
89 for (bev = [bevel, a_bevel]) {
100 module DemoProfiles(){
101 translate([0,0,-2]) color("yellow") AnchorWallProfile();
102 color("red") AnchorProfile();
103 translate([0,0,2]) color("black") NearAnchorProfile();
104 translate([0,0,4]) color("blue") UsualProfile();