for (m=[0,1])
mirror([m,0])
translate([arch_width/2,0])
+ multmatrix([[1,pbase ? -0.75 : 0,0,0],
+ [0,1,0,0],
+ [0,0,1,0],
+ [0,0,0,1]])
square([end_width, pbase ? pbase_tab : end_thick]);
}
- ArchCircle(arch_in_rad);
}
}
}
module Arch(){
difference(){
- rotate([0,0,180]) union(){
- linear_extrude(height=arch_breadth) ArchProfile(false);
- linear_extrude(height=pbase_thick) ArchProfile(true);
+ rotate([0,0,180]){
+ difference(){
+ union(){
+ linear_extrude(height=arch_breadth) ArchProfile(false);
+ linear_extrude(height=pbase_thick) hull(){
+ ArchProfile(true);
+ ArchProfile(false);
+ }
+ }
+ translate([0,0,-1]) linear_extrude(height=100)
+ ArchCircle(arch_in_rad);
+ }
}
Holes();
}