chiark
/
gitweb
/
~ianmdlvl
/
reprap-play.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
commitid.scad.pl: Adjust indent of Git in prep for Git10
[reprap-play.git]
/
brompton-computer-guard.scad
diff --git
a/brompton-computer-guard.scad
b/brompton-computer-guard.scad
index 6a484ee1c360529c7cbb59bdde46b7e0e6fe0862..efb3a8a129bd7bdfac21ca94a86c19401c152cc3 100644
(file)
--- a/
brompton-computer-guard.scad
+++ b/
brompton-computer-guard.scad
@@
-1,14
+1,17
@@
// -*- C -*-
// -*- C -*-
-arch_height =
24
;
+arch_height =
18
;
arch_width = 75;
end_width = 25;
arch_width = 75;
end_width = 25;
-arch_thick =
5
;
+arch_thick =
4
;
arch_breadth = 25;
arch_breadth = 25;
-hole_dia = 3 + 0.5;
+hole_dia = 4 + 0.5;
+
+pbase_tab = 12;
+pbase_thick = 2;
// computed
// computed
@@
-18,29
+21,37
@@
echo(arch_alpha,arch_beta);
arch_in_rad = arch_width/2 / sin(arch_beta);
arch_to_chord = arch_in_rad * cos(arch_beta);
arch_in_rad = arch_width/2 / sin(arch_beta);
arch_to_chord = arch_in_rad * cos(arch_beta);
+inner_pbase_thick = 6;
+echo(inner_pbase_thick);
+
+inner_pbase_rad = arch_in_rad * 2;
+
end_thick = arch_thick;
holes = [[[ 5 , 5 ], [16 , 21]], // left
end_thick = arch_thick;
holes = [[[ 5 , 5 ], [16 , 21]], // left
- [[ 18.5, 4.5], [ 4.5, 2
2
]]]; // right
+ [[ 18.5, 4.5], [ 4.5, 2
1
]]]; // right
module ArchCircle(rad){
translate([0,-arch_to_chord])
circle(rad, $fa=0.1);
}
module ArchCircle(rad){
translate([0,-arch_to_chord])
circle(rad, $fa=0.1);
}
-module ArchProfile(){
+module ArchProfile(
pbase
){
intersection(){
translate([-200,0])
square([400,200]);
intersection(){
translate([-200,0])
square([400,200]);
-
union
(){
-
difference
(){
+
difference
(){
+
union
(){
ArchCircle(arch_in_rad + arch_thick);
ArchCircle(arch_in_rad + arch_thick);
- ArchCircle(arch_in_rad);
+ 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]);
}
}
- for (m=[0,1])
- mirror([m,0])
- translate([arch_width/2,0])
- square([end_width, end_thick]);
}
}
}
}
}
}
@@
-57,12
+68,38
@@
module Holes(){
}
}
}
}
+module MainCutout(){
+ ArchCircle(arch_in_rad);
+}
+
module Arch(){
difference(){
module Arch(){
difference(){
- rotate([0,0,180])
- linear_extrude(height=arch_breadth) ArchProfile();
+ rotate([0,0,180]){
+ linear_extrude(height=arch_breadth) {
+ difference(){
+ ArchProfile(false);
+ MainCutout();
+ }
+ }
+ difference(){
+ 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);
+ }
+ }
+ }
+ }
+ }
Holes();
}
}
Holes();
}
}
-Arch();
+
rotate([0,0,45])
Arch();