From 1c8c5f070ee26a5be6565b494ac859bfa8e0f0ae Mon Sep 17 00:00:00 2001 From: mmcwilliams Date: Mon, 24 Apr 2023 23:27:00 -0400 Subject: [PATCH] Update tslot naming and add an insert --- 2020T-Slot.scad | 40 +++++++++++++++++++++++++++++++--------- 1 file changed, 31 insertions(+), 9 deletions(-) diff --git a/2020T-Slot.scad b/2020T-Slot.scad index 41a27ab..cfd5229 100644 --- a/2020T-Slot.scad +++ b/2020T-Slot.scad @@ -10,7 +10,7 @@ * * Modified to be used in customizer */ - +include <./common.scad>; //CUSTOMIZER VARIABLES ProfileCore = 4.3 * 1; // Profile core Ø (Default M5). @@ -20,7 +20,7 @@ minkR_PF = 0.05 * 20; // Minkowski radius for the profile corners. //CUSTOMIZER VARIABLES END -module 2020Profile(height, core = ProfileCore) { +module 2020_profile(height, core = ProfileCore) { linear_extrude(height = height, center = true) union() { difference() { @@ -29,10 +29,10 @@ module 2020Profile(height, core = ProfileCore) { square([1 * 20 - 2 * minkR_PF, 1 * 20 - 2 * minkR_PF], center = true); } translate([0, 0, 0]) circle(r = core / 2, $fn = 24); - translate([-0.5 * 20 + 0.087 * 20, 0, 0]) tSlot(); - rotate([0, 0, 180]) translate([-0.5 * 20 + 0.087 * 20, 0, 0]) tSlot(); - translate([0, -0.5 * 20 + 0.087 * 20, 0]) rotate([0, 0, 90]) tSlot(); - translate([0, 0.5 * 20 - 0.087 * 20, 0]) rotate([0, 0, -90]) tSlot(); + translate([-0.5 * 20 + 0.087 * 20, 0, 0]) 2020_tslot(); + rotate([0, 0, 180]) translate([-0.5 * 20 + 0.087 * 20, 0, 0]) 2020_tslot(); + translate([0, -0.5 * 20 + 0.087 * 20, 0]) rotate([0, 0, 90]) 2020_tslot(); + translate([0, 0.5 * 20 - 0.087 * 20, 0]) rotate([0, 0, -90]) 2020_tslot(); } } } @@ -45,7 +45,7 @@ module fillet(rad) { } } -module insideCutout() { +module inside_cutout() { minkowski() { translate([0, 0, 0]) circle(r = minkR_IC, center = true, $fn = 32); hull() { @@ -55,7 +55,7 @@ module insideCutout() { } } -module doubleCutout() { +module double_cutout() { union() { minkowski() { translate([0, 0, 0]) circle(r = minkR_IC, center = true, $fn = 32); @@ -89,7 +89,7 @@ module doubleCutout() { } } -module tSlot() { +module 2020_tslot() { union() { translate([minkR_TS, 0, 0]) minkowski() { @@ -106,4 +106,26 @@ module tSlot() { scale([1, -1, 1]) translate([0, -0.255 * 20 / 2, 0]) fillet(minkR_TS / 2); scale([1, -1, 1]) translate([-0.087 * 20, -0.255 * 20 / 2, 0]) rotate([0, 0, 90]) fillet(minkR_TS / 2); } +} + +module 2020_tslot_insert (pos = [0, 0, 0], rot = [0, 0, 0]) { + H = 6; + TopGapY = 7.3; + TopGapZ = 4.3; + BottomBevelY = 5; + BottomBevelZ = -4; + BevelAngle = 45; + translate(pos) rotate(rot) difference() { + cube([10, 10, H], center = true); + // + translate([0, TopGapY, TopGapZ]) cube([11, 10, H], center = true); + translate([0, -TopGapY, TopGapZ]) cube([11, 10, H], center = true); + // + translate([0, -BottomBevelY, BottomBevelZ]) rotate([-BevelAngle, 0, 0]) cube([11, 10, H], center = true); + translate([0, BottomBevelY, BottomBevelZ]) rotate([BevelAngle, 0, 0]) cube([11, 10, H], center = true); + //nut + translate([0, 0, -(H/2) + (3/2) - 0.01]) m3_nut(3); + //bolt + cylinder(r = R(3.25), h = H + 1, center = true, $fn = 30); + } } \ No newline at end of file