mirror of
https://github.com/DJSundog/NopSCADlib.git
synced 2024-11-23 07:13:51 -05:00
Added threads to fuseholder.
This commit is contained in:
parent
60628dfec0
commit
245b158f1d
@ -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 |
@ -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])
|
||||||
|
Loading…
Reference in New Issue
Block a user