Create initial receptacle design

This commit is contained in:
Nettika 2025-10-05 06:01:12 +00:00
parent 561427774a
commit 26c5a213df
3 changed files with 119 additions and 32 deletions

View file

@ -1,5 +1,3 @@
$fn = $preview ? 32 : 128;
// Cartridge base dimensions
cartridge_width = 102;
cartridge_length = 133;
@ -61,8 +59,6 @@ nfc_coin_depth = 1;
nfc_coin_diameter = 25;
nfc_coin_tolerance = 0.1;
cartridge();
module cartridge() {
difference() {
base();
@ -189,37 +185,29 @@ module nfc_coin() {
module footprint() {
hull() {
translate([
cartridge_length - back_vertical_fillet_radius,
back_vertical_fillet_radius,
]) {
circle(back_vertical_fillet_radius);
// translate([0, cartridge_width - back_vertical_fillet_radius])
// circle(back_vertical_fillet_radius);
}
translate([
cartridge_length - back_vertical_fillet_radius,
cartridge_width - back_vertical_fillet_radius,
]) circle(back_vertical_fillet_radius);
translate([
tape_guide_depth + side_vertical_fillet_radius * tan(0.5 * atan(tape_guide_slope)),
side_vertical_fillet_radius,
]) circle(side_vertical_fillet_radius);
translate([
tape_guide_depth + side_vertical_fillet_radius * tan(0.5 * atan(tape_guide_slope)),
cartridge_width - side_vertical_fillet_radius,
]) circle(side_vertical_fillet_radius);
translate([
front_vertical_fillet_radius,
tape_guide_width + front_vertical_fillet_radius * tan(0.5 * atan(1 / tape_guide_slope)),
]) circle(front_vertical_fillet_radius);
translate([
front_vertical_fillet_radius,
cartridge_width - tape_guide_width - front_vertical_fillet_radius * tan(0.5 * atan(1 / tape_guide_slope)),
]) circle(front_vertical_fillet_radius);
one_side_vertical_fillets();
translate([0, cartridge_width]) mirror([0, 1]) one_side_vertical_fillets();
}
}
module one_side_vertical_fillets() {
translate([
cartridge_length - back_vertical_fillet_radius,
back_vertical_fillet_radius,
])
circle(back_vertical_fillet_radius);
translate([
tape_guide_depth + side_vertical_fillet_radius * tan(0.5 * atan(tape_guide_slope)),
side_vertical_fillet_radius,
])
circle(side_vertical_fillet_radius);
translate([
front_vertical_fillet_radius,
tape_guide_width + front_vertical_fillet_radius * tan(0.5 * atan(1 / tape_guide_slope)),
])
circle(front_vertical_fillet_radius);
}
module tracks() {
track_interval = cartridge_width - 2 * track_side_inset;
translate([track_front_inset, track_side_inset, cartridge_height])