Files
home/resistor-fixer/fixer.scad
T

106 lines
2.6 KiB
OpenSCAD

$fn = 100;
w_board = 14;
d_board = 12.75;
h_board = 3.20;
pad = 0.2;
pad_top = 0.0;
w_pad = w_board + pad;
d_pad = d_board + pad;
h_pad = h_board + pad;
wall = 1;
w_wall = w_pad + (wall * 2);
d_wall = d_pad + (wall * 2);
h_wall = h_pad + (wall * 2);
w_usbm = 8.1;
h_usbm = 2.4;
w_usbm_pad = w_usbm + pad;
h_usbm_pad = h_usbm + pad;
w_usbf = 8.9;
h_usbf = 3.2;
w_usbf_pad = w_usbf + pad;
h_usbf_pad = h_usbf + pad;
r_usb_corner = 1.5;
d_corner = 1.5;
text_depth = 0.2;
e = 0.01;
difference() {
outer();
translate([wall, wall, wall])
cube([w_pad, d_pad, h_pad + pad_top]);
translate([(w_wall - w_usbm_pad) / 2 + r_usb_corner, 0, (h_wall - h_usbf_pad) / 2])
cube([w_usbm_pad - (r_usb_corner * 2), wall + e, h_usbf_pad]);
translate([(w_wall - w_usbm_pad) / 2, 0, (h_wall - h_usbf_pad) / 2 + r_usb_corner])
cube([w_usbm_pad, wall + e, h_usbf_pad - r_usb_corner]);
translate([(w_wall - w_usbm_pad) / 2 + r_usb_corner, wall + e, (h_wall - h_usbf_pad) / 2 + r_usb_corner])
rotate([90, 0, 0])
cylinder(h=(wall + e), r=r_usb_corner);
translate([(w_wall - w_usbm_pad) / 2 + w_usbm_pad - r_usb_corner, wall + e, (h_wall - h_usbf_pad) / 2 + r_usb_corner])
rotate([90, 0, 0])
cylinder(h=(wall + e), r=r_usb_corner);
translate([(w_wall - w_usbf_pad) / 2 + r_usb_corner, d_wall - wall - e, (h_wall - h_usbf_pad) / 2])
cube([w_usbf_pad - (r_usb_corner * 2), wall + e, h_usbf_pad]);
translate([(w_wall - w_usbf_pad) / 2, d_wall - wall - e, (h_wall - h_usbf_pad) / 2 + r_usb_corner])
cube([w_usbf_pad, wall + e, h_usbf_pad - r_usb_corner]);
translate([(w_wall - w_usbf_pad) / 2 + r_usb_corner, d_wall, (h_wall - h_usbf_pad) / 2 + r_usb_corner])
rotate([90, 0, 0])
cylinder(h=(wall + e), r=r_usb_corner);
translate([(w_wall - w_usbf_pad) / 2 + w_usbf_pad - r_usb_corner, d_wall, (h_wall - h_usbf_pad) / 2 + r_usb_corner])
rotate([90, 0, 0])
cylinder(h=(wall + e), r=r_usb_corner);
translate([1.5, 11.5, 0])
linear_extrude(height=text_depth)
mirror([0, 1, 0])
text(text="RF", size=8, font="JetBrains Mono");
translate([1.5, 3.5, h_wall - text_depth])
linear_extrude(height=text_depth)
text(text="RF", size=8, font="JetBrains Mono");
}
module outer() {
hull()
{
for (x = [0, w_wall - d_corner]) {
for (y = [0, d_wall - d_corner]) {
for (z = [0, h_wall + pad_top - d_corner]) {
translate([x, y, z])
translate([d_corner / 2, d_corner / 2, d_corner / 2])
sphere(d=d_corner);
}
}
}
}
}