alignment hole should be better now

This commit is contained in:
Artemis Tosini 2023-08-31 17:02:06 +00:00
parent 00062153c1
commit 516cac35c2
Signed by: artemist
GPG key ID: EE5227935FE3FF18
2 changed files with 40 additions and 29 deletions

View file

@ -20,17 +20,11 @@ module middle() {
linear_extrude(height=wall_thickness) { linear_extrude(height=wall_thickness) {
common(); common();
translate([-size / 2, 0]) translate([-size / 2, 0])
round_rect((wall_thickness+output_thickness)*2,size/2,[1,1,1,1]); round_rect((wall_thickness*3/2+output_thickness)*2,size/2+wall_thickness/2,[1,1,1,1]);
} }
translate([0,0,wall_thickness]) difference() { translate([0,0,wall_thickness]) difference() {
linear_extrude(height=internal_height) { linear_extrude(height=internal_height) middle();
middle();
hull() {
translate([-size/2-output_thickness-wall_thickness/2,size/4-wall_thickness/2]) circle(wall_thickness/2);
translate([-size/2-output_thickness-wall_thickness/2,-size/4+wall_thickness/2]) circle(wall_thickness/2);
}
}
translate([0,0,internal_height*1/2]) { translate([0,0,internal_height*1/2]) {
rotate([0,0,-30]) rotate_extrude(angle=60) square([center_radius-1,1]); rotate([0,0,-30]) rotate_extrude(angle=60) square([center_radius-1,1]);
rotate([0,0,150]) rotate_extrude(angle=60) square([center_radius-1,1]); rotate([0,0,150]) rotate_extrude(angle=60) square([center_radius-1,1]);
@ -38,6 +32,12 @@ translate([0,0,wall_thickness]) difference() {
} }
} }
translate([0,0,wall_thickness]) linear_extrude(height=internal_height+wall_thickness) hull() {
translate([-size/2-output_thickness-wall_thickness/2,size/4-wall_thickness/2]) circle(wall_thickness/2);
translate([-size/2-output_thickness-wall_thickness/2,-size/4+wall_thickness/2]) circle(wall_thickness/2);
}
translate([0,0,wall_thickness+internal_height]) linear_extrude(height=wall_thickness/2) { translate([0,0,wall_thickness+internal_height]) linear_extrude(height=wall_thickness/2) {
intersection() { intersection() {
middle(); middle();
@ -47,10 +47,4 @@ translate([0,0,wall_thickness+internal_height]) linear_extrude(height=wall_thick
} }
} }
hull() {
translate([-size/2-output_thickness-wall_thickness/2,size/4-wall_thickness/2]) circle(wall_thickness/4);
translate([-size/2-output_thickness-wall_thickness/2,-size/4+wall_thickness/2]) circle(wall_thickness/4);
}
} }

View file

@ -1,24 +1,46 @@
include <stamp_holder_common.scad> include <stamp_holder_common.scad>
module finger() { module finger() {
translate([center_radius-wall_thickness*2-0.25,0,0]) square([wall_thickness,internal_height*1/3]); translate([center_radius-wall_thickness*2-0.25,0,0]) square([wall_thickness,internal_height*1/3-2]);
} }
module hook() { module hook() {
translate([center_radius-wall_thickness*2-0.25,0,0]) { translate([center_radius-wall_thickness*2-0.25,0]) {
square([wall_thickness,internal_height*1/3+2]); square([wall_thickness,internal_height*1/3+1]);
translate([wall_thickness,internal_height*1/3]) translate([wall_thickness,internal_height*1/3-1])
polygon([[0,-1],[1,0.5],[0,2]]); polygon([[0,-1],[1,0.5],[0,2]]);
} }
} }
linear_extrude(wall_thickness) { module alignment_socket() {
hull() {
translate([-size/2-output_thickness-wall_thickness/2,size/4-wall_thickness/2]) circle(wall_thickness*5/8);
translate([-size/2-output_thickness-wall_thickness/2,-size/4+wall_thickness/2]) circle(wall_thickness*5/8);
}
}
linear_extrude(wall_thickness/2) {
difference() { difference() {
mirror([1,0,0]) { mirror([1,0,0]) {
translate([0,(wall_thickness+output_thickness)/2]) translate([0,(wall_thickness+output_thickness)/2])
round_rect(total_length, total_width, [5, 5, 15, 1]); round_rect(total_length, total_width, [5, 5, 15, 1]);
translate([-size / 2, 0]) translate([-size / 2, 0])
round_rect((wall_thickness+output_thickness)*2,size/2,[1,1,1,1]); round_rect((wall_thickness*3/2+output_thickness)*2,size/2+wall_thickness,[1,1,1,1]);
}
circle(center_radius-wall_thickness*2-0.25);
}
}
translate([0,0,wall_thickness/2]) linear_extrude(wall_thickness/2) {
difference() {
mirror([1,0,0]) {
translate([0,(wall_thickness+output_thickness)/2])
round_rect(total_length, total_width, [5, 5, 15, 1]);
difference() {
translate([-size / 2, 0])
round_rect((wall_thickness*3/2+output_thickness)*2,size/2+wall_thickness,[1,1,1,1]);
alignment_socket();
}
} }
circle(center_radius-wall_thickness*2-0.25); circle(center_radius-wall_thickness*2-0.25);
} }
@ -30,14 +52,10 @@ translate([0,0,wall_thickness]) linear_extrude(wall_thickness/2) {
translate([0,(wall_thickness+output_thickness)/2]) translate([0,(wall_thickness+output_thickness)/2])
round_rect(total_length-wall_thickness-.5, total_width-wall_thickness-.5, [5, 5, 15, 1]); round_rect(total_length-wall_thickness-.5, total_width-wall_thickness-.5, [5, 5, 15, 1]);
difference() { difference() {
hull() { translate([-size / 2-output_thickness-wall_thickness/2, 0])
translate([-size/2-output_thickness-wall_thickness/2,size/4-wall_thickness/2]) circle(wall_thickness/2); round_rect(wall_thickness*2,size/2+wall_thickness,[1,1,1,1]);
translate([-size/2-output_thickness-wall_thickness/2,-size/4+wall_thickness/2]) circle(wall_thickness/2);
} alignment_socket();
hull() {
translate([-size/2-output_thickness-wall_thickness/2,size/4-wall_thickness/2]) circle(wall_thickness*3/8);
translate([-size/2-output_thickness-wall_thickness/2,-size/4+wall_thickness/2]) circle(wall_thickness*3/8);
}
} }
} }
circle(center_radius-wall_thickness*2-0.25); circle(center_radius-wall_thickness*2-0.25);
@ -53,5 +71,4 @@ translate([0,0,wall_thickness*3/2+internal_height/6]) {
rotate([0,0,35]) rotate_extrude(angle=110) finger(); rotate([0,0,35]) rotate_extrude(angle=110) finger();
rotate([0,0,155]) rotate_extrude(angle=50) hook(); rotate([0,0,155]) rotate_extrude(angle=50) hook();
rotate([0,0,215]) rotate_extrude(angle=110) finger(); rotate([0,0,215]) rotate_extrude(angle=110) finger();
} }