First version of top lid

This commit is contained in:
Sebastian 2016-04-19 01:14:56 +02:00
parent 71f20287b0
commit 45ba6a95a5
7 changed files with 487107 additions and 70 deletions

View File

@ -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 $@ $<

63
bayonetmount.scad Normal file
View File

@ -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);
}

View File

@ -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;

View File

@ -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);
}
}

122838
lid.stl Normal file

File diff suppressed because it is too large Load Diff

31
top.scad Normal file
View File

@ -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);
}

364142
top.stl Normal file

File diff suppressed because it is too large Load Diff