74 lines
2.6 KiB
OpenSCAD
74 lines
2.6 KiB
OpenSCAD
include <stamp_holder_common.scad>
|
|
|
|
module finger() {
|
|
translate([center_radius-wall_thickness*2-0.25,0,0]) square([wall_thickness,internal_height*1/3-2]);
|
|
}
|
|
|
|
module hook() {
|
|
translate([center_radius-wall_thickness*2-0.25,0]) {
|
|
square([wall_thickness,internal_height*1/3+1]);
|
|
translate([wall_thickness,internal_height*1/3-1])
|
|
polygon([[0,-1],[1,0.5],[0,2]]);
|
|
}
|
|
}
|
|
|
|
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() {
|
|
mirror([1,0,0]) {
|
|
translate([0,(wall_thickness+output_thickness)/2])
|
|
round_rect(total_length, total_width, [5, 5, 15, 1]);
|
|
translate([-size / 2, 0])
|
|
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);
|
|
}
|
|
}
|
|
|
|
translate([0,0,wall_thickness]) linear_extrude(wall_thickness/2) {
|
|
difference() {
|
|
mirror([1,0,0]) {
|
|
translate([0,(wall_thickness+output_thickness)/2])
|
|
round_rect(total_length-wall_thickness-.5, total_width-wall_thickness-.5, [5, 5, 15, 1]);
|
|
difference() {
|
|
translate([-size / 2-output_thickness-wall_thickness/2, 0])
|
|
round_rect(wall_thickness*2,size/2+wall_thickness,[1,1,1,1]);
|
|
|
|
alignment_socket();
|
|
}
|
|
}
|
|
circle(center_radius-wall_thickness*2-0.25);
|
|
}
|
|
}
|
|
|
|
translate([0,0,wall_thickness*3/2]) linear_extrude(internal_height / 6) {
|
|
ring(center_radius-wall_thickness-0.25, center_radius-wall_thickness*2-0.25);
|
|
}
|
|
|
|
translate([0,0,wall_thickness*3/2+internal_height/6]) {
|
|
rotate([0,0,-25]) rotate_extrude(angle=50) hook();
|
|
rotate([0,0,35]) rotate_extrude(angle=110) finger();
|
|
rotate([0,0,155]) rotate_extrude(angle=50) hook();
|
|
rotate([0,0,215]) rotate_extrude(angle=110) finger();
|
|
} |