2016-04-19 01:14:56 +02:00
|
|
|
include <constants.scad>;
|
|
|
|
include <bayonetmount.scad>;
|
2016-08-01 11:58:41 +02:00
|
|
|
include <support.scad>;
|
2015-12-12 23:42:44 +01:00
|
|
|
|
2016-08-01 11:58:41 +02:00
|
|
|
delta = 0.5;
|
2016-05-03 19:10:09 +02:00
|
|
|
wall_thickness = 5;
|
|
|
|
|
2016-04-19 01:14:56 +02:00
|
|
|
difference() {
|
2016-08-01 11:58:41 +02:00
|
|
|
union() {
|
|
|
|
lid(tube_outer_diameter - delta * 2,
|
|
|
|
tube_inner_diameter - delta * 2,
|
|
|
|
latch_width - delta,
|
|
|
|
latch_height - delta,
|
|
|
|
lid_height - delta);
|
|
|
|
|
|
|
|
translate([0, 0, lid_height - brim_height / 2])
|
|
|
|
cylinder(r = tube_outer_diameter / 2,
|
|
|
|
h = brim_height,
|
|
|
|
center = true);
|
|
|
|
}
|
2016-04-19 01:14:56 +02:00
|
|
|
|
|
|
|
hull() {
|
|
|
|
pos = groove_length / 2 - groove_depth;
|
|
|
|
for(x = [-pos, pos])
|
|
|
|
translate([x, 0, lid_height])
|
|
|
|
sphere(r = groove_depth, center = true);
|
|
|
|
}
|
2016-05-03 19:10:09 +02:00
|
|
|
|
|
|
|
difference() {
|
|
|
|
translate([0, 0, (lid_height - wall_thickness) / 2])
|
|
|
|
cylinder(r = (tube_inner_diameter - wall_thickness) / 2,
|
|
|
|
h = lid_height - wall_thickness,
|
|
|
|
center = true);
|
|
|
|
|
|
|
|
translate([0, 0, lid_height / 2])
|
|
|
|
cube([tube_outer_diameter,
|
|
|
|
groove_depth * 2,
|
|
|
|
lid_height],
|
|
|
|
center = true);
|
|
|
|
}
|
2016-08-01 11:58:41 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
translate([0, 0, lid_height /2]) {
|
|
|
|
support(tube_outer_diameter, lid_height);
|
|
|
|
support(tube_outer_diameter * 0.96, lid_height);
|
|
|
|
|
|
|
|
support(tube_inner_diameter * 0.75, lid_height);
|
2016-04-19 01:14:56 +02:00
|
|
|
}
|