|
@@ -0,0 +1,57 @@
|
|
1
|
+$fa=1/1;
|
|
2
|
+$fs=1/2;
|
|
3
|
+bissl=1/100;
|
|
4
|
+part="inner";//[inner,outer,all_visualize]
|
|
5
|
+od_tamb=251;
|
|
6
|
+id_tamb=239;
|
|
7
|
+wall_tamb=(od_tamb-id_tamb)/2;
|
|
8
|
+hole_tamb=23;
|
|
9
|
+lip=3;
|
|
10
|
+air=1;
|
|
11
|
+hole=3;
|
|
12
|
+wall=1.6;
|
|
13
|
+beam_width=7;
|
|
14
|
+module inner_mount() {
|
|
15
|
+ difference() {
|
|
16
|
+ union() {
|
|
17
|
+ intersection() {
|
|
18
|
+ cylinder(d=hole_tamb+2*lip-2*air,h=2*lip+wall_tamb);
|
|
19
|
+ translate([0,0,-id_tamb/2+2*lip])rotate([90,0,0])cylinder(d=id_tamb,h=hole_tamb+2*lip,center=true);
|
|
20
|
+ }
|
|
21
|
+ intersection() {
|
|
22
|
+ cylinder(d=hole_tamb-2*air,h=2*lip+wall_tamb);
|
|
23
|
+ translate([0,0,-id_tamb/2+2*lip])rotate([90,0,0])cylinder(d=id_tamb+wall_tamb-air,h=hole_tamb+2*lip,center=true);
|
|
24
|
+ }
|
|
25
|
+ }
|
|
26
|
+ hull() {
|
|
27
|
+ translate([0,hole_tamb/2-air-hole/2-wall,-bissl])cylinder(h=wall_tamb+3*lip+2*bissl,d=hole);
|
|
28
|
+ translate([0,-hole_tamb/2+air+hole/2+wall,-bissl])cylinder(h=wall_tamb+3*lip+2*bissl,d=hole);
|
|
29
|
+ }
|
|
30
|
+ translate([-beam_width/2-air/2,-hole_tamb/2-lip,-bissl]) cube([beam_width+air,hole_tamb+2*lip,lip]);
|
|
31
|
+ }
|
|
32
|
+}
|
|
33
|
+
|
|
34
|
+module outer_mount() {
|
|
35
|
+ difference() {
|
|
36
|
+ union() {
|
|
37
|
+ difference(){
|
|
38
|
+ cylinder(d=hole_tamb+2*lip-2*air,h=2*lip+wall_tamb);
|
|
39
|
+ translate([0,0,od_tamb/2+lip])rotate([90,0,0])cylinder(d=od_tamb,h=hole_tamb+2*lip,center=true);
|
|
40
|
+ }
|
|
41
|
+ difference(){
|
|
42
|
+ cylinder(d=hole_tamb-2*air,h=2*lip+wall_tamb);
|
|
43
|
+ translate([0,0,od_tamb/2+lip])rotate([90,0,0])cylinder(d=od_tamb-wall_tamb+air,h=hole_tamb+2*lip,center=true);
|
|
44
|
+ }
|
|
45
|
+ }
|
|
46
|
+ hull() {
|
|
47
|
+ translate([0,hole_tamb/2-air-hole/2-wall,-bissl])cylinder(h=wall_tamb+3*lip+2*bissl,d=hole);
|
|
48
|
+ translate([0,-hole_tamb/2+air+hole/2+wall,-bissl])cylinder(h=wall_tamb+3*lip+2*bissl,d=hole);
|
|
49
|
+ }
|
|
50
|
+ }
|
|
51
|
+}
|
|
52
|
+if (part=="inner") inner_mount();
|
|
53
|
+if (part=="outer") outer_mount();
|
|
54
|
+if (part=="all_visualize") {
|
|
55
|
+ inner_mount();
|
|
56
|
+ translate([0,0,wall_tamb+3*lip])rotate([180,0,0])outer_mount();
|
|
57
|
+ }
|