mount_head_dia = 7.5;
mount_hole_th = 2.5;
+strap_height = main_height * 0.5;
+
+strap_width = 5.5;
+strap_thick = 2.5;
+strap_around = 2.5;
+strap_fixing_height = 4.0;
+strap_fixing_slope = 1.0;
+
// calculated
main_width = spike_top_width + topwall_width*2;
}
}
-module MultiplyForMount(){
+module MultiplyForFixings(){
for (r=[0:90:270])
rotate([0,0,r])
children(0);
}
-module Mount(){
+module FixingsPositive(){
+ // mount
translate([ -1,
-mount_width/2,
0 ])
cube([ mount_dist + mount_width/2 + 1,
mount_width,
mount_height ]);
+
+ // strap
+ for (m=[0,1]) mirror([0,m,0]) {
+ translate([main_width/2, 0, strap_height]) {
+ hull(){
+ translate([ -strap_around,
+ -pos_web_thick/2,
+ -(strap_thick + strap_around) / strap_fixing_slope ])
+ cube([ strap_around,
+ pos_web_thick/2 - strap_width/2,
+ 0.5 ]);
+ translate([ -strap_around,
+ -(strap_around + strap_width/2),
+ 0 ])
+ cube([ strap_around*2 + strap_thick,
+ strap_around,
+ strap_fixing_height ]);
+ }
+ mirror([0,1,0])
+ translate([ strap_thick,
+ -strap_width/2,
+ 0 ])
+ cube([ strap_around,
+ strap_around + strap_width,
+ strap_fixing_height ]);
+ }
+ }
}
-module MountHole(){
+module FixingsNegative(){
+ // mount hole
translate([ mount_dist, 0,0 ]) {
translate([0,0, -1])
cylinder(r= mount_hole_dia/2, h= 20, $fn=20);
union(){
MultiplySolidifyPlan(pos_web_thick) PositivePlan();
PositiveMidRounding();
- MultiplyForMount() Mount();
+ MultiplyForFixings() FixingsPositive();
}
MultiplySolidifyPlan(spike_web_thick) NegativePlan();
NegativeMidRounding();
- MultiplyForMount() MountHole();
+ MultiplyForFixings() FixingsNegative();
}
}
MainFitTest();
}
+module StrapFixingTest(){
+ intersection(){
+ Main();
+ translate([ -10, -10, 40 ])
+ cube([ 20, 40, 15 ]);
+ }
+}
+
//Tests();
+//StrapFixingTest();
Main();