Astrid/heat_set_inserts.scad
2024-12-22 20:22:07 +01:00

296 lines
5.6 KiB
OpenSCAD

heat_set_insert_lables = [ "M2", "M2.5", "M3", "M3_VORON", "M4", "M5", "M6", "M8", "M10"];
heat_set_insert_hole_d = [ 3.2, 4.0, 4.0, 4.4, 7.5, 6.5, 8.1, 9.7, 12];
heat_set_insert_wall_w = [ 1.3, 1.6, 1.6, 1.6, 3.1, 2.6, 3.3, 4.5, 6];
heat_set_insert_hole_depth = [[3.0], [4.0], [5.7,3.0], [4.4], [8.1,4.0], [9.5,5.8], [12.7], [12.7], [12.7]];
// M2:
// - L=3.0, D3=3.2, w=1.3
// M2.5:
// - L=4.0, D3=4.0, w=1.6
// M3:
// - L=5.7, D3=4.0, w=1.6
// - L=3.0, D3=4.0, w=1.6
// M3_VORON:
// - L=4.4, D3=4.4, w=1.6
// M4:
// - L=8.1, D3=5.7, w=2.1
// - L=4.0, D3=5.7, w=2.1
// M5:
// - L=9.5, D3=6.5, w=2.6
// - L=5.8, D3=6.5, w=2.6
// M6:
// - L=12.7, D3=8.1, w=3.3
// M8:
// - L=12.7, D3=9.7, w=4.5
// M10:
// - L=12.7, D3=12, w=6
function heatSetInsert_get_sizes(lable) = [
heat_set_insert_hole_d[search(lable, heat_set_insert_lables)],
heat_set_insert_wall_w[search(lable, heat_set_insert_lables)],
heat_set_insert_hole_depth[search(lable, heat_set_insert_lables)]
];
module heatSetInsert_wall(lable="", depth=0, d=-1, r=-1, w=-1)
{
depths = [];
if (lable != "")
{
id = search(lable, heat_set_inserts_lables);
if (id < 0)
error(str("heatSetInsert_wall(): could not find lable '", lable, "'"));
d = (d==-1) ? heat_set_insert_hole_d[id] : d;
w = (w==-1) ? heat_set_insert_wall_w[id] : w;
depths = heat_set_insert_hole_depth[id];
}
r = (r==-1) ? d/2 : r;
if (r < 0)
{
error("heatSetInsert_wall(): either lable, r or d has to be set");
}
else
{
if (len(depths) == 0)
{
if (depth <= 1)
{
error("heatSetInsert_wall(): either layer or depth has to be set");
}
}
else
{
depth = (depth<=0) ? depths[round(depth)] : depth;
}
difference() {
cylinder(h = L+1, r = D3/2+w);
cylinder(h = L+1, r = D3/2);
}
}
}
module heatSetInsert_2d_wall(D3, L, w)
{
difference() {
circle(r = D3/2+w);
circle(r = D3/2);
}
}
module heatSetInsert_hole(D3, L, w)
{
cylinder(h = L+1, r = D3/2);
}
module heatSetInsert_hole_2d(D3, L, w)
{
circle(r = D3/2);
}
// M2
module heatSetInsert_wall_2d_M2()
{
heatSetInsert_wall_2d(L=3.0, D3=3.2, w=1.3);
}
module heatSetInsert_hole_2d_M2()
{
heatSetInsert_hole_2d(L=3.0, D3=3.2, w=1.3);
}
module heatSetInsert_wall_M2x2()
{
heatSetInsert_wall(L=3.0, D3=3.2, w=1.3);
}
module heatSetInsert_hole_M2x2()
{
heatSetInsert_hole(L=3.0, D3=3.2, w=1.3);
}
// M2.5
module heatSetInsert_wall_2d_M2_5x4()
{
heatSetInsert_wall_2d(L=4.0, D3=4.0, w=1.6);
}
module heatSetInsert_hole_2d_M2_5x4()
{
heatSetInsert_hole_2d(L=4.0, D3=4.0, w=1.6);
}
module heatSetInsert_wall_M2_5x4()
{
heatSetInsert_wall(L=4.0, D3=4.0, w=1.6);
}
module heatSetInsert_hole_M2_5x4()
{
heatSetInsert_hole(L=4.0, D3=4.0, w=1.6);
}
// M3
module heatSetInsert_wall_2d_M3()
{
heatSetInsert_wall_2d(L=5.7, D3=4.0, w=1.6);
}
module heatSetInsert_hole_2d_M3()
{
heatSetInsert_hole_2d(L=5.7, D3=4.0, w=1.6);
}
module heatSetInsert_wall_M3x5_7()
{
heatSetInsert_wall(L=5.7, D3=4.0, w=1.6);
}
module heatSetInsert_hole_M3x5_7()
{
heatSetInsert_hole(L=5.7, D3=4.0, w=1.6);
}
module heatSetInsert_wall_M3x3()
{
heatSetInsert_wall(L=3.0, D3=4.0, w=1.6);
}
module heatSetInsert_hole_M3x3()
{
heatSetInsert_hole(L=3.0, D3=4.0, w=1.6);
}
module heatSetInsert_wall_M3x5x4_voron()
{
heatSetInsert_wall(L=4.4, D3=4.4, w=1.6);
}
module heatSetInsert_wall_2d_M3x5x4_voron()
{
heatSetInsert_wall_2d(L=4.4, D3=4.4, w=1.6);
}
module heatSetInsert_hole_M3x5x4_voron()
{
heatSetInsert_hole(L=4.4, D3=4.4, w=1.6);
}
module heatSetInsert_hole_2d_M3x5x4_voron()
{
heatSetInsert_hole_2d(L=4.4, D3=4.4, w=1.6);
}
// M4
module heatSetInsert_wall_2d_M4()
{
heatSetInsert_wall_2d(L=8.1, D3=5.7, w=2.1);
}
module heatSetInsert_hole_2d_M4()
{
heatSetInsert_hole_2d(L=8.1, D3=5.7, w=2.1);
}
module heatSetInsert_wall_M4x8_1()
{
heatSetInsert_wall(L=8.1, D3=5.7, w=2.1);
}
module heatSetInsert_hole_M4x8_1()
{
heatSetInsert_hole(L=8.1, D3=5.7, w=2.1);
}
module heatSetInsert_wall_M4x4()
{
heatSetInsert_wall(L=4.0, D3=5.7, w=2.1);
}
module heatSetInsert_hole_M4x4()
{
heatSetInsert_hole(L=4.0, D3=5.7, w=2.1);
}
// M5
module heatSetInsert_wall_2d_M5()
{
heatSetInsert_wall_2d(L=9.5, D3=6.5, w=2.6);
}
module heatSetInsert_hole_2d_M5()
{
heatSetInsert_hole_2d(L=9.5, D3=6.5, w=2.6);
}
module heatSetInsert_wall_M5x9_5()
{
heatSetInsert_wall(L=9.5, D3=6.5, w=2.6);
}
module heatSetInsert_hole_M5x9_5()
{
heatSetInsert_hole(L=9.5, D3=6.5, w=2.6);
}
module heatSetInsert_wall_M5x5_8()
{
heatSetInsert_wall(L=5.8, D3=6.5, w=2.6);
}
module heatSetInsert_hole_M5x5_8()
{
heatSetInsert_hole(L=5.8, D3=6.5, w=2.6);
}
// M6
module heatSetInsert_wall_2d_M6()
{
heatSetInsert_wall_2d(L=12.7, D3=8.1, w=3.3);
}
module heatSetInsert_hole_2d_M6()
{
heatSetInsert_hole_2d(L=12.7, D3=8.1, w=3.3);
}
module heatSetInsert_wall_M6x12_7()
{
heatSetInsert_wall(L=12.7, D3=8.1, w=3.3);
}
module heatSetInsert_hole_M6x12_7()
{
heatSetInsert_hole(L=12.7, D3=8.1, w=3.3);
}
// M8
module heatSetInsert_wall_2d_M8x12_7()
{
heatSetInsert_wall_2d(L=12.7, D3=9.7, w=4.5);
}
module heatSetInsert_hole_2d_M8x12_7()
{
heatSetInsert_hole_2d(L=12.7, D3=9.7, w=4.5);
}
module heatSetInsert_wall_M8x12_7()
{
heatSetInsert_wall(L=12.7, D3=9.7, w=4.5);
}
module heatSetInsert_hole_M8x12_7()
{
heatSetInsert_hole(L=12.7, D3=9.7, w=4.5);
}
// M10
module heatSetInsert_wall_2d_M10x12_7()
{
heatSetInsert_wall_2d(L=12.7, D3=12, w=6);
}
module heatSetInsert_hole_2d_M10x12_7()
{
heatSetInsert_hole_2d(L=12.7, D3=12, w=6);
}
module heatSetInsert_wall_M10x12_7()
{
heatSetInsert_wall(L=12.7, D3=12, w=6);
}
module heatSetInsert_hole_M10x12_7()
{
heatSetInsert_hole(L=12.7, D3=12, w=6);
}