diff options
author | xengineering <me@xengineering.eu> | 2023-12-23 22:24:55 +0100 |
---|---|---|
committer | xengineering <me@xengineering.eu> | 2024-01-02 14:24:58 +0100 |
commit | 432589acd8b56f881bd5006497a1dbb722a502a8 (patch) | |
tree | 7e2d805dad456eb7d521b27eb788baa5e1dba494 /mech | |
parent | db04f4ee722a6de068b7b77b9464fcc10470a468 (diff) | |
download | soundbox-432589acd8b56f881bd5006497a1dbb722a502a8.tar soundbox-432589acd8b56f881bd5006497a1dbb722a502a8.tar.zst soundbox-432589acd8b56f881bd5006497a1dbb722a502a8.zip |
mech: pcb_case: Specify bolt as ISO 4762 M3x10
This bolt is a good starting point for most PCB cases.
Diffstat (limited to 'mech')
-rw-r--r-- | mech/pcb_case/bolt.scad | 13 | ||||
-rw-r--r-- | mech/pcb_case/nut_tolerance_test.scad | 2 | ||||
-rw-r--r-- | mech/pcb_case/shell.scad | 14 |
3 files changed, 18 insertions, 11 deletions
diff --git a/mech/pcb_case/bolt.scad b/mech/pcb_case/bolt.scad index 4fbd349..2ad348a 100644 --- a/mech/pcb_case/bolt.scad +++ b/mech/pcb_case/bolt.scad @@ -1,6 +1,13 @@ -bolt_d = 3; -bolt_r = bolt_d / 2; +// bolt based on ISO 4762 (https://www.fasteners.eu/us/standards/ISO/4762) +bolt_k = 3; +bolt_l = 10; +bolt_dk = 5.5; +bolt_ds = 3; +bolt_ds_tol = 0.3; module bolt() { - cylinder(d=bolt_d,h=5); // TODO height is not considered at the moment + union() { + cylinder(d=bolt_ds, h=bolt_l, $fn=30); + translate([0, 0, -bolt_ds]) cylinder(d=bolt_dk, h=bolt_ds, $fn=30); + } } diff --git a/mech/pcb_case/nut_tolerance_test.scad b/mech/pcb_case/nut_tolerance_test.scad index 8d08d32..e1df2b4 100644 --- a/mech/pcb_case/nut_tolerance_test.scad +++ b/mech/pcb_case/nut_tolerance_test.scad @@ -13,7 +13,7 @@ module nut_tolerance_test() { cube([5*nut_d, 5*nut_d, 2*nut_h]); translate([2.5*nut_d,2.5*nut_d,0]) { union() { - cylinder(d=bolt_d,h=2*nut_h,$fn=50); + cylinder(d=bolt_ds,h=2*nut_h,$fn=50); translate([0,0,nut_h]) cylinder(d=tol+nut_d,h=nut_h,$fn=50); } diff --git a/mech/pcb_case/shell.scad b/mech/pcb_case/shell.scad index e7fe345..2599584 100644 --- a/mech/pcb_case/shell.scad +++ b/mech/pcb_case/shell.scad @@ -18,9 +18,9 @@ module shell_base(dim, t) { rounded_cube([t, dim[1]-2*t, dim[2]-2*t], radius); } for (x = [dim[0]/4, dim[0]-dim[0]/4]) { - translate([x,0,dim[2]/2-1.5*bolt_d]) + translate([x,0,dim[2]/2-1.5*bolt_ds]) rotate([-90,0,0]) - cylinder(r=bolt_r, h=1.1*t, $fn=30); + cylinder(d=bolt_ds, h=1.1*t, $fn=30); } } } @@ -28,7 +28,7 @@ module shell_base(dim, t) { module shell_connector(dim, t) { size_x = dim[0]-6*t; size_y = 2*nut_h; - size_z = dim[2]/2+3*bolt_d; + size_z = dim[2]/2+3*bolt_ds; difference () { // base body @@ -37,14 +37,14 @@ module shell_connector(dim, t) { // bolt holes for (x = [dim[0]/4, dim[0]-dim[0]/4]) { - translate([x,dim[1]-t,dim[2]/2+1.5*bolt_d]) + translate([x,dim[1]-t,dim[2]/2+1.5*bolt_ds]) rotate([90,0,0]) - cylinder(r=bolt_r, h=size_y, $fn=30); + cylinder(d=bolt_ds, h=size_y, $fn=30); } // nut holes for (x = [dim[0]/4, dim[0]-dim[0]/4]) { - translate([x,dim[1]-t-size_y,dim[2]/2+1.5*bolt_d]) + translate([x,dim[1]-t-size_y,dim[2]/2+1.5*bolt_ds]) rotate([-90,0,0]) cylinder(r=nut_r, h=nut_h, $fn=30); } @@ -66,7 +66,7 @@ module pcb_case_shell(dim, t, h, sockets) { } for (socket = sockets) { translate([socket[0], socket[1], 0]) { - cylinder(d=bolt_d, h=h, $fn=30); + cylinder(d=bolt_ds, h=h, $fn=30); cylinder(d=0.9*nut_d, h=nut_h, $fn=30); } } |