hole_dia = 4 + 0.5;
pbase_tab = 12;
-pbase_thick = 2;
+pbase_thick = 4;
// computed
arch_in_rad = arch_width/2 / sin(arch_beta);
arch_to_chord = arch_in_rad * cos(arch_beta);
+inner_pbase_thick = 8;
+echo(inner_pbase_thick);
+
+inner_pbase_rad = arch_in_rad * 2;
+
end_thick = arch_thick;
holes = [[[ 5 , 5 ], [16 , 21]], // left
}
module MainCutout(){
- translate([0,0,-1]) linear_extrude(height=100)
- ArchCircle(arch_in_rad);
+ ArchCircle(arch_in_rad);
}
module Arch(){
difference(){
rotate([0,0,180]){
- difference(){
- linear_extrude(height=arch_breadth) ArchProfile(false);
- MainCutout();
+ linear_extrude(height=arch_breadth) {
+ difference(){
+ ArchProfile(false);
+ MainCutout();
+ }
}
difference(){
- linear_extrude(height=pbase_thick) hull(){
- ArchProfile(true);
- ArchProfile(false);
+ translate([0,0, arch_breadth - pbase_thick])
+ linear_extrude(height=pbase_thick){
+ difference(){
+ hull(){
+ ArchProfile(true);
+ ArchProfile(false);
+ }
+ intersection(){
+ MainCutout();
+ translate([0, -inner_pbase_thick
+ - (inner_pbase_rad - arch_in_rad)])
+ ArchCircle(inner_pbase_rad);
+ }
+ }
}
- MainCutout();
}
}
Holes();
}
}
-rotate([0,0,45]) Arch();
+rotate([0,0,45]) translate([0,0,arch_breadth]) rotate([0,180,0]) Arch();