Updated holes to M2.5

This commit is contained in:
Jacob Eva 2023-04-20 13:30:47 +01:00
parent 42ba2a3662
commit e5cceb8f22
No known key found for this signature in database
GPG Key ID: 0B92E083BBCCAA1E

View File

@ -32,7 +32,8 @@ rail_h = 4.25; // to top of rail
// Boss locations matching the other Framework Expansion Cards // Boss locations matching the other Framework Expansion Cards
boss_y = 10.5; boss_y = 10.5;
boss_x = 3.7; boss_x = 4.2;
boss_r = 2.95;
// The rail cutout in the sides of the card // The rail cutout in the sides of the card
module rail(make_printable) { module rail(make_printable) {
@ -120,12 +121,7 @@ module qsphere(radius = 1) {
module boss(radius, use_insert, make_printable) { module boss(radius, use_insert, make_printable) {
difference() { difference() {
cylinder(r = radius, h = pcb_h, $fn = 64); cylinder(r = radius, h = pcb_h, $fn = 64);
if (use_insert) { translate([0, 0, side_wall]) cylinder(r = 1.25, h = pcb_h, $fn = 64);
// Use threaded insert
translate([0, 0, side_wall]) cylinder(r = 1.5, h = pcb_h, $fn = 64);
} else {
translate([0, 0, side_wall]) cylinder(r = 0.75, h = pcb_h, $fn = 64);
}
} }
} }
@ -159,12 +155,10 @@ module expansion_card_lid() {
// "boss_insert" for fastener with a threaded insert, // "boss_insert" for fastener with a threaded insert,
// "clip" for a fastener-less clip, or // "clip" for a fastener-less clip, or
// "" for no PCB mounting structure // "" for no PCB mounting structure
module expansion_card_base(open_end, make_printable, pcb_mount="boss") { module expansion_card_base(open_end, make_printable, pcb_mount="boss_insert") {
// Hollowing of the inside // Hollowing of the inside
extra = 0.1; extra = 0.1;
inner = [base[0]-side_wall*2, base[1]-side_wall*2, base[2]-side_wall+extra]; inner = [base[0]-side_wall*2, base[1]-side_wall*2, base[2]-side_wall+extra];
boss_radius = 2.3;
difference() { difference() {
cube(base); cube(base);
@ -203,22 +197,22 @@ module expansion_card_base(open_end, make_printable, pcb_mount="boss") {
if (pcb_mount == "boss" || pcb_mount == "boss_insert") { if (pcb_mount == "boss" || pcb_mount == "boss_insert") {
// Add the screw bosses // Add the screw bosses
translate([boss_x, boss_y, 0]) boss(boss_radius, pcb_mount == "boss_insert", make_printable); translate([boss_x, boss_y, 0]) boss(boss_r, pcb_mount == "boss_insert", make_printable);
translate([base[0]-boss_x, boss_y, 0]) boss(boss_radius, pcb_mount == "boss_insert", make_printable); translate([base[0]-boss_x, boss_y, 0]) boss(boss_r, pcb_mount == "boss_insert", make_printable);
} else if (pcb_mount == "clip") { } else if (pcb_mount == "clip") {
clip_w = 1.5; clip_w = 1.5;
clip_gap = 0.5; clip_gap = 0.5;
translate([boss_x-boss_radius, boss_y-boss_radius, 0]) { translate([boss_x-boss_r, boss_y-boss_r, 0]) {
cube([boss_radius*2, boss_radius*2, pcb_h]); cube([boss_r*2, boss_r*2, pcb_h]);
if (make_printable) if (make_printable)
translate([boss_radius, boss_radius*2, 0]) rib(boss_radius*2, pcb_h); translate([boss_r, boss_r*2, 0]) rib(boss_r*2, pcb_h);
translate([0, boss_radius-clip_w, pcb_h+pcb[2]+clip_gap]) rotate([0, 0, 180]) qsphere(clip_w); translate([0, boss_r-clip_w, pcb_h+pcb[2]+clip_gap]) rotate([0, 0, 180]) qsphere(clip_w);
} }
translate([base[0]-boss_x-boss_radius, boss_y-boss_radius, 0]) { translate([base[0]-boss_x-boss_r, boss_y-boss_r, 0]) {
cube([boss_radius*2, boss_radius*2, pcb_h]); cube([boss_r*2, boss_r*2, pcb_h]);
if (make_printable) if (make_printable)
translate([boss_radius, boss_radius*2, 0]) rib(boss_radius*2, pcb_h); translate([boss_r, boss_r*2, 0]) rib(boss_r*2, pcb_h);
translate([boss_radius*2, boss_radius-clip_w, pcb_h+pcb[2]+clip_gap]) qsphere(clip_w); translate([boss_r*2, boss_r-clip_w, pcb_h+pcb[2]+clip_gap]) qsphere(clip_w);
} }
} }
} }
@ -229,7 +223,7 @@ module expansion_card_ext() {
extra = 0.1; extra = 0.1;
inner = [base_ext[0]-side_wall*2, base_ext[1]-side_wall*2, base_ext[2]-side_wall+extra]; inner = [base_ext[0]-side_wall*2, base_ext[1]-side_wall*2, base_ext[2]-side_wall+extra];
cutout = [base[0]-side_wall*2, base_ext[1]-side_wall*2, base_ext[2]-side_wall+extra]; cutout = [base[0]-side_wall*2, base_ext[1]-side_wall*2, base_ext[2]-side_wall+extra];
boss_radius = 2.3; boss_r = 2.3;
difference() { difference() {
cube(base_ext); cube(base_ext);