Added threads to fuseholder.

This commit is contained in:
Chris Palmer 2020-03-05 10:15:42 +00:00
parent 60628dfec0
commit 245b158f1d
3 changed files with 36 additions and 20 deletions

View File

@ -24,4 +24,5 @@ module fuseholders()
fuseholder(6); fuseholder(6);
if($preview) if($preview)
fuseholders(); let($show_threads = 1)
fuseholders();

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 26 KiB

View File

@ -23,6 +23,7 @@
include <../utils/core/core.scad> include <../utils/core/core.scad>
include <spades.scad> include <spades.scad>
use <../utils/tube.scad> use <../utils/tube.scad>
use <../utils/thread.scad>
module fuseholder_hole(h = 100) //! Hole with flats for fuseholder module fuseholder_hole(h = 100) //! Hole with flats for fuseholder
extrude_if(h) extrude_if(h)
@ -39,7 +40,8 @@ module fuseholder(thickness) { //! Fuseholder with nut in place for specified pa
flange_d = fuseholder_diameter(); flange_d = fuseholder_diameter();
flange_t = 2; flange_t = 2;
height = 33.2; height = 33.2;
thread_d = 11.7; thread_d = 12;
thread_p = 1;
thread = 15; thread = 15;
bot_d = 10.4; bot_d = 10.4;
top_d = 8.7; top_d = 8.7;
@ -59,24 +61,28 @@ module fuseholder(thickness) { //! Fuseholder with nut in place for specified pa
// //
// Nut // Nut
// //
colour = grey40;
vflip() vflip()
translate_z(thickness) translate_z(thickness)
explode(height) explode(height) {
color("dimgrey") { color(colour) {
tube(or = nut_d / 2, ir = 5, h = nut_flange_t, center = false); tube(or = nut_d / 2, ir = thread_d / 2, h = nut_flange_t, center = false);
linear_extrude(height = nut_t) linear_extrude(height = nut_t)
difference() { difference() {
circle(d = nut_d, $fn = 6); circle(d = nut_d, $fn = 6);
circle(5); circle(d = thread_d);
} }
} }
if(show_threads)
female_metric_thread(thread_d, thread_p, nut_t, false, colour = colour);
}
// //
// Body // Body
// //
explode(height + 5, offset = -height - 4) { explode(height + 5, offset = -height - 4) {
color("dimgrey") { color(colour) {
tube(or = flange_d / 2, ir = 5.2, h = flange_t, center = false); tube(or = flange_d / 2, ir = 5.2, h = flange_t, center = false);
cylinder(r = 5, h = flange_t - 1); cylinder(r = 5, h = flange_t - 1);
@ -89,26 +95,35 @@ module fuseholder(thickness) { //! Fuseholder with nut in place for specified pa
} }
vflip() { vflip() {
linear_extrude(height = thread) if(!show_threads)
intersection() { linear_extrude(height = thread)
circle(d = thread_d); intersection() {
circle(d = thread_d - 0.3);
square([100, 10.8], center = true); square([100, 10.8], center = true);
} }
render() difference() { render() difference() {
translate_z(thread) translate_z(thread)
cylinder(d1 = bot_d, d2 = top_d, h = height - flange_t - thread); cylinder(d1 = bot_d, d2 = top_d, h = height - flange_t - thread);
for(side = [-1, 1]) for(side = [-1, 1])
translate([side * (contact_slot_d / 2 + 1) - 1, -contact_slot_w / 2, contact_slot_z]) translate([side * (contact_slot_d / 2 + 1) - 1, -contact_slot_w / 2, contact_slot_z])
cube([2, contact_slot_w, 100]); cube([2, contact_slot_w, 100]);
} }
} }
if(show_threads)
vflip()
render() intersection() {
male_metric_thread(thread_d, thread_p, thread, false, colour = colour);
translate_z(thread / 2)
cube([100, 10.8, thread + 1], center = true);
}
} }
// //
// Side contacts // Side contacts
// //
color("silver") vflip() color(silver) vflip()
for(side = [-1, 1]) for(side = [-1, 1])
translate([side * contact_slot_d / 2, 0, contact_slot_z]) translate([side * contact_slot_d / 2, 0, contact_slot_z])
rotate([0, -70, 90 - side * 90]) rotate([0, -70, 90 - side * 90])