First version of top lid
This commit is contained in:
parent
71f20287b0
commit
45ba6a95a5
4
Makefile
4
Makefile
|
@ -1,4 +1,4 @@
|
|||
all: top.stl lid.stl bottom.stl
|
||||
all: top.stl lid.stl
|
||||
|
||||
%.stl: %.scad constants.scad cap.scad
|
||||
%.stl: %.scad constants.scad bayonetmount.scad
|
||||
openscad -o $@ $<
|
||||
|
|
|
@ -0,0 +1,63 @@
|
|||
module lid(outer_diameter,
|
||||
inner_diameter,
|
||||
latch_width,
|
||||
latch_height,
|
||||
lid_height) {
|
||||
|
||||
|
||||
translate([0,0, latch_height / 2])
|
||||
intersection() {
|
||||
cube([outer_diameter,
|
||||
latch_width,
|
||||
latch_height],
|
||||
center = true);
|
||||
|
||||
cylinder(r = outer_diameter / 2,
|
||||
h = latch_height,
|
||||
center = true);
|
||||
}
|
||||
|
||||
cylinder(r = inner_diameter / 2, h = lid_height);
|
||||
|
||||
|
||||
}
|
||||
|
||||
module hole(outer_diameter,
|
||||
inner_diameter,
|
||||
latch_width,
|
||||
latch_height,
|
||||
lid_height) {
|
||||
|
||||
translate([0, 0, lid_height / 2])
|
||||
intersection() {
|
||||
cube([outer_diameter,
|
||||
latch_width,
|
||||
lid_height],
|
||||
center = true);
|
||||
|
||||
cylinder(r = outer_diameter / 2,
|
||||
h = lid_height,
|
||||
center = true);
|
||||
}
|
||||
|
||||
translate([0, 0, latch_height / 2])
|
||||
difference() {
|
||||
cylinder(r = outer_diameter / 2,
|
||||
h = latch_height,
|
||||
center = true);
|
||||
|
||||
for(pos = [outer_diameter / 4, -outer_diameter / 4])
|
||||
translate([pos, pos, 0])
|
||||
cube([outer_diameter / 2,
|
||||
outer_diameter / 2,
|
||||
latch_height],
|
||||
center=true);
|
||||
}
|
||||
|
||||
translate([0,0, lid_height / 2])
|
||||
cylinder(r = inner_diameter / 2,
|
||||
h = lid_height,
|
||||
center = true);
|
||||
}
|
||||
|
||||
|
|
@ -1,6 +1,18 @@
|
|||
$fn = 90;
|
||||
|
||||
bumper_diameter = 80;
|
||||
$fn = 180;
|
||||
|
||||
tube_inner_diameter = 71;
|
||||
tube_outer_diameter = 76;
|
||||
|
||||
// Lid
|
||||
lid_height = 10;
|
||||
latch_width = 10;
|
||||
latch_height = 4;
|
||||
|
||||
groove_depth = 7.5;
|
||||
groove_length = 50;
|
||||
|
||||
// Top
|
||||
bumper_height = 15;
|
||||
bumper_edge_radius = 5;
|
||||
bumper_diameter = 80;
|
||||
bumper_tube_depth = 4;
|
81
lid.scad
81
lid.scad
|
@ -1,66 +1,17 @@
|
|||
$fn = 90;
|
||||
include <constants.scad>;
|
||||
include <bayonetmount.scad>;
|
||||
|
||||
module lid(outer_diameter,
|
||||
inner_diameter,
|
||||
latch_width,
|
||||
latch_height,
|
||||
lid_height) {
|
||||
|
||||
|
||||
translate([0,0, latch_height / 2])
|
||||
intersection() {
|
||||
cube([outer_diameter,
|
||||
latch_width,
|
||||
latch_height],
|
||||
center = true);
|
||||
|
||||
cylinder(r = outer_diameter / 2,
|
||||
h = latch_height,
|
||||
center = true);
|
||||
}
|
||||
|
||||
cylinder(r = inner_diameter / 2, h = lid_height);
|
||||
|
||||
|
||||
}
|
||||
|
||||
module hole(outer_diameter,
|
||||
inner_diameter,
|
||||
latch_width,
|
||||
latch_height,
|
||||
lid_height) {
|
||||
|
||||
translate([0, 0, lid_height / 2])
|
||||
intersection() {
|
||||
cube([outer_diameter,
|
||||
latch_width,
|
||||
lid_height],
|
||||
center = true);
|
||||
|
||||
cylinder(r = outer_diameter / 2,
|
||||
h = lid_height,
|
||||
center = true);
|
||||
}
|
||||
|
||||
translate([0, 0, latch_height / 2])
|
||||
difference() {
|
||||
cylinder(r = outer_diameter / 2,
|
||||
h = latch_height,
|
||||
center = true);
|
||||
|
||||
for(pos = [outer_diameter / 4, -outer_diameter / 4])
|
||||
translate([pos, pos, 0])
|
||||
cube([outer_diameter / 2,
|
||||
outer_diameter / 2,
|
||||
latch_height],
|
||||
center=true);
|
||||
}
|
||||
|
||||
translate([0,0, lid_height / 2])
|
||||
cylinder(r = inner_diameter / 2,
|
||||
h = lid_height,
|
||||
center = true);
|
||||
}
|
||||
|
||||
|
||||
hole(78,72,10,5,10);
|
||||
difference() {
|
||||
lid(tube_outer_diameter,
|
||||
tube_inner_diameter,
|
||||
latch_width,
|
||||
latch_height,
|
||||
lid_height);
|
||||
|
||||
hull() {
|
||||
pos = groove_length / 2 - groove_depth;
|
||||
for(x = [-pos, pos])
|
||||
translate([x, 0, lid_height])
|
||||
sphere(r = groove_depth, center = true);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,31 @@
|
|||
include <constants.scad>;
|
||||
include <bayonetmount.scad>;
|
||||
|
||||
|
||||
difference() {
|
||||
translate([0, 0, bumper_height / 2])
|
||||
minkowski() {
|
||||
radius = bumper_diameter / 2 - bumper_edge_radius;
|
||||
height = bumper_height - 2 * bumper_edge_radius;
|
||||
cylinder(r = radius, h = height, center = true);
|
||||
sphere(r = bumper_edge_radius, center = true);
|
||||
}
|
||||
|
||||
translate([0, 0, bumper_height - lid_height])
|
||||
hole(tube_outer_diameter,
|
||||
tube_inner_diameter,
|
||||
latch_width,
|
||||
latch_height,
|
||||
lid_height);
|
||||
|
||||
translate([0, 0, lid_height / 2])
|
||||
cylinder(r = tube_inner_diameter / 2,
|
||||
h = lid_height,
|
||||
center = true);
|
||||
|
||||
|
||||
translate([0, 0, bumper_tube_depth / 2])
|
||||
cylinder(r = tube_outer_diameter / 2,
|
||||
h = bumper_tube_depth,
|
||||
center = true);
|
||||
}
|
Loading…
Reference in New Issue