From 88ad9dbf6c9c5db559d1a95e712c5d05a1085c9c Mon Sep 17 00:00:00 2001 From: Arthur Moore Date: Sun, 21 Apr 2024 21:41:17 -0400 Subject: [PATCH 01/27] Moved hole functions to a separate file --- gridfinity-rebuilt-holes.scad | 61 +++++++++++++++++++++++++++++++++ gridfinity-rebuilt-utility.scad | 51 +-------------------------- 2 files changed, 62 insertions(+), 50 deletions(-) create mode 100644 gridfinity-rebuilt-holes.scad diff --git a/gridfinity-rebuilt-holes.scad b/gridfinity-rebuilt-holes.scad new file mode 100644 index 0000000..eaffe20 --- /dev/null +++ b/gridfinity-rebuilt-holes.scad @@ -0,0 +1,61 @@ +/** + * @file gridfinity-rebuilt-holes.scad + * @brief Functions to create different types of holes in an object. + */ + +include +use + +module refined_hole() { + /** + * Refined hole based on Printables @grizzie17's Gridfinity Refined + * https://www.printables.com/model/413761-gridfinity-refined + */ + + // Meassured magnet hole diameter to be 5.86mm (meassured in fusion360 + r = r_hole2-0.32; + + // Magnet height + m = 2; + mh = m-0.1; + + // Poke through - For removing a magnet using a toothpick + ptl = h_slit*3; // Poke Through Layers + pth = mh+ptl; // Poke Through Height + ptr = 2.5; // Poke Through Radius + + union() { + hull() { + // Magnet hole - smaller than the magnet to keep it squeezed + translate([10, -r, 0]) cube([1, r*2, mh]); + cylinder(1.9, r=r); + } + hull() { + // Poke hole + translate([-9+5.60, -ptr/2, -ptl]) cube([1, ptr, pth]); + translate([-12.53+5.60, 0, -ptl]) cylinder(pth, d=ptr); + } + } +} + +module block_base_hole(style_hole, o=0) { + r1 = r_hole1-o/2; + r2 = r_hole2-o/2; + union() { + difference() { + cylinder(h = 2*(h_hole-o+(style_hole==3?h_slit:0)), r=r2, center=true); + + if (style_hole==3) + copy_mirror([0,1,0]) + translate([-1.5*r2,r1+0.1,h_hole-o]) + cube([r2*3,r2*3, 10]); + } + if (style_hole > 1) + cylinder(h = 2*h_base-o, r = r1, center=true); + } +} + +//$fa = 8; +//$fs = 0.25; +//block_base_hole(0); +//refined_hole(); diff --git a/gridfinity-rebuilt-utility.scad b/gridfinity-rebuilt-utility.scad index 6404080..79278cb 100644 --- a/gridfinity-rebuilt-utility.scad +++ b/gridfinity-rebuilt-utility.scad @@ -6,6 +6,7 @@ include use +use // ===== User Modules ===== // @@ -311,56 +312,6 @@ module block_base_solid(dbnx, dbny, l, o) { } } -module block_base_hole(style_hole, o=0) { - r1 = r_hole1-o/2; - r2 = r_hole2-o/2; - union() { - difference() { - cylinder(h = 2*(h_hole-o+(style_hole==3?h_slit:0)), r=r2, center=true); - - if (style_hole==3) - copy_mirror([0,1,0]) - translate([-1.5*r2,r1+0.1,h_hole-o]) - cube([r2*3,r2*3, 10]); - } - if (style_hole > 1) - cylinder(h = 2*h_base-o, r = r1, center=true); - } -} - - -module refined_hole() { - /** - * Refined hole based on Printables @grizzie17's Gridfinity Refined - * https://www.printables.com/model/413761-gridfinity-refined - */ - - // Meassured magnet hole diameter to be 5.86mm (meassured in fusion360 - r = r_hole2-0.32; - - // Magnet height - m = 2; - mh = m-0.1; - - // Poke through - For removing a magnet using a toothpick - ptl = h_slit*3; // Poke Through Layers - pth = mh+ptl; // Poke Through Height - ptr = 2.5; // Poke Through Radius - - union() { - hull() { - // Magnet hole - smaller than the magnet to keep it squeezed - translate([10, -r, 0]) cube([1, r*2, mh]); - cylinder(1.9, r=r); - } - hull() { - // Poke hole - translate([-9+5.60, -ptr/2, -ptl]) cube([1, ptr, pth]); - translate([-12.53+5.60, 0, -ptl]) cylinder(pth, d=ptr); - } - } -} - /** * @brief Stacking lip based on https://gridfinity.xyz/specification/ * @details Also includes a support base. From 67ba594585bacdad23d4a7d20b32d04ce2cf7445 Mon Sep 17 00:00:00 2001 From: Arthur Moore Date: Sun, 21 Apr 2024 22:05:06 -0400 Subject: [PATCH 02/27] Made some hole constants more readable --- gridfinity-rebuilt-holes.scad | 42 ++++++++++++++++----------------- gridfinity-rebuilt-utility.scad | 14 +++++------ standard.scad | 23 ++++++++++++++---- 3 files changed, 46 insertions(+), 33 deletions(-) diff --git a/gridfinity-rebuilt-holes.scad b/gridfinity-rebuilt-holes.scad index eaffe20..25f3c5c 100644 --- a/gridfinity-rebuilt-holes.scad +++ b/gridfinity-rebuilt-holes.scad @@ -6,48 +6,46 @@ include use +/** +* @brief Refined hole based on Printables @grizzie17's Gridfinity Refined +* @details Magnet is pushed in from +X direction, and held in by friction. +* Small slit on the bottom allows removing the magnet. +* @see https://www.printables.com/model/413761-gridfinity-refined +*/ module refined_hole() { - /** - * Refined hole based on Printables @grizzie17's Gridfinity Refined - * https://www.printables.com/model/413761-gridfinity-refined - */ - - // Meassured magnet hole diameter to be 5.86mm (meassured in fusion360 - r = r_hole2-0.32; - - // Magnet height - m = 2; - mh = m-0.1; + refined_offset = LAYER_HEIGHT * REFINED_HOLE_BOTTOM_LAYERS; // Poke through - For removing a magnet using a toothpick - ptl = h_slit*3; // Poke Through Layers - pth = mh+ptl; // Poke Through Height - ptr = 2.5; // Poke Through Radius + ptl = refined_offset + LAYER_HEIGHT; // Additional layer just in case + poke_through_height = REFINED_HOLE_HEIGHT+ptl; // Poke Through Height + poke_hole_radius = 2.5; // Poke Through Radius + magic_constant = 5.60; + poke_hole_center = [-12.53 + magic_constant, 0, -ptl]; union() { hull() { // Magnet hole - smaller than the magnet to keep it squeezed - translate([10, -r, 0]) cube([1, r*2, mh]); - cylinder(1.9, r=r); + translate([10, -REFINED_HOLE_RADIUS, 0]) cube([1, REFINED_HOLE_RADIUS*2, REFINED_HOLE_HEIGHT]); + cylinder(1.9, r=REFINED_HOLE_RADIUS); } hull() { // Poke hole - translate([-9+5.60, -ptr/2, -ptl]) cube([1, ptr, pth]); - translate([-12.53+5.60, 0, -ptl]) cylinder(pth, d=ptr); + translate([-9+magic_constant, -poke_hole_radius/2, -ptl]) cube([1, poke_hole_radius, poke_through_height]); + translate(poke_hole_center) cylinder(poke_through_height, d=poke_hole_radius); } } } module block_base_hole(style_hole, o=0) { - r1 = r_hole1-o/2; - r2 = r_hole2-o/2; + r1 = SCREW_HOLE_RADIUS-o/2; + r2 = MAGNET_HOLE_RADIUS-o/2; union() { difference() { - cylinder(h = 2*(h_hole-o+(style_hole==3?h_slit:0)), r=r2, center=true); + cylinder(h = 2*(MAGNET_HOLE_DEPTH-o+(style_hole==3?h_slit:0)), r=r2, center=true); if (style_hole==3) copy_mirror([0,1,0]) - translate([-1.5*r2,r1+0.1,h_hole-o]) + translate([-1.5*r2,r1+0.1,MAGNET_HOLE_DEPTH-o]) cube([r2*3,r2*3, 10]); } if (style_hole > 1) diff --git a/gridfinity-rebuilt-utility.scad b/gridfinity-rebuilt-utility.scad index 79278cb..8caef04 100644 --- a/gridfinity-rebuilt-utility.scad +++ b/gridfinity-rebuilt-utility.scad @@ -232,16 +232,16 @@ module gridfinityBase(gx, gy, l, dx, dy, style_hole, off=0, final_cut=true, only pattern_linear(gx/dbnx, gy/dbny, dbnx*l, dbny*l) block_base(gx, gy, l, dbnx, dbny, 0, off); if (style_hole == 4) { - translate([(gx/2)*l_grid - d_hole_from_side, (gy/2) * l_grid - d_hole_from_side, h_slit*2]) + translate([(gx/2)*l_grid - d_hole_from_side, (gy/2) * l_grid - d_hole_from_side, LAYER_HEIGHT*REFINED_HOLE_BOTTOM_LAYERS]) refined_hole(); mirror([1, 0, 0]) - translate([(gx/2)*l_grid - d_hole_from_side, (gy/2) * l_grid - d_hole_from_side, h_slit*2]) + translate([(gx/2)*l_grid - d_hole_from_side, (gy/2) * l_grid - d_hole_from_side, LAYER_HEIGHT*REFINED_HOLE_BOTTOM_LAYERS]) refined_hole(); mirror([0, 1, 0]) { - translate([(gx/2)*l_grid - d_hole_from_side, (gy/2) * l_grid - d_hole_from_side, h_slit*2]) + translate([(gx/2)*l_grid - d_hole_from_side, (gy/2) * l_grid - d_hole_from_side, LAYER_HEIGHT*REFINED_HOLE_BOTTOM_LAYERS]) refined_hole(); mirror([1, 0, 0]) - translate([(gx/2)*l_grid - d_hole_from_side, (gy/2) * l_grid - d_hole_from_side, h_slit*2]) + translate([(gx/2)*l_grid - d_hole_from_side, (gy/2) * l_grid - d_hole_from_side, LAYER_HEIGHT*REFINED_HOLE_BOTTOM_LAYERS]) refined_hole(); } } @@ -259,13 +259,13 @@ module gridfinityBase(gx, gy, l, dx, dy, style_hole, off=0, final_cut=true, only } /** - * @brief A single Gridfinity base. + * @brief A single Gridfinity base. With holes (if set). * @param gx * @param gy * @param l * @param dbnx * @param dbny - * @param style_hole + * @param style_hole @see block_base_hole.style_hole * @param off */ module block_base(gx, gy, l, dbnx, dbny, style_hole, off) { @@ -276,7 +276,7 @@ module block_base(gx, gy, l, dbnx, dbny, style_hole, off) { if (style_hole > 0) pattern_circular(abs(l-d_hole_from_side/2)<0.001?1:4) if (style_hole == 4) - translate([l/2-d_hole_from_side, l/2-d_hole_from_side, h_slit*2]) + translate([l/2-d_hole_from_side, l/2-d_hole_from_side, LAYER_HEIGHT*REFINED_HOLE_BOTTOM_LAYERS]) refined_hole(); else translate([l/2-d_hole_from_side, l/2-d_hole_from_side, 0]) diff --git a/standard.scad b/standard.scad index 5da1046..8b2b4df 100644 --- a/standard.scad +++ b/standard.scad @@ -21,10 +21,16 @@ l_grid = 42; // Per spec, matches radius of upper base section. r_base = r_fo1; -// screw hole radius -r_hole1 = 1.5; -// magnet hole radius -r_hole2 = 3.25; +// **************************************** +// Magnet / Screw Hole Constants +// **************************************** +LAYER_HEIGHT = 0.2; +MAGNET_HEIGHT = 2; + +SCREW_HOLE_RADIUS = 3 / 2; +MAGNET_HOLE_RADIUS = 6.5 / 2; +MAGNET_HOLE_DEPTH = MAGNET_HEIGHT + (LAYER_HEIGHT * 2); + // center-to-center distance between holes d_hole = 26; // distance of hole from side of bin @@ -34,6 +40,15 @@ h_hole = 2.4; // slit depth (printer layer height) h_slit = 0.2; +// Meassured diameter in Fusion360. +// Smaller than the magnet to keep it squeezed. +REFINED_HOLE_RADIUS = 5.86 / 2; +REFINED_HOLE_HEIGHT = MAGNET_HEIGHT - 0.1; +// How many layers are between a Gridfinity Refined Hole and the bottom +REFINED_HOLE_BOTTOM_LAYERS = 2; + +// **************************************** + // top edge fillet radius r_f1 = 0.6; // internal fillet radius From a4200a04bd3a38ace649981aaa93871b82bab354 Mon Sep 17 00:00:00 2001 From: Arthur Moore Date: Sun, 21 Apr 2024 22:25:48 -0400 Subject: [PATCH 03/27] Simplify refined_hole() --- gridfinity-rebuilt-holes.scad | 25 +++++++++++++------------ gridfinity-rebuilt-utility.scad | 32 ++++++++++++++------------------ standard.scad | 4 ---- 3 files changed, 27 insertions(+), 34 deletions(-) diff --git a/gridfinity-rebuilt-holes.scad b/gridfinity-rebuilt-holes.scad index 25f3c5c..29d4c25 100644 --- a/gridfinity-rebuilt-holes.scad +++ b/gridfinity-rebuilt-holes.scad @@ -17,22 +17,23 @@ module refined_hole() { // Poke through - For removing a magnet using a toothpick ptl = refined_offset + LAYER_HEIGHT; // Additional layer just in case - poke_through_height = REFINED_HOLE_HEIGHT+ptl; // Poke Through Height - poke_hole_radius = 2.5; // Poke Through Radius + poke_through_height = REFINED_HOLE_HEIGHT + ptl; + poke_hole_radius = 2.5; magic_constant = 5.60; poke_hole_center = [-12.53 + magic_constant, 0, -ptl]; + translate([0, 0, refined_offset]) union() { - hull() { - // Magnet hole - smaller than the magnet to keep it squeezed - translate([10, -REFINED_HOLE_RADIUS, 0]) cube([1, REFINED_HOLE_RADIUS*2, REFINED_HOLE_HEIGHT]); - cylinder(1.9, r=REFINED_HOLE_RADIUS); - } - hull() { - // Poke hole - translate([-9+magic_constant, -poke_hole_radius/2, -ptl]) cube([1, poke_hole_radius, poke_through_height]); - translate(poke_hole_center) cylinder(poke_through_height, d=poke_hole_radius); - } + // Magnet hole + translate([0, -REFINED_HOLE_RADIUS, 0]) + cube([11, REFINED_HOLE_RADIUS*2, REFINED_HOLE_HEIGHT]); + cylinder(REFINED_HOLE_HEIGHT, r=REFINED_HOLE_RADIUS); + + // Poke hole + translate([poke_hole_center.x, -poke_hole_radius/2, poke_hole_center.z]) + cube([10 - magic_constant, poke_hole_radius, poke_through_height]); + translate(poke_hole_center) + cylinder(poke_through_height, d=poke_hole_radius); } } diff --git a/gridfinity-rebuilt-utility.scad b/gridfinity-rebuilt-utility.scad index 8caef04..1a75828 100644 --- a/gridfinity-rebuilt-utility.scad +++ b/gridfinity-rebuilt-utility.scad @@ -231,24 +231,21 @@ module gridfinityBase(gx, gy, l, dx, dy, style_hole, off=0, final_cut=true, only difference(){ pattern_linear(gx/dbnx, gy/dbny, dbnx*l, dbny*l) block_base(gx, gy, l, dbnx, dbny, 0, off); - if (style_hole == 4) { - translate([(gx/2)*l_grid - d_hole_from_side, (gy/2) * l_grid - d_hole_from_side, LAYER_HEIGHT*REFINED_HOLE_BOTTOM_LAYERS]) - refined_hole(); - mirror([1, 0, 0]) - translate([(gx/2)*l_grid - d_hole_from_side, (gy/2) * l_grid - d_hole_from_side, LAYER_HEIGHT*REFINED_HOLE_BOTTOM_LAYERS]) - refined_hole(); - mirror([0, 1, 0]) { - translate([(gx/2)*l_grid - d_hole_from_side, (gy/2) * l_grid - d_hole_from_side, LAYER_HEIGHT*REFINED_HOLE_BOTTOM_LAYERS]) - refined_hole(); - mirror([1, 0, 0]) - translate([(gx/2)*l_grid - d_hole_from_side, (gy/2) * l_grid - d_hole_from_side, LAYER_HEIGHT*REFINED_HOLE_BOTTOM_LAYERS]) - refined_hole(); + + copy_mirror([0, 1, 0]) { + copy_mirror([1, 0, 0]) { + translate([ + (gx/2)*l_grid - d_hole_from_side, + (gy/2) * l_grid - d_hole_from_side, + 0 + ]) + if (style_hole == 4) { + refined_hole(); + }else { + block_base_hole(style_hole, off); + } } } - else { - pattern_linear(2, 2, (gx-1)*l_grid+d_hole, (gy-1)*l_grid+d_hole) - block_base_hole(style_hole, off); - } } } else { @@ -275,11 +272,10 @@ module block_base(gx, gy, l, dbnx, dbny, style_hole, off) { if (style_hole > 0) pattern_circular(abs(l-d_hole_from_side/2)<0.001?1:4) + translate([l/2-d_hole_from_side, l/2-d_hole_from_side, 0]) if (style_hole == 4) - translate([l/2-d_hole_from_side, l/2-d_hole_from_side, LAYER_HEIGHT*REFINED_HOLE_BOTTOM_LAYERS]) refined_hole(); else - translate([l/2-d_hole_from_side, l/2-d_hole_from_side, 0]) block_base_hole(style_hole, off); } } diff --git a/standard.scad b/standard.scad index 8b2b4df..e86b2da 100644 --- a/standard.scad +++ b/standard.scad @@ -35,10 +35,6 @@ MAGNET_HOLE_DEPTH = MAGNET_HEIGHT + (LAYER_HEIGHT * 2); d_hole = 26; // distance of hole from side of bin d_hole_from_side=8; -// magnet hole depth -h_hole = 2.4; -// slit depth (printer layer height) -h_slit = 0.2; // Meassured diameter in Fusion360. // Smaller than the magnet to keep it squeezed. From 2e0e9bd3632841574a26e3360daccb9ae9d41f29 Mon Sep 17 00:00:00 2001 From: Arthur Moore Date: Sun, 21 Apr 2024 22:51:19 -0400 Subject: [PATCH 04/27] Simplify Hole Creation Everything now goes through block_base_hole(...) Noting in gridfinity-rebuilt-utility knows or cares what sytle_hole contains. --- gridfinity-rebuilt-holes.scad | 65 ++++++++++++++++++++++++++------- gridfinity-rebuilt-utility.scad | 20 +++------- 2 files changed, 58 insertions(+), 27 deletions(-) diff --git a/gridfinity-rebuilt-holes.scad b/gridfinity-rebuilt-holes.scad index 29d4c25..21ba2e6 100644 --- a/gridfinity-rebuilt-holes.scad +++ b/gridfinity-rebuilt-holes.scad @@ -37,24 +37,63 @@ module refined_hole() { } } +/** + * @brief A single magnet/screw hole. To be cut out of the base. + * @pram style_hole Determines the type of hole that will be generated. + * @param o Offset + * @details + * - 0: No holes. Does nothing. + * - 1: Magnet holes only + * - 2: Magnet and screw holes - no printable slit. + * - 3: Magnet and screw holes - printable slit. + * - 4: Gridfinity Refined hole - no glue needed. + */ module block_base_hole(style_hole, o=0) { - r1 = SCREW_HOLE_RADIUS-o/2; - r2 = MAGNET_HOLE_RADIUS-o/2; - union() { - difference() { - cylinder(h = 2*(MAGNET_HOLE_DEPTH-o+(style_hole==3?h_slit:0)), r=r2, center=true); + assert(style_hole >= 0 && style_hole <= 4, "Unhandled Hole Style"); - if (style_hole==3) - copy_mirror([0,1,0]) - translate([-1.5*r2,r1+0.1,MAGNET_HOLE_DEPTH-o]) - cube([r2*3,r2*3, 10]); + refined_hole = style_hole == 4; + magnet_hole = style_hole == 1 || style_hole == 2 || style_hole == 3; + screw_hole = style_hole == 2 || style_hole == 3; + crush_ribs = false; // Not Implemented Yet + chamfer = false; // Not Implemented Yet + supportless = style_hole==3; + + screw_radius = SCREW_HOLE_RADIUS - (o/2); + magnet_radius = MAGNET_HOLE_RADIUS - (o/2); +// magnet_inner_radius = // Not Implemented Yet + screw_depth = h_base-o; + // If using supportless / printable mode, need to add an additional layer, so it can be removed later + magnet_depth = MAGNET_HOLE_DEPTH - o + (supportless ? LAYER_HEIGHT : 0); + + union() { + if(refined_hole) { + refined_hole(); + } + if(magnet_hole) { + difference() { + if(crush_ribs){ + // Not Implemented Yet + } else { + cylinder(h = magnet_depth, r=magnet_radius); + } + + if(supportless) { + copy_mirror([0,1,0]) + translate([-1.5*magnet_radius, screw_radius+0.1,magnet_depth]) + cube([magnet_radius*3,magnet_radius*3, 10]); + } + if(chamfer) { + // Not Implemented Yet + } + } + } + + if(screw_hole) { + cylinder(h = screw_depth, r = screw_radius); } - if (style_hole > 1) - cylinder(h = 2*h_base-o, r = r1, center=true); } } //$fa = 8; //$fs = 0.25; -//block_base_hole(0); -//refined_hole(); +//block_base_hole(4); diff --git a/gridfinity-rebuilt-utility.scad b/gridfinity-rebuilt-utility.scad index 1a75828..49eb5c8 100644 --- a/gridfinity-rebuilt-utility.scad +++ b/gridfinity-rebuilt-utility.scad @@ -227,7 +227,7 @@ module gridfinityBase(gx, gy, l, dx, dy, style_hole, off=0, final_cut=true, only translate([0,0,-1]) rounded_rectangle(xx+0.005, yy+0.005, h_base+h_bot/2*10, r_fo1+0.001); - if((style_hole != 0) && (only_corners)) { + if(only_corners) { difference(){ pattern_linear(gx/dbnx, gy/dbny, dbnx*l, dbny*l) block_base(gx, gy, l, dbnx, dbny, 0, off); @@ -239,11 +239,7 @@ module gridfinityBase(gx, gy, l, dx, dy, style_hole, off=0, final_cut=true, only (gy/2) * l_grid - d_hole_from_side, 0 ]) - if (style_hole == 4) { - refined_hole(); - }else { - block_base_hole(style_hole, off); - } + block_base_hole(style_hole, off); } } } @@ -270,14 +266,10 @@ module block_base(gx, gy, l, dbnx, dbny, style_hole, off) { difference() { block_base_solid(dbnx, dbny, l, off); - if (style_hole > 0) - pattern_circular(abs(l-d_hole_from_side/2)<0.001?1:4) - translate([l/2-d_hole_from_side, l/2-d_hole_from_side, 0]) - if (style_hole == 4) - refined_hole(); - else - block_base_hole(style_hole, off); - } + pattern_circular(abs(l-d_hole_from_side/2)<0.001?1:4) + translate([l/2-d_hole_from_side, l/2-d_hole_from_side, 0]) + block_base_hole(style_hole, off); + } } /** From 8fa885ac72f933ab29236d8b0be38b0156134346 Mon Sep 17 00:00:00 2001 From: Arthur Moore Date: Sun, 21 Apr 2024 23:21:21 -0400 Subject: [PATCH 05/27] Allow mixing and matching hole options --- gridfinity-rebuilt-bins.scad | 21 ++++++-- gridfinity-rebuilt-holes.scad | 85 +++++++++++++++++++++++---------- gridfinity-rebuilt-utility.scad | 12 ++--- 3 files changed, 83 insertions(+), 35 deletions(-) diff --git a/gridfinity-rebuilt-bins.scad b/gridfinity-rebuilt-bins.scad index ea176a9..14b4301 100644 --- a/gridfinity-rebuilt-bins.scad +++ b/gridfinity-rebuilt-bins.scad @@ -72,17 +72,30 @@ style_tab = 1; //[0:Full,1:Auto,2:Left,3:Center,4:Right,5:None] style_lip = 0; //[0: Regular lip, 1:remove lip subtractively, 2: remove lip and retain height] // scoop weight percentage. 0 disables scoop, 1 is regular scoop. Any real number will scale the scoop. scoop = 1; //[0:0.1:1] -// only cut magnet/screw holes at the corners of the bin to save uneccesary print time -only_corners = false; /* [Base] */ -style_hole = 4; // [0:no holes, 1:magnet holes only, 2: magnet and screw holes - no printable slit, 3: magnet and screw holes - printable slit, 4: Gridfinity Refined hole - no glue needed] // number of divisions per 1 unit of base along the X axis. (default 1, only use integers. 0 means automatically guess the right division) div_base_x = 0; // number of divisions per 1 unit of base along the Y axis. (default 1, only use integers. 0 means automatically guess the right division) div_base_y = 0; +/* [Base Hole Options] */ +// only cut magnet/screw holes at the corners of the bin to save uneccesary print time +only_corners = false; +//Use gridfinity refined hole style. Not compatible with magnet_holes! +refined_hole = true; +// Base will have holes for 6mm Diameter x 2mm high magnets. +magnet_holes = false; +// Base will have holes for M3 screws. +screw_holes = false; +// Magnet holes will have crush ribs to hold the magnet. +crush_ribs = false; +// Magnet holes will have a chamfer to ease insertion. +chamfer_magnet_holes = false; +// Allows printing screw holes with magnet holes without using supports. +printable_magnet_hole_top = false; +hole_options = bundle_hole_options(refined_hole, magnet_holes, screw_holes, crush_ribs, chamfer_magnet_holes, printable_magnet_hole_top); // ===== IMPLEMENTATION ===== // @@ -98,7 +111,7 @@ gridfinityInit(gridx, gridy, height(gridz, gridz_define, style_lip, enable_zsnap cutCylinders(n_divx=cdivx, n_divy=cdivy, cylinder_diameter=cd, cylinder_height=ch, coutout_depth=c_depth, orientation=c_orientation, chamfer=c_chamfer); } } -gridfinityBase(gridx, gridy, l_grid, div_base_x, div_base_y, style_hole, only_corners=only_corners); +gridfinityBase(gridx, gridy, l_grid, div_base_x, div_base_y, hole_options, only_corners=only_corners); } diff --git a/gridfinity-rebuilt-holes.scad b/gridfinity-rebuilt-holes.scad index 21ba2e6..778a9ec 100644 --- a/gridfinity-rebuilt-holes.scad +++ b/gridfinity-rebuilt-holes.scad @@ -6,6 +6,22 @@ include use +/** + * @brief Make a magnet hole printable without suports. + * @see https://www.youtube.com/watch?v=W8FbHTcB05w + * @param screw_radius Radius of the screw hole. + * @param magnet_radius Radius of the magnet hole. + * @param magnet_depth Depth of the magnet hole. + * @details This is the negative designed to be cut out of the magnet hole. + * Use it with `difference()`. + */ +module make_magnet_hole_printable(screw_radius, magnet_radius, magnet_depth) { + copy_mirror([0,1,0]) { + translate([-1.5*magnet_radius, screw_radius+0.1, magnet_depth - LAYER_HEIGHT]) + cube([magnet_radius*3, magnet_radius*3, 10]); + } +} + /** * @brief Refined hole based on Printables @grizzie17's Gridfinity Refined * @details Magnet is pushed in from +X direction, and held in by friction. @@ -38,25 +54,37 @@ module refined_hole() { } /** - * @brief A single magnet/screw hole. To be cut out of the base. - * @pram style_hole Determines the type of hole that will be generated. - * @param o Offset - * @details - * - 0: No holes. Does nothing. - * - 1: Magnet holes only - * - 2: Magnet and screw holes - no printable slit. - * - 3: Magnet and screw holes - printable slit. - * - 4: Gridfinity Refined hole - no glue needed. + * @brief Create an options list used to configure bin holes. + * @param refined_hole Use gridfinity refined hole type. Not compatible with "magnet_hole". + * @param magnet_hole Create a hole for a 6mm magnet. + * @param screw_hole Create a hole for a M3 screw. + * @param crush_ribs If the magnet hole should have crush ribs for a press fit. + * @param chamfer Add a chamfer to the magnet hole. + * @param supportless If the magnet hole should be printed in such a way that the screw hole does not require supports. */ -module block_base_hole(style_hole, o=0) { - assert(style_hole >= 0 && style_hole <= 4, "Unhandled Hole Style"); +function bundle_hole_options(refined_hole=true, magnet_hole=false, screw_hole=false, crush_ribs=false, chamfer=false, supportless=false) = + [refined_hole, magnet_hole, screw_hole, crush_ribs, chamfer, supportless]; - refined_hole = style_hole == 4; - magnet_hole = style_hole == 1 || style_hole == 2 || style_hole == 3; - screw_hole = style_hole == 2 || style_hole == 3; - crush_ribs = false; // Not Implemented Yet - chamfer = false; // Not Implemented Yet - supportless = style_hole==3; +/** + * @brief A single magnet/screw hole. To be cut out of the base. + * @details Supports multiple options that can be mixed and matched. + * @pram hole_options @see bundle_hole_options + * @param o Offset + */ +module block_base_hole(hole_options, o=0) { + // Destructure the options + refined_hole = hole_options[0]; + magnet_hole = hole_options[1]; + screw_hole = hole_options[2]; + crush_ribs = hole_options[3]; + chamfer = hole_options[4]; + supportless = hole_options[5]; + + // Validate said options + if(refined_hole) { + assert(!magnet_hole, "magnet_hole is not compatible with refined_hole"); + } + assert(crush_ribs == false && chamfer == false, "crush_ribs and chamfer are not supported yet"); screw_radius = SCREW_HOLE_RADIUS - (o/2); magnet_radius = MAGNET_HOLE_RADIUS - (o/2); @@ -69,23 +97,23 @@ module block_base_hole(style_hole, o=0) { if(refined_hole) { refined_hole(); } + if(magnet_hole) { difference() { - if(crush_ribs){ + if(crush_ribs) { // Not Implemented Yet } else { cylinder(h = magnet_depth, r=magnet_radius); } if(supportless) { - copy_mirror([0,1,0]) - translate([-1.5*magnet_radius, screw_radius+0.1,magnet_depth]) - cube([magnet_radius*3,magnet_radius*3, 10]); - } - if(chamfer) { - // Not Implemented Yet + make_magnet_hole_printable(screw_radius, magnet_radius, magnet_depth); } } + + if(chamfer) { + // Not Implemented Yet + } } if(screw_hole) { @@ -96,4 +124,11 @@ module block_base_hole(style_hole, o=0) { //$fa = 8; //$fs = 0.25; -//block_base_hole(4); +//block_base_hole(bundle_hole_options( +// refined_hole=true, +// magnet_hole=false, +// screw_hole=false, +// supportless=false, +// crush_ribs=false, +// chamfer=false +//)); diff --git a/gridfinity-rebuilt-utility.scad b/gridfinity-rebuilt-utility.scad index 49eb5c8..9d46ada 100644 --- a/gridfinity-rebuilt-utility.scad +++ b/gridfinity-rebuilt-utility.scad @@ -210,7 +210,7 @@ module profile_base() { ]); } -module gridfinityBase(gx, gy, l, dx, dy, style_hole, off=0, final_cut=true, only_corners=false) { +module gridfinityBase(gx, gy, l, dx, dy, hole_options, off=0, final_cut=true, only_corners=false) { dbnxt = [for (i=[1:5]) if (abs(gx*i)%1 < 0.001 || abs(gx*i)%1 > 0.999) i]; dbnyt = [for (i=[1:5]) if (abs(gy*i)%1 < 0.001 || abs(gy*i)%1 > 0.999) i]; dbnx = 1/(dx==0 ? len(dbnxt) > 0 ? dbnxt[0] : 1 : round(dx)); @@ -239,14 +239,14 @@ module gridfinityBase(gx, gy, l, dx, dy, style_hole, off=0, final_cut=true, only (gy/2) * l_grid - d_hole_from_side, 0 ]) - block_base_hole(style_hole, off); + block_base_hole(hole_options, off); } } } } else { pattern_linear(gx/dbnx, gy/dbny, dbnx*l, dbny*l) - block_base(gx, gy, l, dbnx, dbny, style_hole, off); + block_base(gx, gy, l, dbnx, dbny, hole_options, off); } } } @@ -258,17 +258,17 @@ module gridfinityBase(gx, gy, l, dx, dy, style_hole, off=0, final_cut=true, only * @param l * @param dbnx * @param dbny - * @param style_hole @see block_base_hole.style_hole + * @param hole_options @see block_base_hole.hole_options * @param off */ -module block_base(gx, gy, l, dbnx, dbny, style_hole, off) { +module block_base(gx, gy, l, dbnx, dbny, hole_options, off) { render(convexity = 2) difference() { block_base_solid(dbnx, dbny, l, off); pattern_circular(abs(l-d_hole_from_side/2)<0.001?1:4) translate([l/2-d_hole_from_side, l/2-d_hole_from_side, 0]) - block_base_hole(style_hole, off); + block_base_hole(hole_options, off); } } From f222c262fc06a7adb6b1c7a4ff90869b1d5f79f5 Mon Sep 17 00:00:00 2001 From: Arthur Moore Date: Sun, 21 Apr 2024 23:28:49 -0400 Subject: [PATCH 06/27] Allow using crush ribs for the magnet hole --- gridfinity-rebuilt-holes.scad | 70 +++++++++++++++++++++++++++++++++-- standard.scad | 7 ++++ 2 files changed, 74 insertions(+), 3 deletions(-) diff --git a/gridfinity-rebuilt-holes.scad b/gridfinity-rebuilt-holes.scad index 778a9ec..15ed318 100644 --- a/gridfinity-rebuilt-holes.scad +++ b/gridfinity-rebuilt-holes.scad @@ -6,6 +6,70 @@ include use +/** + * @brief Wave generation function for wrapping a circle. + * @param t An angle of the circle. Between 0 and 360 degrees. + * @param count The number of **full** waves in a 360 degree circle. + * @param range **Half** the difference between minimum and maximum values. + * @param vertical_offset A simple offset. + * @details + * If plotted on an x/y graph this produces a standard sin wave. + * Range only seems weird because it describes half a wave. + * Mapped by doing [sin(t), cost(t)] * wave_function(...). + * When wrapping a circle: + * Final Outer radius is (wave_vertical_offset + wave_range). + * Final Inner radius is (wave_vertical_offset - wave_range). + */ +function wave_function(t, count, range, vertical_offset) = + (sin(t * count) * range) + vertical_offset; + +/** + * @brief A circle with crush ribs to give a tighter press fit. + * @details Extrude and use as a negative modifier. + * Idea based on Slant3D's video at 5:20 https://youtu.be/Bd7Yyn61XWQ?t=320 + * Implementaiton is completely different. + * Important: Lower ribs numbers just result in a deformed circle. + * @param outer_radius Final outer radius. + * @param inner_radius Final inner radius. + * @param ribs Number of crush ribs the circle has. +**/ +module ribbed_circle(outer_radius, inner_radius, ribs) { + assert(outer_radius > 0, "outer_radius must be positive"); + assert(inner_radius > 0, "inner_radius must be positive"); + assert(ribs > 0, "ribs must be positive"); + assert(outer_radius > inner_radius, "outer_radius must be larger than inner_radius"); + + wave_range = (outer_radius - inner_radius) / 2; + wave_vertical_offset = inner_radius + wave_range; + + // Circe with a wave wrapped around it + wrapped_circle = [ for (i = [0:360]) + [sin(i), cos(i)] * wave_function(i, ribs, wave_range, wave_vertical_offset) + ]; + + polygon(wrapped_circle); +} + + +/** + * @brief A cylinder with crush ribs to give a tighter press fit. + * @details To be used as the negative for a hole. + * @see ribbed_circle + * @param outer_radius Outer Radius of the crush ribs. + * @param inner_radius Inner Radius of the crush ribs. + * @param height Cylinder's height. + * @param ribs Number of crush ribs. + */ +module ribbed_cylinder(outer_radius, inner_radius, height, ribs) { + assert(height > 0, "height must be positive"); + linear_extrude(height) + ribbed_circle( + outer_radius, + inner_radius, + ribs + ); +} + /** * @brief Make a magnet hole printable without suports. * @see https://www.youtube.com/watch?v=W8FbHTcB05w @@ -84,11 +148,11 @@ module block_base_hole(hole_options, o=0) { if(refined_hole) { assert(!magnet_hole, "magnet_hole is not compatible with refined_hole"); } - assert(crush_ribs == false && chamfer == false, "crush_ribs and chamfer are not supported yet"); + assert(chamfer == false, "chamfer is not supported yet"); screw_radius = SCREW_HOLE_RADIUS - (o/2); magnet_radius = MAGNET_HOLE_RADIUS - (o/2); -// magnet_inner_radius = // Not Implemented Yet + magnet_inner_radius = MAGNET_HOLE_CRUSH_RIB_INNER_RADIUS - (o/2); screw_depth = h_base-o; // If using supportless / printable mode, need to add an additional layer, so it can be removed later magnet_depth = MAGNET_HOLE_DEPTH - o + (supportless ? LAYER_HEIGHT : 0); @@ -101,7 +165,7 @@ module block_base_hole(hole_options, o=0) { if(magnet_hole) { difference() { if(crush_ribs) { - // Not Implemented Yet + ribbed_cylinder(magnet_radius, magnet_inner_radius, magnet_depth, MAGNET_HOLE_CRUSH_RIB_COUNT); } else { cylinder(h = magnet_depth, r=magnet_radius); } diff --git a/standard.scad b/standard.scad index e86b2da..ff921fe 100644 --- a/standard.scad +++ b/standard.scad @@ -43,6 +43,13 @@ REFINED_HOLE_HEIGHT = MAGNET_HEIGHT - 0.1; // How many layers are between a Gridfinity Refined Hole and the bottom REFINED_HOLE_BOTTOM_LAYERS = 2; +// Experimentally chosen for a press fit. +MAGNET_HOLE_CRUSH_RIB_INNER_RADIUS = 5.9 / 2; +// Mostly arbitrarily chosen. +// 30 ribs does not print with a 0.4mm nozzle. +// Anything 5 or under produces a hole that is not round. +MAGNET_HOLE_CRUSH_RIB_COUNT = 8; + // **************************************** // top edge fillet radius From 32f91a77ca750f62b7680dbab61cd88d8496998c Mon Sep 17 00:00:00 2001 From: Arthur Moore Date: Sun, 21 Apr 2024 23:34:23 -0400 Subject: [PATCH 07/27] Support Chamfering Magnet Holes Similar to ljbeal's Pull Request. However, the implementation is completely different. https://github.com/kennetek/gridfinity-rebuilt-openscad/pull/144 --- gridfinity-rebuilt-holes.scad | 37 +++++++++++++++++++++++++++-------- standard.scad | 3 +++ 2 files changed, 32 insertions(+), 8 deletions(-) diff --git a/gridfinity-rebuilt-holes.scad b/gridfinity-rebuilt-holes.scad index 15ed318..73301ac 100644 --- a/gridfinity-rebuilt-holes.scad +++ b/gridfinity-rebuilt-holes.scad @@ -117,6 +117,28 @@ module refined_hole() { } } +/** + * @brief Create a cone given a radius and an angle. + * @param bottom_radius Radius of the bottom of the cone. + * @param angle Angle as measured from the bottom of the cone. + * @param max_height Optional maximum height. Cone will be cut off if higher. + */ +module cone(bottom_radius, angle, max_height=0) { + assert(bottom_radius > 0); + assert(angle > 0 && angle <= 90); + assert(max_height >=0); + + height = tan(angle) * bottom_radius; + if(max_height == 0 || height < max_height) { + // Normal Cone + cylinder(h = height, r1 = bottom_radius, r2 = 0, center = false); + } else { + top_angle = 90 - angle; + top_radius = bottom_radius - tan(top_angle) * max_height; + cylinder(h = max_height, r1 = bottom_radius, r2 = top_radius, center = false); + } +} + /** * @brief Create an options list used to configure bin holes. * @param refined_hole Use gridfinity refined hole type. Not compatible with "magnet_hole". @@ -148,7 +170,6 @@ module block_base_hole(hole_options, o=0) { if(refined_hole) { assert(!magnet_hole, "magnet_hole is not compatible with refined_hole"); } - assert(chamfer == false, "chamfer is not supported yet"); screw_radius = SCREW_HOLE_RADIUS - (o/2); magnet_radius = MAGNET_HOLE_RADIUS - (o/2); @@ -176,7 +197,7 @@ module block_base_hole(hole_options, o=0) { } if(chamfer) { - // Not Implemented Yet + cone(magnet_radius + MAGNET_HOLE_CHAMFER_ADDITIONAL_RADIUS, MAGNET_HOLE_CHAMFER_ANGLE, magnet_depth); } } @@ -189,10 +210,10 @@ module block_base_hole(hole_options, o=0) { //$fa = 8; //$fs = 0.25; //block_base_hole(bundle_hole_options( -// refined_hole=true, -// magnet_hole=false, -// screw_hole=false, -// supportless=false, -// crush_ribs=false, -// chamfer=false +// refined_hole=false, +// magnet_hole=true, +// screw_hole=true, +// supportless=true, +// crush_ribs=true, +// chamfer=true //)); diff --git a/standard.scad b/standard.scad index ff921fe..04bac18 100644 --- a/standard.scad +++ b/standard.scad @@ -50,6 +50,9 @@ MAGNET_HOLE_CRUSH_RIB_INNER_RADIUS = 5.9 / 2; // Anything 5 or under produces a hole that is not round. MAGNET_HOLE_CRUSH_RIB_COUNT = 8; +MAGNET_HOLE_CHAMFER_ADDITIONAL_RADIUS = 0.8; +MAGNET_HOLE_CHAMFER_ANGLE = 45; + // **************************************** // top edge fillet radius From c47661af7fa96e7fa0bdc3f10c13e3e7ed771cad Mon Sep 17 00:00:00 2001 From: Arthur Moore Date: Sun, 21 Apr 2024 23:43:48 -0400 Subject: [PATCH 08/27] Add A 2nd Level For Supportless Hole Generation Makes holes print better. Use Affine Translation Matrices to be clear how everything works without being too verbose. --- gridfinity-rebuilt-holes.scad | 58 ++++++++++++++++++++++++++++------- 1 file changed, 47 insertions(+), 11 deletions(-) diff --git a/gridfinity-rebuilt-holes.scad b/gridfinity-rebuilt-holes.scad index 73301ac..9bc7161 100644 --- a/gridfinity-rebuilt-holes.scad +++ b/gridfinity-rebuilt-holes.scad @@ -70,19 +70,53 @@ module ribbed_cylinder(outer_radius, inner_radius, height, ribs) { ); } + /** - * @brief Make a magnet hole printable without suports. + * @brief Make a hole printable without suports. * @see https://www.youtube.com/watch?v=W8FbHTcB05w - * @param screw_radius Radius of the screw hole. - * @param magnet_radius Radius of the magnet hole. - * @param magnet_depth Depth of the magnet hole. + * @param inner_radius Radius of the inner hole. + * @param outer_radius Radius of the outer hole. + * @param outer_depth Depth of the magnet hole. * @details This is the negative designed to be cut out of the magnet hole. * Use it with `difference()`. */ -module make_magnet_hole_printable(screw_radius, magnet_radius, magnet_depth) { - copy_mirror([0,1,0]) { - translate([-1.5*magnet_radius, screw_radius+0.1, magnet_depth - LAYER_HEIGHT]) - cube([magnet_radius*3, magnet_radius*3, 10]); +module make_hole_printable(inner_radius, outer_radius, outer_depth) { + assert(inner_radius > 0, "inner_radius must be positive"); + assert(outer_radius > 0, "outer_radius must be positive"); + assert(outer_depth > 2*LAYER_HEIGHT, str("outer_depth must be at least ", 2*LAYER_HEIGHT)); + tollerance = 0.001; // To make sure the top layer is fully removed + + translation_matrix = affine_translate([ + -outer_radius, + inner_radius, + outer_depth - 2*LAYER_HEIGHT + ]); + second_translation_matrix = translation_matrix * affine_translate([0, 0, LAYER_HEIGHT]); + + cube_dimensions = [ + outer_radius*2, + outer_radius - inner_radius, + LAYER_HEIGHT + tollerance + ]; + + union(){ + union() { + multmatrix(translation_matrix) + cube(cube_dimensions); + multmatrix(affine_rotate([0, 0, 180]) * translation_matrix) + cube(cube_dimensions); + } + //2nd level + union() { + multmatrix(second_translation_matrix) + cube(cube_dimensions); + multmatrix(affine_rotate([0, 0, 90]) * second_translation_matrix) + cube(cube_dimensions); + multmatrix(affine_rotate([0, 0, 180]) * second_translation_matrix) + cube(cube_dimensions); + multmatrix(affine_rotate([0, 0, 270]) * second_translation_matrix) + cube(cube_dimensions); + } } } @@ -175,8 +209,10 @@ module block_base_hole(hole_options, o=0) { magnet_radius = MAGNET_HOLE_RADIUS - (o/2); magnet_inner_radius = MAGNET_HOLE_CRUSH_RIB_INNER_RADIUS - (o/2); screw_depth = h_base-o; - // If using supportless / printable mode, need to add an additional layer, so it can be removed later - magnet_depth = MAGNET_HOLE_DEPTH - o + (supportless ? LAYER_HEIGHT : 0); + // If using supportless / printable mode, need to add two additional layers, so they can be removed later. + supportless_additional_depth = 2* LAYER_HEIGHT; + magnet_depth = MAGNET_HOLE_DEPTH - o + + (supportless ? supportless_additional_depth : 0); union() { if(refined_hole) { @@ -192,7 +228,7 @@ module block_base_hole(hole_options, o=0) { } if(supportless) { - make_magnet_hole_printable(screw_radius, magnet_radius, magnet_depth); + make_hole_printable(screw_radius, magnet_radius, magnet_depth); } } From 3e94c65cf2b307996da74db17f8f160a3f1f4c57 Mon Sep 17 00:00:00 2001 From: Arthur Moore Date: Mon, 15 Apr 2024 01:37:43 -0400 Subject: [PATCH 09/27] Add images of all the hole options. Does not include all combinations. --- .../magnet_and_screw_holes_plain.png | Bin 0 -> 11894 bytes .../magnet_and_screw_holes_printable.png | Bin 0 -> 11974 bytes ...oles_printable_chamfered_with_crush_ribs.png | Bin 0 -> 19090 bytes .../magnet_holes_chamfered.png | Bin 0 -> 16576 bytes images/base_hole_options/magnet_holes_plain.png | Bin 0 -> 10753 bytes .../magnet_holes_with_crush_ribs.png | Bin 0 -> 11587 bytes images/base_hole_options/no_holes.png | Bin 0 -> 8527 bytes .../refined_and_screw_holes.png | Bin 0 -> 11529 bytes images/base_hole_options/refined_holes.png | Bin 0 -> 9530 bytes images/base_hole_options/screw_holes.png | Bin 0 -> 9749 bytes images/base_hole_options/viewport_settings.jpg | Bin 0 -> 19792 bytes 11 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 images/base_hole_options/magnet_and_screw_holes_plain.png create mode 100644 images/base_hole_options/magnet_and_screw_holes_printable.png create mode 100644 images/base_hole_options/magnet_and_screw_holes_printable_chamfered_with_crush_ribs.png create mode 100644 images/base_hole_options/magnet_holes_chamfered.png create mode 100644 images/base_hole_options/magnet_holes_plain.png create mode 100644 images/base_hole_options/magnet_holes_with_crush_ribs.png create mode 100644 images/base_hole_options/no_holes.png create mode 100644 images/base_hole_options/refined_and_screw_holes.png create mode 100644 images/base_hole_options/refined_holes.png create mode 100644 images/base_hole_options/screw_holes.png create mode 100644 images/base_hole_options/viewport_settings.jpg diff --git a/images/base_hole_options/magnet_and_screw_holes_plain.png b/images/base_hole_options/magnet_and_screw_holes_plain.png new file mode 100644 index 0000000000000000000000000000000000000000..fce82e638047bef452e18f99c7b126e1e58f9704 GIT binary patch literal 11894 zcmeHtc|6qrzwZa7Bx&f2Y!k8+QVE4Y8L5P%?0Z=; zX!?yC?go5K)XSIqIhByUIZy;8xMrJ>4cGv{YM^b+0<`ips~h+&41)lGdvG%*Kuvg( z7c>|GF6TX_ni&X!x5xp&MPVERZ~^lF^3aFV1b~?`PDOb=)F#TARXrm)>EvI^IXw93 zziz<@JbE1Kh%}X>YV@ks9uhq!bCKbyY4J(9)78B1mNe1mt5nf*@3@VDf;ZKIcgj>@ zsEM_0y=M@_#p1ku>+$NEAy^MZBxVN2^vW^Wn<0PGMN5H_5$I?L{<*RdKz+nDL zm#^q)NjI337p!P?z2X^!Gd7;S^C4i62@w4=tV$jzwp~lAIz&e0Tk~Kj*2NUxiufo@ zE}dDZfFaG_5VbooRBatFu^v7~kKs2|Hx8qeD*bsiQe^xjTBF5B)JDo?<%@oeG%N6J z9;Kkn4}oxoM+#8uR;cbKY_=D1T}zFuj(W)gr=JI`mKHMy#rjg{=<~4;r1+f?WPFJa zvHh4l8A7s^+iz;^nnLPRd_hk!SSh3)+QQ*aW>am-dg~Ya(5a-45-j!(QkhZ(?ULbr zj_4TR{r7q%k88**-T_B=1+UwmKW6;O%G}(^>y~R4yvM~mze$8IoxHi ze7wohZyL| zFphrU>RDOY3cbyiJxEQ|Lz#MQ=kDj(GgO8=W}x@)?+=ke<+9-XZY$J7KOM=84$!aF zxJ@+VZ*YRX4(ky1w` zB5uSuC59nRT~hKn?12@&z7=9<9)ND1v#eXWhVqvJtZrZ^95>g94YeIZc+PWBnXo6lGL#%-2Zovn=O7NV;}>0!TFd+1f4NoW+MNVEnmA?ap*L-mk=!5De; z|EVXH=iVmwXi(|4PAYcFW9y$|)+|n`>5gr*k1`*`&sl7RhZ0@uXMZ@mur%K{<8BRj zB6AJSNr@gW6`_h2e2aw^5hTtIt9>BQpSAK@CHW7_*sPaSD15f0Md`a+Xrq5^ABbzf zTXv|sZatFeCtHw^y*(P22%daC^?~59Ejz_em`@@jLjx(vZMmri$2f&zt9$yk<^}@I z$8A{ec|5FANi>^a(|@8+d$3+{SQ*}POJyz=$XpUh9fj1=wx}Hs_Ft|(Wp9~%);5*Q zof1!b{Ba0fysDi_+W*1HeZ_L`?}qam?i~r$Jz89Y3A^zwXBIx{6sjIpkbPyWFW?UM z&IGfa{-vp6crej=LS^SA9KImpZ|AjYMBpDY7*E$&V;1dfqnAW9xu$mSNm*EwiTHAXO8|Ok|y#t-NdMBmU!H#aFjX{ zL*sDY3{mR3mK&dv*Os0)(*E5^x)Q5idr-MqvLD47DDvfLpUfma^-ROdYq{6~-8@Mo zwEMOI(o*sQ!*GHs)GGTftU%WG`7L1LLI0hrXaSZ8ee!Zqp<*9WKULLs|(I_Z5>325qHGTpy z111$~GHV|qjk^h7A$-CMby1hta_6}{v^!nk2hWJHQ^VA&@w3C~YG$wg_ z+gFlXT9A&iGEM^hkiyrB8J>Fk%g_~~KMSC)Y2^K-BUk`(O_ozyr1n<%m#FU*Y|h`b z&A!~|vq?p^^up!xpZT$sixl|lmpAro8I$s(mkj!rmS`2M&V7_M4$}UOH+s&F1Vu(Z ztDCmzNg4hJ-QXjR6z_bvkc z*+&$}_a<7NHz{Z#(^kU!QtK~KZKd=O6ca1M%N61WQpMt8rK8VdmUd-tUK!JrXGv9j z9Laj{n`Jdmb*H@^mr&k9D--4~Ul5rv_w4(at9`{N6u4fmEpXAwT0)X_!YfEK#OVl(+P$;fAu3qG*Os zuk$t+&msMiUqmfoOdJ$6y_PF0M)?zPIXGg^4=%E(`?Dwn9DH^9Uh9z0I% zW$x&5hSCR~(>7nNA4m_Q*fJgEYyy1Fw{Q^564AYp^bQ zmG;)JO|j3^aaaxg!fw+Y#TE8eGk5(CEys5eS~w+IspZDzHQDi<9|u0OG2w@OjZW{# z{KF84?7Hcl5e+YR3&rx_&Gz@@9Fpw?oT20>$Mr0| z>iCEC2SL~IRM$QimP?LLsy>En9c8*wx>VQTd%G@;t&P2Uib0IiyDm#^lt)i^beBI1 z%KOKyc2=hg3h3>TwKFnfz7t`P5Avm5Uk406v=%+p@ao(~WXRkVDv;$)*7tX>-N~=@ zuwc1*`5XU0H{46R_R`iQ3Go576^@3v>?9TnX^7zrvzu27HTxwrkYyg0?n#ZzyNgH} zauSVWS1f#qufAG#E_ON}+mSPLgf*L|Xu7ImRMF{`UvUvD;jC#5p|=VsgoUT3V2%`W zm|weIBgSG)=s3oA@5Pf0yam^gWwl3nL);aG)|~i*~TCC7M34iHr?5F5PWg;eJth`Y&=t6(yLZckaDyP}3_{N;!D&D}SdAP~1EH%_~80($a;*UpmE9YD;7s-@o6DJ*KR)f|UTCGu6VD;F~) z&fKb~pZAe;lZPq^y87(QC+9MB5c|*w^Rp$Rwl7qF8n{K{ab8610H;a>1t}_8;xHJ;uf;A`5%q;yazo&`t zy=zO~miVMZ9mZ0o#@*r+I)T@+9eJCBquy-OZYqI@!>SEi9W=hs>s)ko&egRul!!*= z(C)M*McIzV&gK(#9h&y+HU7yLwd9snHBT1hboVy1D1ps&rAq?|04+$ZCbIiq|mR=bxRc5E}RpAHr~MNH(?Z z+RCnrTMx#^?snjHme&_>m$G#UG(GcigC|Ux^AYy_mDa!9NGWE5htPwamuCJumui&d zr|+9FHJxL%%XasEXt84e>ruGD3`&k009h|!N55d4{ z48*pnG!BVd|7*+sw@v-uCOilVd#EOZJ_!IK+W#>9Kld-^fB4!v_kiC0>EHM6PeCG| zKE3|;$NZa;i&}K$SfwOY^wFdLxE=#jlBFI8fPeKW#BD2^Hb*!X8uXtq<^O>Cb0ogZ zx3Llrt3rt&?{@aB-K1P*jcY(s(DPI80N^tRN&QH@@Rbn?BUv1P3>F+^yo!R+< zuc)A!z8fYrqz{^A;L06?Hzkt7jedX=3JdI#^jU65x8Nz`E%J%POR2X z@5&X(8e26S*kX@RqEo2cSFCv%(x1QVh1A&gJ855;;~%fq*tLRijFMo(bP2UU@n5rO zYDDdJWtLUEpAf?te>mKUi=HODX{y;rM~=k^y&sbZMdnBaqsEK_P44?oCZ@1ZwvNdc z^Jel7CX^nNFBicrgcUR2qY@h`42?*u_O}zl5O^;djRtBYkFOG#jbOpr#$ky0*RBEn zu47ujgGpk;3|&Ks5qq73rK@8vv8_Ccx^`QQG-_+ETTi-SkOJDAKoT7Lbswyt*6ZSGv#R&~ArvPPHuiFQ3r#7*1ub&`oCSV>Xnh|!|M0a23qc8W6!4LYDF z2n%E}X%;==MFIUyw&`peqqIP?q(U!C!bAy-e6Uco9j8*5rI159mt1X^b};{nbKT;O zsj))?C6isOflA%qR!iE=V(X-GTisHqKh*0Q&t;_r?tnM|y&7_uGJRlegh4Q8bm)iuoRXgfpRodF@FkNPdn;m7HnUAQX4=0>K|X)gZ&O6s`#l%USbEG^_Iy!-Jb9M3^j`TFR);EyqZf{FAM1c zF+8ZS9ie!OF5}4^qM~B`>N3GshDn0Knmi_H`O;}`7*-$m_{wBrWy;QUIT{nt zy!$a<5QD+I_3rVkBkNmi$+)etgdb+<{<;oH^`mC);^l(|&JK1dt(RvWm(Lc)UCPRL zEl93GwBvei6O#TlTqocxln;$H+rfB%eu3FesX@6VPFS;nf??ke*;M7BtH1o{xS-61F-E?P7FefBwY}j3y5ZQLo!3fSCwPx2lr%-gCGc0{VE=>l zjotGN$p`+FBhav?a$b8fv1!PUZq?(ty=v;+Vrt>BrzXgn7CWaRms;p$7_gK+RR1dV zWPQ#R<)fvLECL^VvqjE)?~96Z9jkKv9nDGrv2zm${nwA)chihk>biK91Ghb-exFMH zn2(@_bc&R&`&l!RIY`qhQMFssTSw%ws*#y_wqKmhD}QLSYH6ObZz+3t5PyWMi=ty7 zgP($@%wqDDn-!u%aEE4w&?2arehC5{D$BJWzMM^=k* z53iPmH*N4*Z61>cp*|07yboiF|WMP z{q-J9SUf>rb_0ngIY?Kjw{(X;9i_03oTTZ=1l_TC@JncuKDy77=N;Tk9iHSn@&ioi z01qRluT0PnWScBkm9-NAMQVf|4#+6F{ElYnWj~@PP087-5&F&*&u)NX_e5QstA#sx zK*2?Kmⅇ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 Sz{WawYd}K>j=N*^>c0U*vF=d- literal 0 HcmV?d00001 diff --git a/images/base_hole_options/magnet_and_screw_holes_printable.png b/images/base_hole_options/magnet_and_screw_holes_printable.png new file mode 100644 index 0000000000000000000000000000000000000000..bd94e2da2ed92d15bab5ec848de7eaff3ca4a8e0 GIT binary patch literal 11974 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 W=jM$35DnJ%fZI3C^wHOy|NJ)%5H&ym literal 0 HcmV?d00001 diff --git a/images/base_hole_options/magnet_and_screw_holes_printable_chamfered_with_crush_ribs.png b/images/base_hole_options/magnet_and_screw_holes_printable_chamfered_with_crush_ribs.png new file mode 100644 index 0000000000000000000000000000000000000000..c308b1f39f79f2ad9d3c5d75dae4035651b49017 GIT binary patch literal 19090 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

oDU~s&_hU&{~F3{nAp~Gz_FgS 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 Y_Bia_brvlR^a8rCW2}w1=k)6T0FLu{F8}}l literal 0 HcmV?d00001 diff --git a/images/base_hole_options/magnet_holes_plain.png b/images/base_hole_options/magnet_holes_plain.png new file mode 100644 index 0000000000000000000000000000000000000000..c8a19f9adcf56b260afbf91a783de1e0e38a8362 GIT binary patch literal 10753 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 literal 0 HcmV?d00001 diff --git a/images/base_hole_options/magnet_holes_with_crush_ribs.png b/images/base_hole_options/magnet_holes_with_crush_ribs.png new file mode 100644 index 0000000000000000000000000000000000000000..6078b40029c393b95659c8b8274f6ffb4e11289d GIT binary patch literal 11587 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 z zs??K8@BZEM^$(vzisQ|#=e+-!|I!%&C0i-#OZwjj(&F&PyNaMUBYpDUaKQ)JBj4a* zJn;7q^Bsj8B%({ux znt?;cYx||~?H*n%CYP?|Z4>nMc$(pReq}wU<#B=8 z*g6j~Idr>QNK&!c)~x$e{dB7wrIIVHD_j_G+yt5U)%w*_u%7P5$zPXL98>G-ZI`{B zD{PSzithD#{^cB8Zr*yp5e-@NT^rH_R<`I=d{8YmBQ46?(^t1aXfNjNNn;`?jWg-| zl&cu#%-*P>pSmBKn^~E|HN!h>BPVrweuRf9J)mU8;?^FgwG6mRtC=2mYj{B@XaD}# zMWUvpeiD(^+Gm^^rkeij6j~UWgl1hob{O*ey?$~E4?}Vtzp+DFZ}xF&JPC@%bM2$W zj)wHXFSU)oUX`Nuu}Pz^PygiA6{rfzJk9%OEzRXY4|AI`c~s34&+Yse2hP~F-%1$; zQXfby;@6o%c=CzBuB^z}qvov(4kwRDh|u1$3$gFX=a!Ow0VCJWMRWwCnQFG;Eme5c zp}#hJaSWW?h1Ee0MvFYul_4V3khD7~XYsN5XS-P8bVoE^9ZIJfd*HdR89DT$v>NwB ziTh&iHlwv&F7z_+6Gz!^h1U|Q66NYGn2PilF)flkU6V7Qc#pN^#D##c}#WQ1?^9!VpZQ*FjcfiMeK!GC9 zyU-ENnf|0M{(yh|XzI~k$wGL?PL=a9qz`tzi=dZI=a0`q1;;{#YaaK>qNVfG$c-0u z;oG3j-Is13GVW$rlyzvsx9g zYie_TDL4<&-sIzW1TbhViJgqCI~6oT&}Eu6`$>lS_e`u-21UJy6jx;+Jfq)$M2mZ2 zhAnvI>y5l&I$|PtIE|z3dCm5Y(_$itHT@EttzV)KcI6A>Nb`{GR$j#7ed7cua=k(m+dALf6W^Jx+Z8cVnFCvtD#VA>@RkS*twKA!sv8`&{HbeOQ0kfnUz{5RK zZxH#sl}0*G;GNDA&HMh~GpjxO~_~w=}qWrU2^*W+BA>`f6V7r`eDn@q*;jHyrq?iHrl6Jd59qAOg zIFhQ=^}~MRmN;(%b({s|dE#;keV@u&g4g;W=Caeo|Cj*9jNDpr6rKNhD9FeuAoy!% zmR3EC;$PQ!n2s;EM)p`RsK*tD#Xy^4i|tX8I6z;d1`RAWq4eaJO=7MKr^&AFmqP)lu6_a~jK`Uxt^Exh8um;_nl7e4QrjE7%^;csIWg=(m&7FsL%4*f(G}XiW66K3N_iTOMnj<;3$2KMhHz z3)N`NJWt?YF`V7N4Vu~z6z1G#EAJ*nzUXZX)p*Ja2$?`RPo#mQpj5UHt~8Py2mGH- zc%(ggNaO-@MluC2==*IS|Db@>ApTJfwSk`q00zbmGo~l4AppdP_geU_Ah0qK+jUJc=rP zT_*w06p%#8LxM6}%f|_k?$-h<`Ec+aOvef!wKN_%1-jH$l9p`;)O=2$6Yd7tqU1YV z90R098b1dx^bHLcMsy^>=54&Jx!y0R!$8>Dw7g^@68Z5X<>?oJ;kBl8e~E!_nywlJ zJ~$#5B(Qk#Ew$dHv-4cEZdK^6o%7OgtGX2n&>kw77JKglO!pEGx57uCXoaGyWbhydq^YU~Bb=MO zn_)-B!d6p>>YaD6<27mlJV4ptlC!z#oqn&LnVJQg<#Z*S zpMZ|y{RM|+@cvZ5`g<{iq!Bpdr!^W6W1>}o-tm{RtuKuX=0i%eXD~il#)i(S6iwsL z6P2>yb4li>D=FNgs6mC_bzB6%T8`o+Bo#}C@TtgGVv5ak7|pX8HP7@YnhE2(zuHi` ziyowr230`iQ?#4g==M4Gb@|i@?b#_M{braMK6*Q2nME^Ki|ksC0Lp)Q2azCUAsAVa zkn(&{1(}Q>o9HzVWpz7cZ5|E$z<1QhBHf{XdSGwArsbED6o+24R9X+gvFf*{!6XM{ zuldlj75#_h5`MNW*@g{h@&Q-7!gE)@ZF^@sFW2_Nppthp{Sfxgk37&`Ywq?Ab_yB3 zSY>+z;4b^v{_STseQ!sXoHcTT-e?y@vuMMY$D_ImLAl56xNU~<0z^rZhRR38=Ns%D z(N<4XeWoYgx=bPxxxc)ZjEtmfRY->x9PD6C;bhql6f;z|Zom=h=JaSut)JHJ{bjVeo=zVH zi1EK^I&d{uJ@$O1`nf=zYczO?kBj4IjsI~XJ;2+l5(gmGqh2D0`9voY{L|F2xPk9(L#XNN^^JIMqk>DjEt*yrBMIH z!M5Rw3M5j$b5KVY)p}T&a4S(ie~ZuQoIrsC+E7}c%6X1WZGT|SPrD{8v_zbW#hkC^ zq?IT{87&Nx>cn9;MTG%?dv325pfO@e-(g2C?X#mAP`;3u)1@eH3}&HTFqgD;mG>2s{ce1p@RIj+{UhfC08UO3-fM^0aq9nSCy8Gw#;8OPe zD7lki59c@}L5d2<`nWa>@evaO&bG!H47PQRY_vs^-4-`&(_+P41owLNQAL*fs~-93 zLfZN(A3LgfAgm?2vp$5Tl?L)xZcg)RsT@^VQz%vO;Q zjG({)HTgtp&FuOsyua}k8O_F6a>nbsveH0db4F?R5i@n&Ba5R1z9}`{IC{RehDGw`<~oi9>3hi1 zEI>FLpIdTOFa4pg{yp%R6G~!Z4L#4{!$XDtmMZ&(Z9&8E^_wOnu(R?$mApr_o5%_@ zq1LLFc?nFDF5k|dTW{^5rp?-8&HI%Rkijp|K=U?w%CSIl(tr!O-N7ep2n``Fg0#gr_}y#Lzw`v z3rD2ON<&gsiNKfn)-03aFa~yDZLxZKIo(?GAY3O_CkuR~nu}^}%|$(eBX+&v+YgZE z-dn1hs(SQI8vdR+`g<_Xnri_LE)tCm*IWJ8wSv#BMWE!^Q2j~twnge9c&zU-zvHc4 z@ISx>vX+(Zy1@o~dRj8jx~dfJ7<>4apifFg}qduhzPdBagRQYc4=Z z@Um=UeIRB~HBac_MiJ$yx*CxRXYB2TV3v1@qjRnJQE8iI81LftKsQmnTBLvW7!fQ9 zP$48%WR9R~_SUj2&za`Iz*;)1kC{6MoTh}AVR@)o)?de5#7?+|op_ghmpXC{nV}E7 z#ZUL8PphkazRk5TvIvvw3REapKN5%+z(0Z2S6(RHZkWB{ccS^K8z6-r@w#?CJ=@q| z9;PM1-{<6?~q)L!O+9+Pv6y@N-hpA6+#In$fvOuu4))IDtO!aRw@DAtn zT`_iG6gtkXZ?U&3cznWHWY_xZo;&~)duM(u$r0i21I=}<_qX$>7GWLRpZ~S_FZr_Z zp`ng9u#&)3g^;psan9GTRUh*J5P5U%`|mdg(!9=!q( z$;@llXz%zySoG$MjKMHj=0}7TkJ~LmYr(@c@nGHpQI@cfNL3JzZk+%VTV%=T%34{5 zT^x*7RD`L;%D9zqwOyJ3BX&P+4CcqcMyb3Do6#s(%@oB6^Co&p4o#vay06SmrNrrg zXB!y4Pj79t-h+ea5Fu#grE1wT-$be^cKfqM!Oyz+BOc(wk=L0LVwSL1qGV<=HpnmDZ$Z{$7|(2JU}VI%*NNZCW35&0hct9+H8FQ z{-~-%E9Hqwk3A{%7aM>j&3UJE6-wh5pdq*QqWwtW!APpau_Q8+qw3fYt@X;tf}MGf z^~jI{gwUtI0Y!r zf*KiY^+mE^HZHU$jbjj!PL|UwGh&`is|6%xTAM4B1raCG_D z!xPQdr9mvg(-KSdRasS&|dM9P>=U%*|vd!qEv| zBzK38F1JOm8#a-`>mP6fy*RT%>9T3`XiB_cwFHkwq-DiYxq=X9`*|&rj}r9k3GumN z-i5uIiI+WDWK#WyAz&@c#^oqA!1qLU(N7)g z5UlHOke^+*9j)nB*CH99HOePy%IK+|!K*|nXHemEkXQI-U`WsSeCN7_@p^QNu~9;u z8Caiip9849xXy|1oX3^uTLs`VM$%1P0H*o`$bn zagcjH7#O}3KHizw>jwRA+eohPi}a z#HdluFYI~_Xc-;=9u^DWb~kp5L>n7nH@22}UBGNV%(aPcNCmt0cwERNQ_k*kZR1)B zBCylKqj)Z-P9kQw{>RfBx%-D#4U=|ld7gEdh^5f3tb<(j-(>XPIY(5xfywcwPZeMm*HF!sro+vfWsDpCs7X^ytN{vx< zP&v@WdzEuhW-GRsFkG$sqj7S@=Y%10FYmtOMUR48>ww};i z^Z#5>QFm%z_>l^H`ODNC6-Q@xJLi6AK=OF?QcNHO5ITqst58m)N?#=0BDX7qz2pMw zPkd5W0}G(`Ox?-pDRCNpd%=tCi;|X#W#W0`S9RoBP#2s#cdo}HZFrD9CSO_OO!3`Q z=pZk!B+6K_K5}cPo6H4)SgcKe1pLI5Lhsg%kF@ z70fRBbOqs6#GjENtQeoa=eds*A5;y#0cNTUn}3-KhGyq}1dE4~1q}Sb?1;1bpyZ)) zdU59P#f$cMd{`;}7Whicv%sN&m58VFO(MjkD>8p4(e_`F82Rs6tNG9D;(yy})&G}P bU~|`_&kp+8S$r9+HwLa>H8Vu(J3smt*n}CC literal 0 HcmV?d00001 diff --git a/images/base_hole_options/no_holes.png b/images/base_hole_options/no_holes.png new file mode 100644 index 0000000000000000000000000000000000000000..33cc176e5a471df7bec938eb6f8d9bea4f1f428d GIT binary patch literal 8527 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 P0AOon4=q3EdGCJ#l<;b= literal 0 HcmV?d00001 diff --git a/images/base_hole_options/refined_and_screw_holes.png b/images/base_hole_options/refined_and_screw_holes.png new file mode 100644 index 0000000000000000000000000000000000000000..6b5ca846ff103fc152596623fcfe714c9f198689 GIT binary patch literal 11529 zcmeHtc|4SV-|vM=C3{8IkhBOT>x2?5gp#6+u@+ey%rIlGFtS%7vPTqSH+G6FVHC{_ zrZKd%k|Ams0^h$r_Anh0)SPO_XrOFgx-?DasWpK;k*D4 zg>eIbYX(p*;G*oP7`Svn(69td%^o1spiK<`j>-N%d~0G?gGkFTdP5l|HBiB0LXy-x zpE= zwHsSd%lyGb47RqKjb!Ww%WHM`194Y6hIR`+P3X-mQNDWPwZkun>RJ&u5YfWe{*;}c z*!7XRWvPXYxOEhJ^;5Q`rK7fN&M)p~rF%k0C@TT%(U@4_s=ku?iIDLcv52G^DP%`T z-MaH(!UQJegyAc>!%}H@k9&YhOfapLEi3C#J~FsKYu?n*Dvq!}hK(Fr$i!YjAkQU4 ztv|5m1y1{H7E`0mPr5pjhfA|1G^jGAGqE*NcPmN?Z8Ka3t6;~l9Cj1fW@dn(;H~?C z&wKUR)l~LFn6bk(|HyXxSK&;9!X|6Fmk{tm3mqtv?|kZ3p@GFIK?Tz@ZBe&*;1t5P zHY4xW;}`Ct4{k~R@)7{{I6bU3kDj|dK=>B7H_XJc-+fRKYQ8z(sRkVAVNh4*h9}+( z8TItsbxjO%trPMJ-dys5N*b!aVR25s%-R#Gc2>iZ@*x9yL5|epzNu1$xSdx`nV!z+1cUn`|FEHYr4ShKL7lPzp7?n+<0v;E^icUrlhc3Z zhNg9=K+0N2W|0kyrK~YtBLo0-f~4I9(I0|>w_lpBaRE1dN9$agmTn6Qmd*PLLja)l z3RL8agN3qvhZwM*K5uO+Dk$i+72AwQ$sY`(f0tdwo86H^mmh@RuU&KeV6oY$>$Q** z!e(hHiUKYORcVtE1nNv+yD)nW)~ z!n|!KUUJ^NDePe0_@P{4Z5gDL`SwKA+*yZ7^cl%oO^2Yu^|OL>zk-T*@74~BLZ4?` zK$i`oRal3LL}JUw<#NO*s;WtvaPRDu1#2(1-_!f&cH2*(izRAnHkm_wh+1|G;+3q! z=Qo#uEEm(aMR=&02_f^n^VBI5#;x!ET0C>qz-?;L_x<;bkyw(xqm?scfcBLT@9w9a z)0CDTj(D`-SbhvNC2Ml>V+bC9*Hv1u7c%@;+?YVf$g-<1YosdWMEv4rZs4*!V_buH zfpArbWz@?7LVWF-t2-_NIp!hm$j)~QIr09E>WNWwf@x#E)Q@5@zd~bP>EcV0ytZ7x ze&@Phq3wzp6`dJr@tUX){b#G?^zGtB;W{VY!zz~R6!R5wwF=}6!0;=Zd1G{=&%(jp ze&*UW1K${WOpBBxp9_>{Xx^7xQnmIZYo6>DGPB@6+XAI8nTU5Uyq6Au#hvD~gZ6+1 zaI50+h6WZ6AF@jy(#*`NxWp^8=yMW7FNK*cO?0dmAG+&6LXFh3+a)u41-aeyN8WU- zf?G06eHY?mX5au$PS$~~#SEEbH8ZrHT8jdXr^(?NZ(~j*8C7Lvq{a+;A`Q+%sT=QX zDFp1u{JO?wTFsba2xQezRbW)Rs+Q!twf&(0R%YWjXX32~@uJ?YZ(z4Cz5J;FI87e* z!&=Khaqork@t>edt$6)*#P}Ym=;DrZN zqu@+K)mw3^vs@zMjR%eZbDg_P(322rR6GB*EnD zDKGni7dl_iq&B?zicS?-Z!3fJjbCmbYP|u9n#0$Kwu>^r9 z-bA?;yRk_NsI&S0z&>c)3h{32tFeYcJ;QQy1DB?&=j;;{{l}VKsZ8}-o1o~P3U!mV z2O{ZJvmF7e-B-tmR0?jEeX>02b@F7aqfFm0tod!P%X~xoH1Bxc*$)+EweC}BwPyRT z_>mu)XdJ?aIW=Qla>4lv%X*h3<+njO+cib#k=T(pb1Hf_PbH-y%jG`LGX>5bK6e87 z!BYN#)m4LyuB+tCrFGus6$1}$_Gb~#7z`#-D){(yyMei}5DQ6G?RwRtZO^cIDfH@N zGVOMZ$Acvz9a*HeF!X*bHY(&b|3{-dslg#rWTD0Vb4upTLGlkDlCP?NnJQ6KyVWQg zveNl|c;bgWrB@-OeyxGTud{K(z~I70QZD>^cpA}N5_tMesmM#Bh2!T?5yH)hXRgj& z`<+_3ob2Rb=Msn^5(GfWdV0ExSrnSR-6XoIJTXDd|Kp;)1aq2{SE8v(>cBbb_-DGQ zTJpbR{Z5Wo4{91)JX7Y_!tL2itD_sYU)s>17WF?A)kv%NOz-k+wiLIO2^<7*a#q3+2)h8>3cga1)t^ zMfoq{pH`Qe4~DipcHLM*3>i94l}EJ01?oxkGa^G^0>wdw4kp(`sP|ZNj~Ci8_I8YPIaLFBQHju%>n97)qJrig~qL(D&}=W!E2fjdt3Oh0zoVk3{OXn66H? z%=@`Ah6-5AyzaH)BWS&?9Mwe_XUp@0^eK}3Zms->qRT=<2h(aI+N9PZB<}%tuU_U? zhVzb(<|(W2?Rt8%(uQ_JkRPgCH-RiWc^qt|H|;nBYA|ls-1~wfeYp}|+syrv!G@`^ z7DYssNJPNUve2Mmp+6*vb#B_hdoAtaS(|!V*I+x79otwbD`sd{9m{JB+Q zGlK~Cj7N|u+RnUy-K!|Kh;}Sw<%&Vu*5%E38z`z(SWplwAYFq&V{6w*1iYa#`5Spbbk%luvoBipfd+a1IZu@C? zHs67bvm-l&X!lAkzl}-)`%F2>c00YA#As-b7CljZ+E4dZ{ZCB?5kdGyn?8LJMV=jc z48FaF_S%^@7_Q>f#@u_~-(8y_uad7D)WISsF&aF~=9(V;meXwcI@jRQ_kl4sY-4uC z0ORg*6nnCWhSgS(-BbV6L(%E+Gqr;QbU%h!aHa3bTvXG>IrTB}j*nSsH=Tx`?_Q?H*8^C%6ct!AR%69=dnVa$;rtA4R__(3VmCwDhi(>~6i8>Z@OK-Ok zsPq10y^Y^K+>H{VXpk!utbOjtOlAq$6(lXeKmruA|KAddqHl4htH&F6?Z5KBW*4K9 zVjOk`jjQEe6OGUOm$P}mI4e2{0U_DtwwdkcCV&32T_3PBunA!jF&NE2-)tl$yLAcN z;y=DY>2*QewB$_fo6QoS`wcb&`p9?tB7AVw%?*ep0|NthT_1-#Zjts6rqGzA=8&Kf zV<4+VseXD6D!m<>?1^VC$ncM%ukCXK(216IJZ|ktWeGBJA2_B-aoxB!9e%0VRVLd{ z?>&RvfF!+?Y+fOr?wet6*;!y{GO|S+R)vzumVGL4HiZp#XqL%T$?VpA-Ne1B?wy^G zl^sD)R_;&~VmLv^IF7e#co_$0=7`Pq{M{dR;q$1hB}K^C^}k>FclejwbfT9;U%)<< z*Z;`N8Xc0y8$sv)4<~1Rx}$L+ktHPR@PB~Mwd_TA@q6|B^D6!mL=xSmctJg#1w!lg z*Z(=zS;`5)4!&RsojCe$`VGqahi=L7nN|fh!7C_`do9dBn!M2ve{y0~EmiBlN2T)3-XeR#&BU zbQ0L$!$=45@AX3b|A?0<t+<@IaxJmZrqIflST^C994QBSm&)G7AH~?Qcu11bXe!}{3=w2M?Nn~_VY7x(}b7}$yaL{rNPN~kYy z+}8bpmT6&9j9M5k@a`Dsi{#DDBRi(r5!%!o857EfSAdIRe_1&`e>KG45v<9;HT{1- zB>rWsDjpNwk-r4v1X>1#|L(>AJz-1o!piE65o0^h4M3=pR6yVrrvX)PyS{OSnJDjw z2l3#w<49`G;x>wk=&mq7vk%CUgPZ*N8O+)mXQ7tT1LR~!|JM5f6&L)? za~D9jdxJfHy>3%PcdG$|@$Y&-ot;_v2LND7b>k8}1QL~Vva&1cF@uKZ<9~V#Tj?pf zv9$=$n(d&zdrt|U9t)EW>f;JVf(F*QgSX}QZN9Cn&+U6h;GWkzTAJO0MNRpQ)tmJa zb@ja6v%8C<$G-FFML)MANfM}k(Dlyadd@)V7b6s0<^1Zspj*zWG2pWQ!s}jvpt)4P zu_A=J*o(C`=gc?_SRING&+)Dd%+Q6#po(s4X$$PT=*Bn}T9z z3|6DgjU@iztQI2#H^B~vBc2y{Dx~4IS~j^|N&DP8Ns+oJl@&>=HPch+lx>g?%sAIw zMS#RHOQzxdapSX~7J$LzcF>y74312Q1Tks@Lfo|iWP^Wst9}yrb%8WK{YzQeV?D5A z!rGxjY~!(~B=_1+k$4d6h2`lkcRfWZ+dJ(%mkir(mWCW+^Wh1)Xl96XW?_)8w^wFI zPfJ0$kBLl?p@qg*PPTBg*~LuuXkyLyA!qE2m>o1|eTjbcQ~OW|npO*Ut$Q)vq)UF- zn#FASLhxVqGX0@sySO-+na0xf@8nZ=G=sj3*4yrOtm;m-@kM&l{KxXr=+IU%A>vbl z7%^mfaJihilw`IUeMir849mRCuO|%NNc_MM21UN(mZ%8CjW;3`OFj=Z_6Q$q{LuU~Eg(kjqwsP*VR-JECQ#|Lzd!Ryg z^MH5~%FSvYyf-yqhDUvJ=ca`!F9~G}tJWGYO)q+j*wmbCT0uAy>^A#4IPD8^ z#nFLGy|=7$z#b#$ZA~1tG2|#K;LoHqP#>QLOXQhSp7E;YW&eSx*yck&E6a4X)7M0!oW$~@}#x6})GFsB5(8W-QHp%m>-hEYb`V7jX~B`Tt0WU%=ObuSDgE>+z- z6z62Jg{Y<4hSxI!*mK%JBwBPG#HO88nzAlLR(2;mO-Lc*ls>$pmYf$!GTIx%$xCCm>2xA;G6dc+c{2ep%}F8cbygT^UYiNs3NyHajmkGeM%`krmI? zY5=``O+$SnYXs~PO1L@vkUkJv1s0|TipH7EsxdR@CS9JSv-oYdTbV>?Hk@*2>VPk6 zI8IGb9(%;dcC|*1#DNB{GRJP1_rlVuBJf~ojES#kP{O3vcm0db25rmwZBXWZu*IFet&|MDL{1;d|Fk`QcCIhn=r*Wqv<)oXf-xew zfFgrh=s9@ThbUUk$I9AnAUNr5VGgfB#HXf?* zQX3+%DuSt>Cq;~%%$=#rjhq6D|F>VYpf;w|w8pQ%-DClXUTLnObzv}rrP&R~N)6Rd z+h6k&b+VVd6+i7xLhH(!s=u8^R|^dcF#Fz%cxCQhQN23F-C$*2^E>=+Iq5gX&UhaC zK51-qbZI(*cR~~K0gcLmK3@wrvXK4UA`i|i3^k~~>uPUX;pUw*{3i?iQjT1)U86ao zl*2fG%ku1*YG>&j+L6KYQce&uJrxv;LG?Y#D6jwEprCBp2!_VV9#!CLKOO98%zTNo zr?^%NU5!_!RN>#IuJ9;{9)~$4F6f_5XNAmNG%&bflH`C~K%FC(Wt3QqY0IW^LS*M0 zz<#T9V7S-n>UqX}zoEuGb~UK%s&gG?cOB6AO*6|sw$?vwrI{*sWIKN_D*zXQQ3{j1 zB`rJz|MI$KD(te`YV#BOvC#G$x0uNpBOfc=&wMf#jL!NBd`f{$M(U|AKP;AXmqF`O ztQuUs%PrU#Oumi#G^pVJoYJdZovnet8*`e{nr(l2q}Q73Vg)ZRgS%{I+51fC`{Oi{ zS><_ON4r+Eq)1!6K~@-+ozEmS~nV`aHT1|G?vbG+gJ| zNI=KP@B|E5{HLw$T;h;DMt#*Vk3V9FovWVjm{wh2-9Y6z_{2J7dT%@ zZj5so`4j;IP4vbE``a2AY_wbBdr|U$3bdR;Bi^GG7S4vnD*JCeLMggMNm^r2@CkCD)y-kU3LExCX%2;vdpg`ToCEN(38}|>Wy#OGNa72vgQ*2uj?9rh% z)kY41TjzY?02&8Nu`)RU``iadnrgdS*%_pUPUhRtnqBR?6OTHax`LAPXgK-J3pJDrc}FDnQbyf47uew;9=QW~E&D^HwtMk{;pl z@x-B8JPx9>karIpCYS7-1qgh%ZpYYWE`6kGP|(NZTgUS$0U$qV>AbIT$8$gJ&yw6V zyYx`qR)_TaZCWg5Sz=HSS=JF+11rAt3{ekHP^u>?n5qXB8z)$9bX-{WB-iRN=IrM`6;Y0StJ83cQ_WiDx8j;Xz0=sOc=$GBRt z>fCr^l$0wmzh&L>V9b6KP*)rG-`vNxYMton!qk45ng*w+`BTHhg@m<;eJ?!2Bn8V# zZ$9Fi+ncEKq>X8`TxTu$eXZ!I3AMsMP4S(zUnZo-66aI&i?E{Kozk@&lPC~+Yt-0{1x-^eu#(we3sLeX>o?gUAV;rV>i6ofL1<7fOrc|D)AC&7rVFQ+v%%nfS ztURpz#JC@c5IvB^;=TAgXsLZ1q3{88>Wqo=jpdETm%QY7TE5X)wR^5>=%uOK!p3H< z6o09?8@15;=ykWLR;iPtb<%~cb!kJdr(r)dh5Gq-3ZZ*W_7hX`P1w(H80>KGJv(P= z@@`~d!*aFG?&?mdeWTjpNfC(mHZ*m|qjY3(TGL3mTVv_XD7lW9FhHfrlw4YQx0`pO zVxba$q%zp1mNw74$O!=lhXB0sKK(OVcb%VxJly;`96`e(#=vpm64(<;8=_tdxl$T4 z+_kie5f|R2dxlZ2*~K4+H;Scyu1lZzT-S|7oOa&J5jwIwQ25@%1)syDrRv#g+-bxq zmO|*TtG;}5=G{-ePMF_#MJ_V8<39s$6yo_FV5MyFT5keYUkZCjs=HO6m_W?q0PajY zn02nD(2#YzkpuMMUEnC=nbusQ433jaxy^6;{86+@`cL9 z7hK}v%(?(@d{t_EriyT~6cQJuV$p_>ZUR9kz4@Exja+LhmL^|6TEG!9gsnok0WMzh zpN6~V5x5r5y7U&Q)1&ArG%xK&z1{pdKA~IE`(_>xwZ-?r^96wEBEzv0mV;9YWTgj3j0ZL$6W(n10zY4?g+3Avv- z+Lc~2Kai|jr770mcLY)wj`(atLrV1Q1t<@u>R~hUh>|gxH^H1~zvQr%Ik%@*0su#T zRYGIuWU+Oh5GP1XGt=R>5oYoUKu z!Dg;?F2@{k2QXIX_5|epzMZ8|XtN$q(mt%)m5SfMy9|z@~Dj%2Q%r7yh8bh!}u=*=xi4 z$n22;0Svexx-ZY12Go1yIq~vV8zNpQaMLmw%6bz&$6&k)pnuk8n|CwmBZ*}c@ea*q zHDEcPR7-Pb)xpodLriJqupt^N=cI(d?K=Y7(&o<2hPmoWGt}MOIP;-Si{9T80An=z+JlU;cn&T#)_jB0$>r zgR{PmOVqKtf8l655%jy93?&7(CloK%C;B2b;ym64C(hedIS(^4U0K1#R%ysb>G{7SgB zYg9X%t&6mqNlI_Ov_1$LK!oA^+}&{j6w~Ig-rvHcs5ATKc1>aD)rI=Cz0%Vo_aU}0jrQzbJMY+t1&fF32a>=Y7gWK^Qr{o#nKq^Ve|xA`vk z;lXBa0D1v* zF+f6mJB4;hO5pm!8re3F=yNxJ5hAT4(7XT%;P$2hDyF97g!$S!GDIC~YiTM(L>5P; zrPH3c@y_8GF3q|08!|uw-rMVh&!WX9iuFd0@P=N|2VH~cp3`naa8~#vh0*PBXoe0! z9MM)p<;()v z#fqrz+ebrSE+89L?tuwWh zBR=m)A5iBd4;2kkFu^g@B)jAWA4GuFy6AAwMp=X?xdoyO<%#y4-PTA*y z8iC3=Q|e8<{DQMZ_Qj&dIRAe*>-b-%J^#xC{{asqZu2KeUTT)}-Omk9mx1esrUqDj HyC?q*$&d|U literal 0 HcmV?d00001 diff --git a/images/base_hole_options/refined_holes.png b/images/base_hole_options/refined_holes.png new file mode 100644 index 0000000000000000000000000000000000000000..7d1d47d60f931bd2ab4b377859271a7d0d98aff4 GIT binary patch literal 9530 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 literal 0 HcmV?d00001 diff --git a/images/base_hole_options/viewport_settings.jpg b/images/base_hole_options/viewport_settings.jpg new file mode 100644 index 0000000000000000000000000000000000000000..46c6b80e4ceb816fb6fb50f57f39a0b41219096a GIT binary patch literal 19792 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 T%Emu9`uynh^M5;ziJbgjCs{WV literal 0 HcmV?d00001 From 1a508072950f770ee40c539cd5a05e49a163e05c Mon Sep 17 00:00:00 2001 From: Arthur Moore Date: Wed, 24 Apr 2024 21:22:56 -0400 Subject: [PATCH 10/27] Make Screw Holes Printable --- gridfinity-rebuilt-bins.scad | 7 ++++--- gridfinity-rebuilt-holes.scad | 10 ++++++++-- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/gridfinity-rebuilt-bins.scad b/gridfinity-rebuilt-bins.scad index 14b4301..1709b0a 100644 --- a/gridfinity-rebuilt-bins.scad +++ b/gridfinity-rebuilt-bins.scad @@ -92,10 +92,11 @@ screw_holes = false; crush_ribs = false; // Magnet holes will have a chamfer to ease insertion. chamfer_magnet_holes = false; -// Allows printing screw holes with magnet holes without using supports. -printable_magnet_hole_top = false; +chamfer_magnet_holes = true; +// Screw holes and magnet holes will be printed so supports are not needed. +printable_hole_top = true; -hole_options = bundle_hole_options(refined_hole, magnet_holes, screw_holes, crush_ribs, chamfer_magnet_holes, printable_magnet_hole_top); +hole_options = bundle_hole_options(refined_hole, magnet_holes, screw_holes, crush_ribs, chamfer_magnet_holes, printable_hole_top); // ===== IMPLEMENTATION ===== // diff --git a/gridfinity-rebuilt-holes.scad b/gridfinity-rebuilt-holes.scad index 9bc7161..4b1124a 100644 --- a/gridfinity-rebuilt-holes.scad +++ b/gridfinity-rebuilt-holes.scad @@ -106,7 +106,7 @@ module make_hole_printable(inner_radius, outer_radius, outer_depth) { multmatrix(affine_rotate([0, 0, 180]) * translation_matrix) cube(cube_dimensions); } - //2nd level + // 2nd level union() { multmatrix(second_translation_matrix) cube(cube_dimensions); @@ -238,7 +238,13 @@ module block_base_hole(hole_options, o=0) { } if(screw_hole) { - cylinder(h = screw_depth, r = screw_radius); + difference() { + cylinder(h = screw_depth, r = screw_radius); + if(supportless) { + rotate([0, 0, 90]) + make_hole_printable(screw_radius/2, screw_radius, screw_depth); + } + } } } } From ca28aed89852d0c9af299e2369e5bc7ca12dcb5a Mon Sep 17 00:00:00 2001 From: Arthur Moore Date: Sat, 27 Apr 2024 00:18:18 -0400 Subject: [PATCH 11/27] Allow multiple levels for supportless holes Helps prevent / minimize issues with filament droop. Expecially when Cura decides to start the top of hole in mid-air. Visible Changes: * Supportless screw holes have a 3rd layer. * Supportless magnet holes without screw holes have a 3rd layer. Backend Changes: * Switched to a completely different generation strategy. * Previous strategy directly produced negative. * New strategy is to make a positive, then use that to create a negative. * Algorithm for multiple layers is not perfect, but works within tollerances set. --- generic-helpers.scad | 2 + gridfinity-rebuilt-holes.scad | 87 ++++++++++++++++++++--------------- 2 files changed, 52 insertions(+), 37 deletions(-) diff --git a/generic-helpers.scad b/generic-helpers.scad index 99a96dc..43a32b7 100644 --- a/generic-helpers.scad +++ b/generic-helpers.scad @@ -5,6 +5,8 @@ function clp(x,a,b) = min(max(x,a),b); +function is_even(number) = (number%2)==0; + module rounded_rectangle(length, width, height, rad) { linear_extrude(height) offset(rad) diff --git a/gridfinity-rebuilt-holes.scad b/gridfinity-rebuilt-holes.scad index 4b1124a..66382c5 100644 --- a/gridfinity-rebuilt-holes.scad +++ b/gridfinity-rebuilt-holes.scad @@ -50,7 +50,6 @@ module ribbed_circle(outer_radius, inner_radius, ribs) { polygon(wrapped_circle); } - /** * @brief A cylinder with crush ribs to give a tighter press fit. * @details To be used as the negative for a hole. @@ -70,52 +69,64 @@ module ribbed_cylinder(outer_radius, inner_radius, height, ribs) { ); } - /** * @brief Make a hole printable without suports. * @see https://www.youtube.com/watch?v=W8FbHTcB05w * @param inner_radius Radius of the inner hole. * @param outer_radius Radius of the outer hole. - * @param outer_depth Depth of the magnet hole. + * @param outer_height Height of the outer hole. + * @param layers Number of layers to make printable. * @details This is the negative designed to be cut out of the magnet hole. * Use it with `difference()`. + * Special handling is done to support a single layer, + * and because the last layer (unless there is only one) has a different shape. */ -module make_hole_printable(inner_radius, outer_radius, outer_depth) { +module make_hole_printable(inner_radius, outer_radius, outer_height, layers=2) { assert(inner_radius > 0, "inner_radius must be positive"); assert(outer_radius > 0, "outer_radius must be positive"); - assert(outer_depth > 2*LAYER_HEIGHT, str("outer_depth must be at least ", 2*LAYER_HEIGHT)); - tollerance = 0.001; // To make sure the top layer is fully removed + assert(layers > 0); - translation_matrix = affine_translate([ - -outer_radius, - inner_radius, - outer_depth - 2*LAYER_HEIGHT - ]); - second_translation_matrix = translation_matrix * affine_translate([0, 0, LAYER_HEIGHT]); + tollerance = 0.01; // Ensure everything is fully removed. + height_adjustment = outer_height - (layers * LAYER_HEIGHT); - cube_dimensions = [ - outer_radius*2, - outer_radius - inner_radius, - LAYER_HEIGHT + tollerance + // Needed, since the last layer should not be used for calculations, + // unless there is a single layer. + calculation_layers = max(layers-1, 1); + + cube_height = LAYER_HEIGHT + 2*tollerance; + inner_diameter = 2*(inner_radius+tollerance); + outer_diameter = 2*(outer_radius+tollerance); + per_layer_difference = (outer_diameter-inner_diameter) / calculation_layers; + + initial_matrix = affine_translate([0, 0, cube_height/2-tollerance + height_adjustment]); + + // Produces data in the form [affine_matrix, [cube_dimensions]] + // If layers > 1, the last item produced has an invalid "affine_matrix.y", because it is beyond calculation_layers. + // That is handled in a special case to avoid doing a check every loop. + cutout_information = [ + for(i=0; i <= layers; i=i+1) + [ + initial_matrix * affine_translate([0, 0, (i-1)*LAYER_HEIGHT]) * + affine_rotate([0, 0, is_even(i) ? 90 : 0]), + [outer_diameter-per_layer_difference*(i-1), + outer_diameter-per_layer_difference*i, + cube_height] + ] ]; - union(){ - union() { - multmatrix(translation_matrix) - cube(cube_dimensions); - multmatrix(affine_rotate([0, 0, 180]) * translation_matrix) - cube(cube_dimensions); + difference() { + translate([0, 0, layers*cube_height/2 + height_adjustment]) + cube([outer_diameter+tollerance, outer_diameter+tollerance, layers*cube_height], center = true); + + for (i = [1 : calculation_layers]){ + data = cutout_information[i]; + multmatrix(data[0]) + cube(data[1], center = true); } - // 2nd level - union() { - multmatrix(second_translation_matrix) - cube(cube_dimensions); - multmatrix(affine_rotate([0, 0, 90]) * second_translation_matrix) - cube(cube_dimensions); - multmatrix(affine_rotate([0, 0, 180]) * second_translation_matrix) - cube(cube_dimensions); - multmatrix(affine_rotate([0, 0, 270]) * second_translation_matrix) - cube(cube_dimensions); + if(layers > 1) { + data = cutout_information[len(cutout_information)-1]; + multmatrix(data[0]) + cube([data[1].x, data[1].x, data[1].z], center = true); } } } @@ -209,10 +220,10 @@ module block_base_hole(hole_options, o=0) { magnet_radius = MAGNET_HOLE_RADIUS - (o/2); magnet_inner_radius = MAGNET_HOLE_CRUSH_RIB_INNER_RADIUS - (o/2); screw_depth = h_base-o; - // If using supportless / printable mode, need to add two additional layers, so they can be removed later. - supportless_additional_depth = 2* LAYER_HEIGHT; + // If using supportless / printable mode, need to add additional layers, so they can be removed later. + supportless_additional_layers = screw_hole ? 2 : 3; magnet_depth = MAGNET_HOLE_DEPTH - o + - (supportless ? supportless_additional_depth : 0); + (supportless ? supportless_additional_layers*LAYER_HEIGHT : 0); union() { if(refined_hole) { @@ -228,7 +239,8 @@ module block_base_hole(hole_options, o=0) { } if(supportless) { - make_hole_printable(screw_radius, magnet_radius, magnet_depth); + make_hole_printable( + screw_hole ? screw_radius : 1, magnet_radius, magnet_depth, supportless_additional_layers); } } @@ -242,7 +254,7 @@ module block_base_hole(hole_options, o=0) { cylinder(h = screw_depth, r = screw_radius); if(supportless) { rotate([0, 0, 90]) - make_hole_printable(screw_radius/2, screw_radius, screw_depth); + make_hole_printable(0.5, screw_radius, screw_depth, 3); } } } @@ -259,3 +271,4 @@ module block_base_hole(hole_options, o=0) { // crush_ribs=true, // chamfer=true //)); +//make_hole_printable(1, 3, 0); From 0649f1080299ee4a6d482d00305c9f8e9048f4ff Mon Sep 17 00:00:00 2001 From: Arthur Moore Date: Sat, 27 Apr 2024 00:31:19 -0400 Subject: [PATCH 12/27] Add Python tests for the hole cutouts to generate images. * These are not (yet) triggered/run by the CI/CD system. --- .gitignore | 6 +++ gridfinity-rebuilt-holes.scad | 9 +++- tests/openscad_runner.py | 44 ++++++++++++++++++ tests/test_holes.py | 85 +++++++++++++++++++++++++++++++++++ 4 files changed, 142 insertions(+), 2 deletions(-) create mode 100644 tests/openscad_runner.py create mode 100644 tests/test_holes.py diff --git a/.gitignore b/.gitignore index a3b8146..dab0d5c 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,9 @@ stl/ batch/ site/ *.json + +# From https://github.com/github/gitignore/blob/main/Python.gitignore +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class diff --git a/gridfinity-rebuilt-holes.scad b/gridfinity-rebuilt-holes.scad index 66382c5..4a24fec 100644 --- a/gridfinity-rebuilt-holes.scad +++ b/gridfinity-rebuilt-holes.scad @@ -263,12 +263,17 @@ module block_base_hole(hole_options, o=0) { //$fa = 8; //$fs = 0.25; + +if(!is_undef(test_options)){ + block_base_hole(test_options); +} + //block_base_hole(bundle_hole_options( // refined_hole=false, // magnet_hole=true, // screw_hole=true, // supportless=true, -// crush_ribs=true, -// chamfer=true +// crush_ribs=false, +// chamfer=false //)); //make_hole_printable(1, 3, 0); diff --git a/tests/openscad_runner.py b/tests/openscad_runner.py new file mode 100644 index 0000000..2b4dea2 --- /dev/null +++ b/tests/openscad_runner.py @@ -0,0 +1,44 @@ +""" +Helpful classes for running OpenScad from Python. +@Copyright Arthur Moore 2024 MIT License +""" +from typing import NamedTuple + +class Vec3(NamedTuple): + '''Simple 3d Vector (x, y, z)''' + x: float + y: float + z: float + +class CameraArguments(NamedTuple): + """ + Controls the camera position when outputting to png format. + @see `openscad -h`. + """ + translate: Vec3 + rotate: Vec3 + distance: float + + def as_argument(self): + return '--camera=' \ + f'{",".join(map(str,self.translate))},{",".join(map(str,self.rotate))},{self.distance}' + +def set_variable_argument(var: str, val) -> [str, str]: + """ + Allows setting a variable to a particular value. + @warning value **can** be a function, but this is called for every file, so may generate 'undefined' warnings. + """ + return ['-D', f'{var}={str(val)}'] + +openscad_binary_windows = 'C:\Program Files\OpenSCAD\openscad.exe' + +common_arguments = [ + #'--hardwarnings', // Does not work when setting variables by using functions + '--enable=fast-csg', + '--enable=predictible-output', + '--imgsize=1280,720', + '--view=axes', + '--projection=ortho', + ] + set_variable_argument('$fa', 8) + set_variable_argument('$fs', 0.25) + +top_angle_camera = CameraArguments(Vec3(0,0,0),Vec3(45,0,45),50) diff --git a/tests/test_holes.py b/tests/test_holes.py new file mode 100644 index 0000000..4f13b75 --- /dev/null +++ b/tests/test_holes.py @@ -0,0 +1,85 @@ +""" +Functions for testing hole cutouts. +@Copyright Arthur Moore 2024 MIT License +""" + +from pathlib import Path +from openscad_runner import * +import subprocess +import unittest + + +class TestHoles(unittest.TestCase): + """ + Test Hole Cutouts. + + Currently only makes sure code runs, and outputs pictures for manual verification. + """ + scad_file_path = Path('../gridfinity-rebuilt-holes.scad') + image_folder_base = Path('../images/hole_cutouts/') + + def run_image(self, camera_args: CameraArguments, test_args: [str], image_file_name: str): + """ + Run the code, to create an image. + @Important The only verification is that no errors occured. + There is no verification if the image was created, or the image contents. + """ + assert(self.scad_file_path.exists()) + image_path = self.image_folder_base.joinpath(image_file_name) + command_arguments = [openscad_binary_windows] + common_arguments + \ + [camera_args.as_argument()] + test_args + \ + [f'-o{str(image_path)}', str(self.scad_file_path)] + print(command_arguments) + return subprocess.run(command_arguments, check=True) + + def test_refined_hole(self): + """ + refined_hole() is special, since top_angle_camera is not appropriate for it. + """ + camera_args = CameraArguments(Vec3(0,0,0),Vec3(225,0,225),50) + test_args = set_variable_argument('test_options', + 'bundle_hole_options(refined_hole=true, magnet_hole=false, screw_hole=false, crush_ribs=false, chamfer=false, supportless=false)') + self.run_image(camera_args, test_args, Path('refined_hole.png')) + + def test_plain_magnet_hole(self): + test_args = set_variable_argument('test_options', + 'bundle_hole_options(refined_hole=false, magnet_hole=true, screw_hole=false, crush_ribs=false, chamfer=false, supportless=false)') + self.run_image(top_angle_camera, test_args, Path('magnet_hole.png')) + + def test_plain_screw_hole(self): + test_args = set_variable_argument('test_options', + 'bundle_hole_options(refined_hole=false, magnet_hole=false, screw_hole=true, crush_ribs=false, chamfer=false, supportless=false)') + self.run_image(top_angle_camera, test_args, Path('screw_hole.png')) + + def test_magnet_and_screw_hole(self): + test_args = set_variable_argument('test_options', + 'bundle_hole_options(refined_hole=false, magnet_hole=true, screw_hole=true, crush_ribs=false, chamfer=false, supportless=false)') + self.run_image(top_angle_camera, test_args, Path('magnet_and_screw_hole.png')) + + def test_chamfered_magnet_hole(self): + test_args = set_variable_argument('test_options', + 'bundle_hole_options(refined_hole=false, magnet_hole=true, screw_hole=false, crush_ribs=false, chamfer=true, supportless=false)') + self.run_image(top_angle_camera, test_args, Path('chamfered_magnet_hole.png')) + + def test_magnet_hole_crush_ribs(self): + test_args = set_variable_argument('test_options', + 'bundle_hole_options(refined_hole=false, magnet_hole=true, screw_hole=false, crush_ribs=true, chamfer=false, supportless=false)') + self.run_image(top_angle_camera, test_args, Path('magnet_hole_crush_ribs.png')) + + def test_magnet_hole_supportless(self): + test_args = set_variable_argument('test_options', + 'bundle_hole_options(refined_hole=false, magnet_hole=true, screw_hole=false, crush_ribs=false, chamfer=false, supportless=true)') + self.run_image(top_angle_camera, test_args, Path('magnet_hole_supportless.png')) + + def test_magnet_and_screw_hole_supportless(self): + test_args = set_variable_argument('test_options', + 'bundle_hole_options(refined_hole=false, magnet_hole=true, screw_hole=true, crush_ribs=false, chamfer=false, supportless=true)') + self.run_image(top_angle_camera, test_args, Path('magnet_and_screw_hole_supportless.png')) + + def test_all_hole_options(self): + test_args = set_variable_argument('test_options', + 'bundle_hole_options(refined_hole=false, magnet_hole=true, screw_hole=true, crush_ribs=true, chamfer=true, supportless=true)') + self.run_image(top_angle_camera, test_args, Path('all_hole_options.png')) + +if __name__ == '__main__': + unittest.main() From 73b10760f879ec108422889773e345f041b291cb Mon Sep 17 00:00:00 2001 From: Arthur Moore Date: Sat, 27 Apr 2024 01:20:29 -0400 Subject: [PATCH 13/27] Update tests / helpers to allow adding more tests --- tests/openscad_runner.py | 50 +++++++++++++++++++++++++++++-------- tests/test_holes.py | 54 +++++++++++++++++++--------------------- 2 files changed, 65 insertions(+), 39 deletions(-) diff --git a/tests/openscad_runner.py b/tests/openscad_runner.py index 2b4dea2..2a94b55 100644 --- a/tests/openscad_runner.py +++ b/tests/openscad_runner.py @@ -2,6 +2,9 @@ Helpful classes for running OpenScad from Python. @Copyright Arthur Moore 2024 MIT License """ + +import subprocess +from pathlib import Path from typing import NamedTuple class Vec3(NamedTuple): @@ -30,15 +33,42 @@ def set_variable_argument(var: str, val) -> [str, str]: """ return ['-D', f'{var}={str(val)}'] -openscad_binary_windows = 'C:\Program Files\OpenSCAD\openscad.exe' +class OpenScadRunner: + '''Helper to run the openscad binary''' + scad_file_path: Path + openscad_binary_path: Path + image_folder_base: Path -common_arguments = [ - #'--hardwarnings', // Does not work when setting variables by using functions - '--enable=fast-csg', - '--enable=predictible-output', - '--imgsize=1280,720', - '--view=axes', - '--projection=ortho', - ] + set_variable_argument('$fa', 8) + set_variable_argument('$fs', 0.25) + WINDOWS_DEFAULT_PATH = 'C:\Program Files\OpenSCAD\openscad.exe' + TOP_ANGLE_CAMERA = CameraArguments(Vec3(0,0,0),Vec3(45,0,45),50) -top_angle_camera = CameraArguments(Vec3(0,0,0),Vec3(45,0,45),50) + common_arguments = [ + #'--hardwarnings', // Does not work when setting variables by using functions + '--enable=fast-csg', + '--enable=predictible-output', + '--imgsize=1280,720', + '--view=axes', + '--projection=ortho', + ] + \ + set_variable_argument('$fa', 8) + set_variable_argument('$fs', 0.25) + + def __init__(self, file_path: Path): + self.openscad_binary_path = self.WINDOWS_DEFAULT_PATH + self.scad_file_path = file_path + self.image_folder_base = Path('.') + + def create_image(self, camera_args: CameraArguments, args: [str], image_file_name: str): + """ + Run the code, to create an image. + @Important The only verification is that no errors occured. + There is no verification if the image was created, or the image contents. + """ + assert(self.scad_file_path.exists()) + assert(self.image_folder_base.exists()) + + image_path = self.image_folder_base.joinpath(image_file_name) + command_arguments = self.common_arguments + \ + [camera_args.as_argument()] + args + \ + [f'-o{str(image_path)}', str(self.scad_file_path)] + #print(command_arguments) + return subprocess.run([self.openscad_binary_path]+command_arguments, check=True) diff --git a/tests/test_holes.py b/tests/test_holes.py index 4f13b75..a189173 100644 --- a/tests/test_holes.py +++ b/tests/test_holes.py @@ -1,36 +1,24 @@ """ -Functions for testing hole cutouts. +Tests for gridfinity-rebuilt-holes.scad @Copyright Arthur Moore 2024 MIT License """ from pathlib import Path from openscad_runner import * -import subprocess import unittest -class TestHoles(unittest.TestCase): +class TestHoleCutouts(unittest.TestCase): """ - Test Hole Cutouts. - + Test Hole Cutouts. The negatives used with `difference()` to create a hole. + Currently only makes sure code runs, and outputs pictures for manual verification. """ - scad_file_path = Path('../gridfinity-rebuilt-holes.scad') - image_folder_base = Path('../images/hole_cutouts/') - def run_image(self, camera_args: CameraArguments, test_args: [str], image_file_name: str): - """ - Run the code, to create an image. - @Important The only verification is that no errors occured. - There is no verification if the image was created, or the image contents. - """ - assert(self.scad_file_path.exists()) - image_path = self.image_folder_base.joinpath(image_file_name) - command_arguments = [openscad_binary_windows] + common_arguments + \ - [camera_args.as_argument()] + test_args + \ - [f'-o{str(image_path)}', str(self.scad_file_path)] - print(command_arguments) - return subprocess.run(command_arguments, check=True) + @classmethod + def setUpClass(cls): + cls.scad_runner = OpenScadRunner(Path('../gridfinity-rebuilt-holes.scad')) + cls.scad_runner.image_folder_base = Path('../images/hole_cutouts/') def test_refined_hole(self): """ @@ -39,47 +27,55 @@ class TestHoles(unittest.TestCase): camera_args = CameraArguments(Vec3(0,0,0),Vec3(225,0,225),50) test_args = set_variable_argument('test_options', 'bundle_hole_options(refined_hole=true, magnet_hole=false, screw_hole=false, crush_ribs=false, chamfer=false, supportless=false)') - self.run_image(camera_args, test_args, Path('refined_hole.png')) + self.scad_runner.create_image(camera_args, test_args, Path('refined_hole.png')) def test_plain_magnet_hole(self): test_args = set_variable_argument('test_options', 'bundle_hole_options(refined_hole=false, magnet_hole=true, screw_hole=false, crush_ribs=false, chamfer=false, supportless=false)') - self.run_image(top_angle_camera, test_args, Path('magnet_hole.png')) + self.scad_runner.create_image(self.scad_runner.TOP_ANGLE_CAMERA, + test_args, Path('magnet_hole.png')) def test_plain_screw_hole(self): test_args = set_variable_argument('test_options', 'bundle_hole_options(refined_hole=false, magnet_hole=false, screw_hole=true, crush_ribs=false, chamfer=false, supportless=false)') - self.run_image(top_angle_camera, test_args, Path('screw_hole.png')) + self.scad_runner.create_image(self.scad_runner.TOP_ANGLE_CAMERA, + test_args, Path('screw_hole.png')) def test_magnet_and_screw_hole(self): test_args = set_variable_argument('test_options', 'bundle_hole_options(refined_hole=false, magnet_hole=true, screw_hole=true, crush_ribs=false, chamfer=false, supportless=false)') - self.run_image(top_angle_camera, test_args, Path('magnet_and_screw_hole.png')) + self.scad_runner.create_image(self.scad_runner.TOP_ANGLE_CAMERA, + test_args, Path('magnet_and_screw_hole.png')) def test_chamfered_magnet_hole(self): test_args = set_variable_argument('test_options', 'bundle_hole_options(refined_hole=false, magnet_hole=true, screw_hole=false, crush_ribs=false, chamfer=true, supportless=false)') - self.run_image(top_angle_camera, test_args, Path('chamfered_magnet_hole.png')) + self.scad_runner.create_image(self.scad_runner.TOP_ANGLE_CAMERA, + test_args, Path('chamfered_magnet_hole.png')) def test_magnet_hole_crush_ribs(self): test_args = set_variable_argument('test_options', 'bundle_hole_options(refined_hole=false, magnet_hole=true, screw_hole=false, crush_ribs=true, chamfer=false, supportless=false)') - self.run_image(top_angle_camera, test_args, Path('magnet_hole_crush_ribs.png')) + self.scad_runner.create_image(self.scad_runner.TOP_ANGLE_CAMERA, + test_args, Path('magnet_hole_crush_ribs.png')) def test_magnet_hole_supportless(self): test_args = set_variable_argument('test_options', 'bundle_hole_options(refined_hole=false, magnet_hole=true, screw_hole=false, crush_ribs=false, chamfer=false, supportless=true)') - self.run_image(top_angle_camera, test_args, Path('magnet_hole_supportless.png')) + self.scad_runner.create_image(self.scad_runner.TOP_ANGLE_CAMERA, + test_args, Path('magnet_hole_supportless.png')) def test_magnet_and_screw_hole_supportless(self): test_args = set_variable_argument('test_options', 'bundle_hole_options(refined_hole=false, magnet_hole=true, screw_hole=true, crush_ribs=false, chamfer=false, supportless=true)') - self.run_image(top_angle_camera, test_args, Path('magnet_and_screw_hole_supportless.png')) + self.scad_runner.create_image(self.scad_runner.TOP_ANGLE_CAMERA, + test_args, Path('magnet_and_screw_hole_supportless.png')) def test_all_hole_options(self): test_args = set_variable_argument('test_options', 'bundle_hole_options(refined_hole=false, magnet_hole=true, screw_hole=true, crush_ribs=true, chamfer=true, supportless=true)') - self.run_image(top_angle_camera, test_args, Path('all_hole_options.png')) + self.scad_runner.create_image(self.scad_runner.TOP_ANGLE_CAMERA, + test_args, Path('all_hole_options.png')) if __name__ == '__main__': unittest.main() From 447df8621b1851d0dee95da3ebd6d82a17e7beb1 Mon Sep 17 00:00:00 2001 From: Arthur Moore Date: Sat, 27 Apr 2024 01:30:15 -0400 Subject: [PATCH 14/27] Tweak defaults for Base Hole Options --- gridfinity-rebuilt-bins.scad | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/gridfinity-rebuilt-bins.scad b/gridfinity-rebuilt-bins.scad index 1709b0a..fd55f88 100644 --- a/gridfinity-rebuilt-bins.scad +++ b/gridfinity-rebuilt-bins.scad @@ -89,9 +89,8 @@ magnet_holes = false; // Base will have holes for M3 screws. screw_holes = false; // Magnet holes will have crush ribs to hold the magnet. -crush_ribs = false; +crush_ribs = true; // Magnet holes will have a chamfer to ease insertion. -chamfer_magnet_holes = false; chamfer_magnet_holes = true; // Screw holes and magnet holes will be printed so supports are not needed. printable_hole_top = true; From 9b8977381226a5c03bca0a919f6d18f471b0f48b Mon Sep 17 00:00:00 2001 From: Arthur Moore Date: Sun, 28 Apr 2024 01:51:02 -0400 Subject: [PATCH 15/27] Add a test suite to generate images of bins with holes Used to ensure all hole options work. --- .gitignore | 4 +- tests/gridfinity-rebuilt-bins.json | 36 ++++++++ tests/openscad_runner.py | 72 +++++++++++++-- tests/test_bins.py | 142 +++++++++++++++++++++++++++++ tests/test_holes.py | 6 ++ 5 files changed, 251 insertions(+), 9 deletions(-) create mode 100644 tests/gridfinity-rebuilt-bins.json create mode 100644 tests/test_bins.py diff --git a/.gitignore b/.gitignore index dab0d5c..6a8861d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,11 +1,9 @@ ignore/ -gridfinity-rebuilt.json -gridfinity-rebuilt-bins.json stl/ batch/ site/ -*.json +/*.json # From https://github.com/github/gitignore/blob/main/Python.gitignore # Byte-compiled / optimized / DLL files diff --git a/tests/gridfinity-rebuilt-bins.json b/tests/gridfinity-rebuilt-bins.json new file mode 100644 index 0000000..ded8450 --- /dev/null +++ b/tests/gridfinity-rebuilt-bins.json @@ -0,0 +1,36 @@ +{ + "fileFormatVersion": "1", + "parameterSets": { + "Default": { + "$fa": "8", + "$fs": "0.25", + "c_chamfer": "0.5", + "c_depth": "1", + "c_orientation": "2", + "cd": "10", + "cdivx": "0", + "cdivy": "0", + "ch": "1", + "chamfer_magnet_holes": "true", + "crush_ribs": "true", + "div_base_x": "0", + "div_base_y": "0", + "divx": "0", + "divy": "0", + "enable_zsnap": "false", + "gridx": "1", + "gridy": "1", + "gridz": "6", + "gridz_define": "0", + "height_internal": "0", + "magnet_holes": "false", + "only_corners": "false", + "printable_hole_top": "true", + "refined_hole": "true", + "scoop": "0", + "screw_holes": "false", + "style_lip": "0", + "style_tab": "1" + } + } +} diff --git a/tests/openscad_runner.py b/tests/openscad_runner.py index 2a94b55..d6c5418 100644 --- a/tests/openscad_runner.py +++ b/tests/openscad_runner.py @@ -3,9 +3,20 @@ Helpful classes for running OpenScad from Python. @Copyright Arthur Moore 2024 MIT License """ +import json import subprocess +from dataclasses import dataclass, is_dataclass, asdict from pathlib import Path -from typing import NamedTuple +from tempfile import NamedTemporaryFile +from typing import NamedTuple, Optional + +class DataClassJSONEncoder(json.JSONEncoder): + '''Allow json serialization''' + def default(self, o): + if is_dataclass(o): + return asdict(o) + # Let the base class default method raise the TypeError + return super().default(o) class Vec3(NamedTuple): '''Simple 3d Vector (x, y, z)''' @@ -13,7 +24,8 @@ class Vec3(NamedTuple): y: float z: float -class CameraArguments(NamedTuple): +@dataclass +class CameraArguments: """ Controls the camera position when outputting to png format. @see `openscad -h`. @@ -26,7 +38,41 @@ class CameraArguments(NamedTuple): return '--camera=' \ f'{",".join(map(str,self.translate))},{",".join(map(str,self.rotate))},{self.distance}' -def set_variable_argument(var: str, val) -> [str, str]: +@dataclass(kw_only=True, frozen=True) +class ParameterFile: + parameterSets: dict[str, dict] + fileFormatVersion: int = 1 + + @classmethod + def from_json(cls, *pargs, **nargs): + """ + Wrapper for `json.loads`, with some post-processing. + The Customizer saves everything as strings. --Arthur 2024-04-28 + """ + nargs["object_pairs_hook"] = cls.object_pairs_hook + file = ParameterFile(**json.loads(*pargs, **nargs)) + assert(file.fileFormatVersion == 1) + return file + + @classmethod + def object_pairs_hook(self, pairs: list[tuple]): + '''Fixes customizer turning everything into strings''' + output = dict(pairs) + for (key, value) in output.items(): + if(type(value) == str): + if(value == "true"): + output[key] = True + continue + if(value == "false"): + output[key] = False + continue + try: + output[key] = float(value) + except ValueError: + pass + return output + +def set_variable_argument(var: str, val: str) -> [str, str]: """ Allows setting a variable to a particular value. @warning value **can** be a function, but this is called for every file, so may generate 'undefined' warnings. @@ -38,8 +84,10 @@ class OpenScadRunner: scad_file_path: Path openscad_binary_path: Path image_folder_base: Path + parameters: Optional[dict] + '''If set, a temporary parameter file is created, and used with these variables''' - WINDOWS_DEFAULT_PATH = 'C:\Program Files\OpenSCAD\openscad.exe' + WINDOWS_DEFAULT_PATH = 'C:\\Program Files\\OpenSCAD\\openscad.exe' TOP_ANGLE_CAMERA = CameraArguments(Vec3(0,0,0),Vec3(45,0,45),50) common_arguments = [ @@ -49,6 +97,8 @@ class OpenScadRunner: '--imgsize=1280,720', '--view=axes', '--projection=ortho', + #"--summary", "all", + #"--summary-file", "-" ] + \ set_variable_argument('$fa', 8) + set_variable_argument('$fs', 0.25) @@ -56,6 +106,7 @@ class OpenScadRunner: self.openscad_binary_path = self.WINDOWS_DEFAULT_PATH self.scad_file_path = file_path self.image_folder_base = Path('.') + self.parameters = None def create_image(self, camera_args: CameraArguments, args: [str], image_file_name: str): """ @@ -69,6 +120,15 @@ class OpenScadRunner: image_path = self.image_folder_base.joinpath(image_file_name) command_arguments = self.common_arguments + \ [camera_args.as_argument()] + args + \ - [f'-o{str(image_path)}', str(self.scad_file_path)] + ["-o", str(image_path), str(self.scad_file_path)] #print(command_arguments) - return subprocess.run([self.openscad_binary_path]+command_arguments, check=True) + + if self.parameters != None: + params = ParameterFile(parameterSets={"python_generated": self.parameters}) + with NamedTemporaryFile(prefix="gridfinity-rebuilt-", suffix=".json", mode='wt',delete_on_close=False) as file: + json.dump(params, file, sort_keys=True, indent=2, cls=DataClassJSONEncoder) + file.close() + command_arguments += ["-p", file.name, "-P", "python_generated"] + return subprocess.run([self.openscad_binary_path]+command_arguments, check=True) + else: + return subprocess.run([self.openscad_binary_path]+command_arguments, check=True) diff --git a/tests/test_bins.py b/tests/test_bins.py new file mode 100644 index 0000000..50d7b9d --- /dev/null +++ b/tests/test_bins.py @@ -0,0 +1,142 @@ +""" +Tests for gridfinity-rebuilt-bins.scad +@Copyright Arthur Moore 2024 MIT License +""" + +import dataclasses +import json +import unittest +from pathlib import Path +from tempfile import NamedTemporaryFile + +from openscad_runner import * + +class TestBinHoles(unittest.TestCase): + """ + Test how a single base looks with holes cut out. + + Currently only makes sure code runs, and outputs pictures for manual verification. + """ + + @classmethod + def setUpClass(cls): + parameter_file_path = Path("gridfinity-rebuilt-bins.json") + parameter_file_data = ParameterFile.from_json(parameter_file_path.read_text()) + cls.default_parameters = parameter_file_data.parameterSets["Default"] + cls.camera_args = CameraArguments(Vec3(0,0,0),Vec3(225,0,225),150) + + def setUp(self): + self.scad_runner = OpenScadRunner(Path('../gridfinity-rebuilt-bins.scad')) + self.scad_runner.image_folder_base = Path('../images/base_hole_options/') + self.scad_runner.parameters = self.default_parameters.copy() + + def test_no_holes(self): + vars = self.scad_runner.parameters + vars["refined_hole"] = False + vars["magnet_hole"] = False + vars["screw_hole"] = False + self.scad_runner.create_image(self.camera_args, [], Path('no_holes.png')) + + def test_refined_holes(self): + vars = self.scad_runner.parameters + vars["refined_hole"] = True + vars["magnet_hole"] = False + vars["screw_hole"] = False + self.scad_runner.create_image(self.camera_args, [], Path('refined_holes.png')) + + def test_refined_and_screw_holes(self): + vars = self.scad_runner.parameters + vars["refined_hole"] = True + vars["magnet_hole"] = False + vars["screw_hole"] = True + vars["printable_hole_top"] = False + self.scad_runner.create_image(self.camera_args, [], Path('refined_and_screw_holes.png')) + + def test_screw_holes_plain(self): + vars = self.scad_runner.parameters + vars["refined_hole"] = False + vars["magnet_hole"] = False + vars["screw_hole"] = True + vars["printable_hole_top"] = False + self.scad_runner.create_image(self.camera_args, [], Path('screw_holes_plain.png')) + + def test_screw_holes_printable(self): + vars = self.scad_runner.parameters + vars["refined_hole"] = False + vars["magnet_hole"] = False + vars["screw_hole"] = True + vars["printable_hole_top"] = True + self.scad_runner.create_image(self.camera_args, [], Path('screw_holes_printable.png')) + + def test_magnet_holes_plain(self): + vars = self.scad_runner.parameters + vars["refined_hole"] = False + vars["magnet_hole"] = True + vars["screw_hole"] = False + vars["crush_ribs"] = False + vars["chamfer_magnet_holes"] = False + vars["printable_hole_top"] = False + self.scad_runner.create_image(self.camera_args, [], Path('magnet_holes_plain.png')) + + def test_magnet_holes_chamfered(self): + vars = self.scad_runner.parameters + vars["refined_hole"] = False + vars["magnet_hole"] = True + vars["screw_hole"] = False + vars["crush_ribs"] = False + vars["chamfer_magnet_holes"] = True + vars["printable_hole_top"] = False + self.scad_runner.create_image(self.camera_args, [], Path('magnet_holes_chamfered.png')) + + def test_magnet_holes_printable(self): + vars = self.scad_runner.parameters + vars["refined_hole"] = False + vars["magnet_hole"] = True + vars["screw_hole"] = False + vars["crush_ribs"] = False + vars["chamfer_magnet_holes"] = False + vars["printable_hole_top"] = True + self.scad_runner.create_image(self.camera_args, [], Path('magnet_holes_printable.png')) + + def test_magnet_holes_with_crush_ribs(self): + vars = self.scad_runner.parameters + vars["refined_hole"] = False + vars["magnet_hole"] = True + vars["screw_hole"] = False + vars["crush_ribs"] = True + vars["chamfer_magnet_holes"] = False + vars["printable_hole_top"] = False + self.scad_runner.create_image(self.camera_args, [], Path('magnet_holes_with_crush_ribs.png')) + + def test_magnet_and_screw_holes_plain(self): + vars = self.scad_runner.parameters + vars["refined_hole"] = False + vars["magnet_hole"] = True + vars["screw_hole"] = True + vars["crush_ribs"] = False + vars["chamfer_magnet_holes"] = False + vars["printable_hole_top"] = False + self.scad_runner.create_image(self.camera_args, [], Path('magnet_and_screw_holes_plain.png')) + + def test_magnet_and_screw_holes_printable(self): + vars = self.scad_runner.parameters + vars["refined_hole"] = False + vars["magnet_hole"] = True + vars["screw_hole"] = True + vars["crush_ribs"] = False + vars["chamfer_magnet_holes"] = False + vars["printable_hole_top"] = True + self.scad_runner.create_image(self.camera_args, [], Path('magnet_and_screw_holes_printable.png')) + + def test_magnet_and_screw_holes_all(self): + vars = self.scad_runner.parameters + vars["refined_hole"] = False + vars["magnet_hole"] = True + vars["screw_hole"] = True + vars["crush_ribs"] = True + vars["chamfer_magnet_holes"] = True + vars["printable_hole_top"] = True + self.scad_runner.create_image(self.camera_args, [], Path('magnet_and_screw_holes_all.png')) + +if __name__ == '__main__': + unittest.main() diff --git a/tests/test_holes.py b/tests/test_holes.py index a189173..9308b58 100644 --- a/tests/test_holes.py +++ b/tests/test_holes.py @@ -77,5 +77,11 @@ class TestHoleCutouts(unittest.TestCase): self.scad_runner.create_image(self.scad_runner.TOP_ANGLE_CAMERA, test_args, Path('all_hole_options.png')) + def test_no_hole(self): + test_args = set_variable_argument('test_options', + 'bundle_hole_options(refined_hole=false, magnet_hole=false, screw_hole=false, crush_ribs=true, chamfer=true, supportless=true)') + self.scad_runner.create_image(self.scad_runner.TOP_ANGLE_CAMERA, + test_args, Path('no_hole.png')) + if __name__ == '__main__': unittest.main() From bdc5a7e4d7c84271fc069dfe37f558677b5a394b Mon Sep 17 00:00:00 2001 From: Arthur Moore Date: Sun, 28 Apr 2024 01:52:29 -0400 Subject: [PATCH 16/27] Added and update Images of all hole types May want to consider auto-generating these as part of the documentation build. --- .../magnet_and_screw_holes_all.png | Bin 0 -> 35872 bytes .../magnet_and_screw_holes_plain.png | Bin 11894 -> 35872 bytes .../magnet_and_screw_holes_printable.png | Bin 11974 -> 35872 bytes ...es_printable_chamfered_with_crush_ribs.png | Bin 19090 -> 0 bytes .../magnet_holes_chamfered.png | Bin 16576 -> 35851 bytes .../base_hole_options/magnet_holes_plain.png | Bin 10753 -> 35851 bytes .../magnet_holes_printable.png | Bin 0 -> 35851 bytes .../magnet_holes_with_crush_ribs.png | Bin 11587 -> 35872 bytes images/base_hole_options/no_holes.png | Bin 8527 -> 35851 bytes .../refined_and_screw_holes.png | Bin 11529 -> 38903 bytes images/base_hole_options/refined_holes.png | Bin 9530 -> 38903 bytes images/base_hole_options/screw_holes.png | Bin 9749 -> 0 bytes .../base_hole_options/screw_holes_plain.png | Bin 0 -> 35851 bytes .../screw_holes_printable.png | Bin 0 -> 35851 bytes .../base_hole_options/viewport_settings.jpg | Bin 19792 -> 0 bytes images/hole_cutouts/all_hole_options.png | Bin 0 -> 24717 bytes images/hole_cutouts/chamfered_magnet_hole.png | Bin 0 -> 19053 bytes images/hole_cutouts/magnet_and_screw_hole.png | Bin 0 -> 16502 bytes .../magnet_and_screw_hole_supportless.png | Bin 0 -> 20226 bytes images/hole_cutouts/magnet_hole.png | Bin 0 -> 15402 bytes .../hole_cutouts/magnet_hole_crush_ribs.png | Bin 0 -> 15816 bytes .../hole_cutouts/magnet_hole_supportless.png | Bin 0 -> 18496 bytes images/hole_cutouts/no_hole.png | Bin 0 -> 13937 bytes images/hole_cutouts/refined_hole.png | Bin 0 -> 22020 bytes images/hole_cutouts/screw_hole.png | Bin 0 -> 14677 bytes 25 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 images/base_hole_options/magnet_and_screw_holes_all.png delete mode 100644 images/base_hole_options/magnet_and_screw_holes_printable_chamfered_with_crush_ribs.png create mode 100644 images/base_hole_options/magnet_holes_printable.png delete mode 100644 images/base_hole_options/screw_holes.png create mode 100644 images/base_hole_options/screw_holes_plain.png create mode 100644 images/base_hole_options/screw_holes_printable.png delete mode 100644 images/base_hole_options/viewport_settings.jpg create mode 100644 images/hole_cutouts/all_hole_options.png create mode 100644 images/hole_cutouts/chamfered_magnet_hole.png create mode 100644 images/hole_cutouts/magnet_and_screw_hole.png create mode 100644 images/hole_cutouts/magnet_and_screw_hole_supportless.png create mode 100644 images/hole_cutouts/magnet_hole.png create mode 100644 images/hole_cutouts/magnet_hole_crush_ribs.png create mode 100644 images/hole_cutouts/magnet_hole_supportless.png create mode 100644 images/hole_cutouts/no_hole.png create mode 100644 images/hole_cutouts/refined_hole.png create mode 100644 images/hole_cutouts/screw_hole.png diff --git a/images/base_hole_options/magnet_and_screw_holes_all.png b/images/base_hole_options/magnet_and_screw_holes_all.png new file mode 100644 index 0000000000000000000000000000000000000000..72e34b97c4b076586c8a767ac2f98bbef29c74d7 GIT binary patch literal 35872 zcmagGcOcbm_&%;P_`7ZS9azpNs_(yLH5qx z-~0VOho|THd_KS5KhJR9=en=!b-iA%>$;s&Ubp0>D9MkK0{|$cZ%8Tvup9m-aorwb z_^(SWGDHA)4@*m4R<{0kDv(OzLPny#8vLFaCik0JtXsDmn37%Z?RRfMx8{ zXkTa=OtIv&x{71LGwSl;i=UZ4lsL0v)EWxA?~!4mY;TgyP$$_$-Iw!#&uMl(62|Z* zc2pK@g_yyjTx3;y;epS2y%emu#dO7w01$B*&1>t5Q%2QU1Nffa*GXdC*wUbs5@!(r zFzF(3B+I@@-5lzTtiZ`*Hq}#~p$m;zgY#M! z0N74pSQx8Hp+aWdRj~YkfduQ>X$2&b9&(It>K8zgd}m9ZP7-7K>Q^8~Hq$tDwTHyK zg9z9upn31}q~6N)5rcK8D(1v9&u?}iIEtqyt{jHnmB!t(pW6S7`CfQn7A%YIc23}V*e`6d zbc+>n`Uyz&256qpYKu%(r`3TeSwJt+QKbQS`390g2`me8=5%^QZ*uZJMi>`}`sx&-kvjDBAlC6-2Rh~b^)ck&ns2>6UfdbxOI7?cChZam8bwqhP~m=qA> zK0CC^aR5;*s0LhmzeEU4LAtCT4Zyv`pYgQxrER70!q~hx)REN1I1=1d6%lo3$b05r z1|*mRkO)q350@b5P*YI|_Uo`6U{k$0S8;1>t1UT(vGwtZeKB(s#T3vNHKjhXQ?gw; z7uwnSNh`pbYS$INUJ~!!z~U&1z>LXbrOz*2?yOnq69M^?2;9UjY&=}8{q9gz%$7IF zu+z||#>|Cx0bB{R1>h$HQ_54B+!QUuTHAlY$c{^;KoMh4l)#@~-k4Y%Sli%-&T2u2 zKj1w~j=9y(+;xLo0eWB8H3XlEa>^kRwkkPN05-Lu|B{Ga&Rn&MA_DKY)SXqKW7$2+ z|LGLq@?OgrU<{>Io8P5j;=L%UJw^=+6zCX)vRo2HmB5S(1VdE4d5RY?L4f^?pnedd z)d)G*8VKcV_ZI1?-P`Hm&XZ(d+3Ws-dQSXRoJzmT-0Ui+Z7qZtec@cdZp#A2oE|hjg>Ge%u-@UuY%Lo%{&11$*M*{x8Bt=Y$6PL#@4*1hkG=r zL6;^{nXR{Dt=P$`K{9~RfX&mr4prxhWH*iE6M}dI2y~zfAqF@ql*zi#R6&^o<@~u3 z2y*@bbE+AajXy9ea(Wwxevvlm#)4`HWRcxl=s92xnuCyc4|!!6GH|p{!iEvav#C3W zQ2^XnK(ira=~Egnf6P`3MVS#q0X0*icp5h%*TmNAQKY*75dRKOFj*vUj!KH&rWYfVZ5)+~T*rh|v zrV_R>>qanJf_?4=OAE!suUJ9X(_-p@d&GL0=~n~yF)wD9I|-afO_*xf4Gz}C1wV)~paDFobOn#73~BWD4&OH+23Sj2 z3swi;ckQoMaH^({0-S47N9F2fC|pcjzO=lUTML6n)GQsGbblC5j15(9vDkYy!D4T* z>Y6|X9H|+IfN=2v4-AL^?rdU5BPG`ShH4Z$9WZGBVR7wjw#Bt#D@tC?-~%s``O7VC zL&?r~Y8Mnc#B%{$oWlVH4&Vp50GOMS1=Vf%pby_dD{z$#x=e~u%d+Sr`9@zxHuAPB z{xM93%+We!K={eW$Lq{J?Rzh@(IwoWet#*kzh-f-O+Ys@57u;GH_6veI+qmmuulQW zi|QYMlEy-Yp60B@P=q^YD^6RjT};e2)=Y*)dc*b9ewI4!*%ho_lbAw;Cc6m=zUsj1|+gA{Qd>PI6rV6^rKCKLG7jlJQ^cm?7JOGz_ zg}z!-bnG|)XXv~S+U<8Q0GMzJJs*!|sxxHMCo)dWzV-1|>?X#F9U3DBQ*3FA`8XIH z+zHBO9C)dm2P`;r5-C7_R6cGXZ0k^y7JO-!&GDIAKDNwumkfMuS>REA->=X&Gl4xJ zpY0wH1LEFI+n1%QQ|VhP;X26_M1Jm+dqmF-43aU2hU)JDf(v=(o8uCjlga%971S(W z={6^WT{ox3qdm7)s;6tmeqw_@En~bT@m-Y5 zx|h!SDDT#$%7L=2jlR6GMF31+yYnT9fc^ZIvp)rZ!CYxAi#To6+;7))Tan1JxyEFc z)WSZc0k($bo=t|ToFZwWDN!-+nH{m5J5{EO) z&Ikdovs8f1fJgfX1(reOK~13RaBy??>nDwQV}>NEUd5!i-TKFY-Irfyk6^}?;pKHywAW2pEAL5zaNdE@O^#m-(Xt9b&Dy0kEVP!mn4z9`)q8YayKPn&m zXhx*_ncSKPc+-A08tT7IM?@QU+Vb7H^He*d4QK0G%qj<<$O6AD=eySf)3! zfa2pL4n70=&D4MM<=9caQVEjI-&lnX@{q?JyD{vQsGLnAx&~aGxbXFKEdIu6o&*vb>;AZw_Emshj^ z_WEo zI&BbdY3EWc&b=40U&@s&>$2FvPSnq(z)Tv|?@I9PSE0nY z=d<@`-pYedAr1D}kMG%+vSf%tx>-y;o@@nFGpuGF`RtHuqPz6FKt2b5McdQs2$qlN z5U~a3URAce`ctkKb{AM!qEf(pLabyNmxj;$%nd^3Ze#~-iM#=J<46n{=6R_8CXSi# zg!1+illr^CEzYLhKr{h0)~BiXe6lpRIix$#KjX)B33{H}Y2>*y0>3XL;n6P5XjIqg z`-mrJvvtOU$IHoFz)th~KH_7BLm}5fl<-7QL%pbpTU%`>eZF`|2p~=%M8;l~(7E5u zk6PmKm{~KK645YYpWN9KQ$PZo42I}s><)d=Yy z*rqMq^d6wRo(Txm7w%KUpK&2!TXO(6iD<~~8XO`@dDx?b?!Jkv86#K2v+}kU85b6i zW!!;{14TS|wmsWTIO)L-P@l!CCxx)h*8tA?`*Y$93j<$i_h3BWn$?KjV$Ei0|H-TM z)Bfw$a0@;HoibEynLysM#2vllKSODUy#|eLydG~B_D0(Q-q6sih$z@r-)>($x6t)5TE&+HY6z5ulL(%@A+oTSdj^D@0wreH9*Uc zUuR30ui<-VPw1V2(oXMY0#Vq!32ZRKr%$Qfy3J!V?=KX(&8V_KPtC8h6}gEhVJLYN z2|;vSd^CZH8Z=F8A>;ro;a4i*k>>3v2DBcJ7(b8Ef*GFg$4D}Wkf~zCa2u5{sao<5 zRzL6u4e1Sq7>}zG6h2`^RjV*Yo2T+m)@}&n3+5f5`0+miHC+uVisx!Z8(0D_006*O_rgyFfJ@3AeV8FEr~Of?r2-OgUJ%z@|c zt_dquwYnX8w#Q#QLKau>TuE+eb_^Nz`kr7a zth}ePrl@nv8>VQRS4WLItcs1)jGkSuET~-W}Oj`NKl&OzCM=7u} zch=lCDFcH|r|VNVMIvPac0x$S7+qI$q1&dje_SyGT7PT&!PRfpx@&%l5Lr5 zE{@TZ0BdX!62OsN@iFOid06JvrZjb0e8y*d2`2(@VdOnD{jlwfFXAJ$e2Mb2FH}m6 z%sS5~3__%30&PgZ2u)(XM{gNE(kViuU_vBQA`U9>Zcpoe@Xk|tPDE{17GGRS2;qU0 zPN%MXQ!pbbbM9n=Pw$O0W5i}fR}Q|;VNA;DP6zym5@A< z=8lWr*r&u8>VP-wlceAdng2tV-i7vTd|OS@SmqY5#z)4yDBJ}E5Ad*qF3H%AfkFJs zstREjw0JuXYv6WH`Y3{&^b^RPG3omg zhn8M-H%M$P+DdE;ZAERJkep=1k*2Xkec#%c-ddl}D}6ZZl(m90o#+5qx4njkK#6>8 zN6p0?v_?$$XO~}{)R8t+K=(2V^=<;xE9da(WyKoj(B%Fi5N=LIL+A|1pbuz>?FOKe zRWWrT?Jmj_1`d4tCM^l=tGzQTO@z57j6f2%4as#pfoH_F;TH_&t#ne%<^sA(&&$Zc z(lN!<0W3ZuRx5uyw@cLs^Kv;+=Gpn3f8ddzMbhOh!7^tPe^-PIyuXgeH46&P`9p9E zDgvUZ8iL@oKaF@3f$(FD>L6dx|Dk#X{(<%rc$G}NA&B6Rx5y!oagA&eULi`}utPE! zd#s1!PZJFzoE9HK?QTO1OrtCw5#jVCPgf_KAe7oVXCsFvgyZlIA*5cTylOk(FEc!Y zR#i%>dq7iSXwqY9mgpfF5m=NFDg-mSklmYgbNE2SnBAxZ3OqJ6-C@}wwY~Z6Ksf3QH$xlRj0=l;N zlq$Rx;IELrJlCfLCaj7dCDu1rB(5~o5ZP2O3^Xne^lte##72^U<^6s4NwC6q_)9CJ zHqVvDk6$Y!)j2L##qyZs9~{LA2vovUBYM$9Bi(BUc=JyZ9DxMbRUrbIVTYQX9o>o> zf8Y`v*X&EOI8rWEi#1-t-pkVSoTkU4G$olDI*vIOhFp|MhOIV^HoK(MG|mjmS`E;F&SJtnkPS! zXG^+#Yt=fBT=E7z*2Za-WDxJ^E>r-E?>VL$301mWjV8Kr!;Zo=X2W88nzxCduwb0g zHk$w^{_R9DTBr|~s6(>!t`&bY&S9ax6J@@IBg~*EYN!LeVFcqX8rbe=HbV-P|4Agn z9tpWH)wQRy6zkU(D|ZTYWJ8yP3=Sxa{xX*ofky?}*(}Vp%a#)n+k+eHi>w;D3NZXP zsmm-2TtdZ1Qp?_-d$kA9X}>pkV-nv z1KMu{Lj$@4s99U1b}9!WL;{@0jvZbgjF}j;x-hjHjd74z_xzTt2U>S%l{<>aoZ$i5 z<{};~-nl|JsQ1k5q1cKl*a?-3@2ai_J`}Y-Y8mCeGZd~xhc{}p5GzB(-ZBw2(eTMX zwkY~V-+|Bj0V&S~uUqHdxb6FR`FPu8?q$#>$*M9s)fCDVxz@X3Yir}MYJziq_;NL6 zRPEVT#qXkI27r@{NEKnXro>$Rvy?iK(bIGhSTMg520;E>dx5@U>pCSr@7OM2{=vLz zvHN`u5oV6>;`A6P5E3^W_m$Qn!LhA7bBUw~T2lc=?HDS68L-Tq3TZm;r#Eyh(!xM< z+E%2R(xZgC)7DLx3{chL56wUit#%8wuWU?66XKYnjT)TRXxA%Fv;??>qwtpjj6qq} z6|rgdMWV0Z@hn$*gC+|vL-9&AC%|1W1poe}b92%1LgDa{=QP3_9!FPmO?xTF7=aL5 z;9Qy+z+8Qd<^p&sdh;^N9F&Fu)?Z)@ej;`VO@7YQK)Y!#==mr3y(c}*l)z$FO$$?C z!S(OIWZzx4F7JE%%5INq?@y|6IhX)h9g@HvG=W!&@4mArK!EmZGO_eg?_flN$H-0( zjWgsPf-m#5*|c{))^%nZ=$V3>HH8I4K>ICPD-p)^9}upchk4qm-~(8P+TZ2?b`;JU zxznT&>7rBk`sfBsyU!+?036Lu6N-YaLx%BwN1Mm!6-sCQRnI~#>Z`T0%t&XZvtR-Q zI42~+)|vzqk)kMA-Z0SqBap;Jh4Egs>}uAT+ez;r(unP+l0ikBc_BK7LC?gB=>{DgLbV-^R)uID5NpUY_|! z?IjFQurufb%++YmaS8}oL=_-&iDxW#C`rbT%GPc_UbcX2Xh&~nkxqzu;=}jyBdyS% zIZe&I6P})ZSgRWV9X#7+0G=;G#|*!T?8ri=0g;6X9!KUANH28CWkp}@v?CZ1-ZC-1 z&I;rdFtfv?Wk>uGQTSd0+`%0}JKaTGr55ihcBDuf*U5QDj_-&z$^aGZOa=bzcRx|p z?#9^eP;FBg2_Z3r_HxG5{-~>Hby31qW*lQY_O1K2H*LPbGj1BsRZqM(<*y!)wc}Rn1~~--U@rSqu^f;#=n01Kknj$cduYVF97wxHdQpWAdnXJ_}Ye1hga5QVm`Ia zl(ZUDPMUZ>`?8l{@AN#Bz2CMSI6naj3zvj%Rt=}ZfL}Z`sUH%>x{9+=vLwtqtmeUM zQ_}~Z9!m@DR{C4PA@|IBk0m{>3!>7{k5%Rg^%}gEYd)&Y$8- z^K(MmvF@lDVkj)oQIRk3Kcqa|3Yo2mH@Pp(gU0K#0&~$+ME{U?*bpUPO%dyJKhNa9;N!Yh;-yhR^p8;)>Y~Z}*5V&YufacJ z0k+kH?L&OD0#61^1>e7g>w&MGicq_U9_nAjLI<~v0iEWUvL`6ISlhF6e`dBq<7ZDL zV!d}76>|>tCMmqXV9X8CApQINv8_9XN~VwI=`!xxmK@dl!+*{Ur*ciPsymOebk8%! zd$DxH=kB!8aJA^&OBon3h&8`HRde!o%%geVSF_*uI`v%+URL14mI(2^mVGkwYKHqL zS?(9N0Bw;%ssrZ&a4Y;GJB< zboH1}pFBy1cms7pXP-O~_(~CzDJ~@Z+m{67d9exi)c}wuSt^)3@LYrvkc^TwO`6tR z1WTcG*B>}rSp8rk17>99aAKKxxtOa~?6o}#KSiCikOCMlH!13$9i80+NF=v@xbWv) z-i{+NO12~luzHjghf12n`8rZ{t1BjD?-L+w)(xcq@Yc7qbJ3eW=a4s$gL7ti`b6R z5p`*6)4yH#QqO7&cV?l0k>?^Lz%+!AF-GJD@>~}um}2Mk`MHW4c`ZT(Olgs_F5D#K zjD2)`10zBVJpU>y{Mx}t3qydZt|P!`5iBk7-poT}H2bH1s}Lxx zG%a3)jY|VO}-Mq%zRBqq4uTvJOI~md?=y$?NI7SsLwUWK}y&^t)o9R1@E~Z zdczONcp)^f2)>nNvfcJr#tbAOpjs+QUzD_L5tvt)fYv4{|Pa{ilbQ4!l z=KU6$(%JOh0r_3PBpQLJKy))8BR1nLUv`YbH;H=w(p6XauK2m ziu@(Ha}`})Kv(XNE&P1Vo5NX;OHbqL&-52>xszb9U>o*sxAqS_6( z;*p%j)MajjQpTJC7`J(nsXgFWO3~r4sT;`C`^&@fuM%N}5fC%(xh~xK{Ybo!)?M$Y zxUd)?gDp7$E`1MB3^zOV{NTB2?>mh;MYB>}pMh=;n)z8y!`5fUbLug4{U_2NdywSw z#7xDd69Wv3ORjf%3nUZfjE}hk1M%Tqj zG$n+{64s3Q)!FNse#(W07UF5}G^)!a8vswK&*);T0qL(}do%7FYBw7lY!NClAsPQ^$q%2c`J zs7IEjQ}2N-xwQ!T_TNw*g)-_gHE{;V-5+ey98U(gw5-n%@RtV$TaEq4Dhpb!H1->C zYzeZ;=U*l1y0>jmM|gc|cnf4+xyzq_#AzLuW0LqdiJMjF_{o#D_rV=*M6{}Ly)=@6 z1*a6n5_3w%E>{fsQdwvalnL$^@fGx^eT@BV#;J1i;~|@p0I~eSiby5`K+PjdzXnGO zC8{6FwV!Wpe`}O^S;3p)qRj<>>xg9u;j$J<7GVTwl@urV)7o&SAEX5Z1SWob`Bn7~ zZ}0LQo3B&MOR@kf)7C`<-WzZ9bSXFXlcuISzR~v<>T_YiXk0?9CRwDHv1Ck#$imQ0 z&uXJOC_v*%r19k4hY>XkQs%a`nuv&X_JA-pFZq0aaLIDDcx+;ntW;of-7?C^J35hO zZzNrqnT0`wMd@KE;2bo{Kr{#WtX=?Zc~tSHh(^%rRIQ6jw+-~@jk}5lFJ7cGz=i?`ed3yzjbC+ApJnlCVEiNBKnj?`n&rydb9PRCr*gPpGSBhHUP zOs6dJ9!(iYiK4r{Ky5#;wN)CuoSgX6(&}p-aiYhD@;nZ`n26qCG zSyeT*#O@vt$odB{7xfP>7sU+u7|+inGlj1W61BmoOnO&gR5%6~sEzZw=DZC#BaM$k z`*87pm~{{){9A2$>T#(UID@xq48zz`W^%yWlbojKIbUk5)W%P5{1TWRmVP*9`1trA zZEewv(yZ=F0qZw0YbZtFG&(lmetY9;2Y22n?VQwqvfglAH~e(`qs1RH4XZA-Gb-X! zKT?p1y-5!&_z}r=)eZ2HH~P%EL|ET%%+31nXDT9H;~cM?bF+q#q-hbmMrJRmK*P2!JOgzX!|C~ZagunYEj_pfhQc5p9^ zQHEujTSFzOUo<>*W&Ag+H7sg7PB6 zirnqVU%dSEzDIA2w6%kL8oczoE`v*U+cm}c8U1{*qJLeco$u`d6XC{dq4xe`=`Mfx zyL$H$Vw>1C&@IlJCo8VJR)55!SaV%(Rq0LS%2CoX|09%=)}~W_yKe>KB_}XhLR&aT-W;8U;Ctes_=Y$ zl+*f>*(wDYZ1yK6*zCNQ=v3tEgX3VK7AhfJ{EuyY?O=8ytyoapD;1>+zoI6NOKu+| zP`ofBH|0kL)NVtA#63~yIViJN#j3A}A-rJZ`;)te#v2uHcFv?|^>*nBor`(8?pwTR zPMX2EJ>Y!sdeh_&va5TS+nt#c=3)}|uwCu^gA+PGf)t}Am2$>Q;1RjzWPmpYncstP zVnQZgbJ|9t)7 zvpSruG4+Icvuv%DPtCEzwTf9opeM8NXjtau#+LAdC&QB9r*Hg76D+*)SPaz~AImWW zHPW6*w*JVkCSum^V%;q+O7Hv22&cv9$fUCmH$?Cv=U-J}YD4lw7H0_!F*via9He+n zFIn1~TjWvwQ#rqnGPdUk;3IzA@4_u+ausvSiTK$P?kCIP)-CB)`7HSOC z4n26-dEu*kVO{83foglR(eUX_-R53OV21YJ`@U9ogXHkTv#r{R4X>--rBvN(_$skQ zmfq?GMe!?PP0=@!5<__mU5RfZlBkA8)#@Y6Q8YJh_&_UHUG`@*iJGH%dtgQE`zVj0!scW-5_h z^H&dLQ*$-7QWx$UhVeucmu6{kbf6rzwVH@4p~YI?K(7Yn?B}A&ofxMMS(Fl-_k2vv z-ir8vIqx*MM%7s+_LG#GtR%`sD*Q^Y2R)w_rzoV)%EQYkF170uc_K%Wv9WWDgx@7d4?z%yfM11#?aZwj1;R^#V zDK%tN;?vHD3$LU`OK3c4i1&`7kke2diqmgYVWJ1$HhYo|AdxU#~A%m1MI-~E|z^#1_Cp?84I6Y#l7=)xdhGerN|Gb zJ5zfs*8a`gaPiEKO^0nGN3}SgpM3DyOvc_UOSE(s=t9B^dDNu;;x#Uq_ZKLB*tsw< zZQAPO26qswt;GZ>)zh`-$hv4tBYvjq4ME~4kAfX7WE01la)#n+=F<*+4an3K{1|ZW zLKF`%_WCE}k{~Kvdag8sj;4%}BfjTzS=&oevM-QuI(>A*c6k8e6 zApH{+M`q744}HPShZeHE!By6_cocjjeiTGU+9MrXL zXU>ErG zp6ad`@`+0f+_VX=LIi|nbU#VDHGWggKQb8?&(>3%Ik7tYB=Mz3!&T{8b1H#DobMcJ zJ~fH5ts4sOmsV{HSla8P@WfF?Fc;%EbA9!XhMJCjGP5W>=fbdg2`M{UG=s4fIKJxB zqUqczp6}5A<=*4YVL@KsE0vSR+8tx89^${C$$bzY;t-h^|3Z3L}!|LWd@A9{KsZS+e z#nc7GUJVNt`)v{VpuXpJW2p1_z_Y@8x({!CTD%i*IQO?Rac^LkcJnLlAEdt7B{ts~ zv?KzeZrOjjOKYNa(y*V2{vQN^gPaccUyw3?=4s?{Qk~WO;PShSt15yca+-!Lje_sYX<2F{ zRu;CR7zR$AZ+IBn#G=C#bAqOR_baMPl6ewIF148`{kRk%ps8 zPd&{B-jnRV&5?SUBR^1xe9|N=I8r2KN^4=X#(Ar^AnT$7iGW5Wicak237hMG>tl?v8q zk$Qxk?w_{Se5SYl2x^RAn96S($u{6ARg<|#20>Tg(E2&-Np(Hh9*!BY%1M>(wky0b zF}6-U2*Od}R`8WRXx0X1CDGqeMb%SBFV(pJeu?k<4O8#xLt8#hRxxlh_i)_Z!x2NLr zEquE@jX3e<@Eq+kaS_q+XNY8*ZifZu)^Q>klsv`Di|h+Ldyi!H8$2_^)@Ejnmb#8Y73g%Wn&L&T5erdpXAt(3|?C!>~4ZIlfKs z-yZRLfTn)`DSi3+Bc3B)D;o_BQ$LYS)21p?_tbRG$u6|7ueWJ$%=ZY9*Uw&SD0vIKbRk^WljA1H*@C4!{$Uu-{pnbpweDUHml%9~5(@G`oE(rkz>hDV|SzWqy~ zH{x1uOr;)_`8Am%HBDA8d@rr}=wvubXMPRJ*jDc+ckLHOB(_^KWA>9q?(%YyCWz&C zcna`7`k-V5+vG$79Ue;8<^?o>14dD^6gIYalnKgi=#;WidfV&7|jv_m5gQgb=GdR$-fch59l+{kvBancu}hq79Gm z_Je`Nox_fjHWV>C7>^pE_~*X*v-)L%fx=iM^;M%gHcUkp+^ci*y@ zDb_m3dIm*Ll7$WGyp3%}40;AB#A3XROc4AZDf|y%=o*~6E_E#W%cS@qT$9q$l8ots|YVLBATHGlsfX-vX-j2O13nL%m9BG*g#Ph$U- zMtU{_QucMuzw|Nr$9UDOKCPxGl2?_?T%1|6530=#5rH`^JDy(ks`v4)r0 ztAwQH*nh1B6kA8e}WbEK*Nv8gKp zB~B!**$gh%X>Ly=Z>GEw7Cf>Cf@4G>0l8?xiyF?2hvp^U|Fu`uRbgH!NIG6UV)?S> zk|dq{J8=<{S7LT~MrwvG+S%XF)E0&E)=1d6r)XRtk|4vi8(3?pvpbf-bGMy)r_Z-d9h0 z%eAAPTuh8G`s*5svfbtDA(#J9&cjWlE`0e6I&UAR?i8-+a9Pt zX4m?S+h+Yt#BORL-ZTSt~(gYKU<1 z)}_2guKx=G9OVsB#?iR}sTw2eneqy^X1s8ovU-giMf6?Bu|4)q^oX$>)4qy-4O^4O zGBaO`b>`6zP;(=e1kGKRT29%X1bxTgw63mBKqi=Znnb<$CkfiMz;?~8zc!ZYA%iY~ zmF10x>EbcNlNK!PlG)Kd7q1x}i>BaEh>9$Bbt=)wPUbfs_HO17DIGd^NQhH zD3U%MYA5`F%Ds>s!Mz{)z11s3UgzH^j_g?qL}uJeWX74l_h3wG>|=+>>YkJ&OYN*Z zT}i$YMTM@%;c^rAMJAU2P@0DIt;}Cs!sWM*Dw&Rx=p8NV z9EbHk^pS7y^Geu=!1O-a?=bz)VFk0b=O{9#{u?JW<}jQs_!}VQ$HjHyu%VOawWp(_ zZh5SnO9P_1prvW3E}4B6(zIZ}qjasWqE?ICNdbWsZZ}pOjINmZ5{VeEMZa@Hha#VP z@bn1{(*JQ$m>m1nxpL2XW@zBcV6r2-?-i?Ea1k0DNTy4lNVeaMb&P>GQW{Ce z4 zlYxP)5I5#05!LnK$2#o)V@e(qeK$-#b}ZG7NY(r(5x&c0?CjE9QgBzy#ok9=Mv@M1 z<~-Ri)m6NmIwKwftt{5@d6pg9N!mot}zufyNwg!OW5k1YEE41Trlke8!jop`5 z?yCrPN_4){7VWi8I5EL{GjnOZo$c<;;(DTr^oL_|AmY_A`R4Gppq0*H*OjOZI{Vv- z=J%Fod23&NzoluQpk$Fj`<- z$iZvfcsN<^lcNKrQ|kxc_iQ&aC79%*-HQ~8>(742pOk$}o@`WKBkpJITy$*DuEFKu z!RrH^I|mfTlN$CoU5`8j9E9O_mob9RrP-%T#&40e2j1*?HRCOv9pVr(@XCB-OZoi5 zIUujRKYmQkv`Ts6HQmVt_EQyPK!`XJLQ(YeEc^5K@|SsUo`W?jO(e?lNR4b-9_0S* zJod_0tYmhz2Ik`oB3|S38S>cN3|_jV{iZ2gXl$9zjlZRzfzm=XWWVg#K2Yb){9R>j zPN~4GW2#cN+p7Gb(!@J$1_aDgdjm}ma>w;}+L5Tp74O9a?*EqPK+}0{Y4g$2l^@;# z4m9@}giHjF_O{p-uulscMhW$bo!>@q0DdzRh#$Lo&i;0MTQAZO|9(=^A9^EA;ov$|>QWo(PqPAM5pC>1nRqiWlP63s_0J8riSk)|ge~U9mQ~=i2~7 z`t(*(oc2EO^uJICKP8kU1fjKa!v-(deq{@!vwpdBPocJdR$IH1qhvhd+wu$fVg`&p zMZa>f*Q3xsileXT26+`qoVPCL2c7V9J$u(FhNy;;=AJbCmYzd>S^h&;7r9osPBHt$ z@U%ORUUnK?ahccw5Ri1a$R-ftCYXDo+Lh|4NmQPEPR8d^PGyyJG#LrUl@~h zTBp=WeCnRB@aD>jpyxKFRp!CnM(W;Dj0Q}V>gERucO@0wETV2$a30MranPf zyHbUVYD7h)lCCpNt!kr>rSj@e$?( z^9T|cqUX}rnflZwM%6`oN{4x!TQ7ReQf|!rFHzE;)*P|k1+hb#pi56cpJQ?U%yj?k z=7z**K-B@|@4budQM0SJ6UI)M?!^f`6H+n1rxAD0qv+Jqa&z9aM2X9alV=X2EBvc% zIG!oNzwnIyX2|_N(bd>@@5%>?ix!ttr-jED=ygf2N?`ASJ-Z$!^?b{{Sx#ktdupjH zT}Rw?ZBu_H$H~fRfl|}2;BeCcfTO(WdD5B`j9jB07+aY8{5Ma(ny;i;uDiYw6RRq; zD^fE*%-$~TqtjeAPb5_E7eSP3XC~MDV07wpHU1T)cK-)u{}O%b>vBZ%TgG=;UBuO! zs~2l?<7enf#u+DjQ98L`U+4uyep^-%!`%WE|LsTmm;WzsL6m``>|dxNcia;=v1g0i z(IF_sMklvE5<<-Ht zzSU%NoI{t9lSc1oSkZWdbHCG46Yf`dZ9*XNB|q3hj3D3lgcA{Ye3iegJ!?=Vu?Ux< zeLUvzfyF@)9KIZpB>0J2>C;v1Hy-ci$AfEOY#~X*izTb1X_OU$M{!+ztU*mjpz_6h zl2w1)>(1^D3@#Xb*&Np<=DswiWtgA}*H22vyYtPO|%{tauz7L@tcds$ddyx#1*mrcso6{sD}uCb9v>#AG2K@vs-89 zU6WRq2T0ac|Kq0~+>!ia@GrC?{mWDzU;N4j(<$xE#4B96ukiPiT>-O>-^cS}k`foe zvEBcu{NyC_w#wO$un6gMm(&A8_rKXTwvD9T5OZ{(^;>F6 z+~T^KdBShY5i!?%#lIkI3SUl#EqB`Zv+`r046p6V!kTuD8e4^bsT&;C3n;=R4GEZL<}KS9g5Pg0@}&rO@VPQkVmc#nWd(OtF5CLQhN7B9mx( zVRDVyehbnWGf-CA{eO`8uh#r8E5z3fr&fPk=y%N1iCIo}Lhifyq$edM3KG$s^i*14 z&wX&(2Az6u2FlF4jUxD4N?c;5t>k*FYs4Ryh`qJlp(8rQj%k;sSTO1Zd_quBV7kvz zGM?Zkaf#|`e9taTU;Ivz*v85$GbVS-m)f;{b6T*#Y_^hA$QoS^l+Jq5{t;ie-gJ3! zxX`!ALps;iV=7N8YU4;cOK?(L4_U;gf5q6BLA3HjWL%H|U@@ri2l9E*Dw(tKs(VPY z^NvZb&1p$}D&req5ME%%Y5rv|$n;&GB>f#OSJIzAqs3lB4~M`q{aZn-Qn}0ouh~Ad7^*gG zk|ugz@%)aWA;4(Q^QGNo_5PQI9g>SKZ(`WkFh`cH&!v2oheY=AyQn~B*IfD+vrkoc zEES@&H76~<`%w2klNBNQC4HFd`GxD|n-4U_*I{O+u}{flU18X8XqI&A#9%X z-}#a)QkmH+&Rg*LejpxOUIHZ=%3BTRY3-lhe>UV7$QSHPkT)j;_MC5x*%|FMw*#dE zeH({27h(gOrdFv1>hp9tE9vCTr|-+zA2i4Ux_sfixp32Wi23lPK;1*tqC4DUR(cQ*!W$mL{`dMdPpDzmML-% z)C(Ukq{$-RR&(u-1V(TYVOf1)2fD`&T~Am@O;1~(VfeGq4+6;w!C59%0ZVs5FT|AP zRyfXX#1;<(iDm2Knol4qHNREewKz}kEgo3fn-mMaU+DQiZIjNGZzOwdVK~XD%(_U# zUF$1P=#@Q0U1w!3tOsHO0mS&E&|05?h5i}l3;}dv?Cbvw_5a~=^Uy2OfL}y>XJJW8 zUDuZY#PLG^hg+;Cu<#;DhXyYF4lEJL ziOUDBVUTZ~--U|D!p8b&(pa=Th;Y6-Kawh3}hpdah>}65Q(smID zdiHlEQfa&4a>Vd804>!E9P4_rJqn}9GS6RurdU3~;HX`R-CkngbTEh1$pJF)6E z&2^A{`?EFvh{Cga!+xlu-`=+y!Z7_ksEsl|t2JvQK|Dix zG+Cu%)baAC3+`jnBIFg;~!3iAt{wG>_ME`--xF@1sxBJ%w(0>7T zF?a(xs$8I^`Gc*yajb~~2_Uxr7&jVDoQ}ODO$uW7y-^(ojivAkCo@ zf0rRVaA^kvk5s>Cre8_1Mv&1-zx94=bC~d9o&K5it`Emm5|tqTYfSN57q!vz{hIUa zSSuu{y3u>#<>ATFdQEb*-QXv<>xCn#5PkPQu>hCZf%Nri$&Px=xn5XA=G%eB-uB43 z!gm}LT7El$e!c#2~$>*SV z1{w}U*UsLIxwWLL3SkI!Y2X`_&tE790fNwU-TiN$Ya0IB=g%KYqL&!s!7oG&|2=E_ z*}{w;d$BG)CIrSB{>*e?p?_?IihA0A$8B}ndTaU5Wc-&F|8J(sA$ z$0d>$Dt9MdQm@7EFzVQ`{^;=_yQ;=>F%!Pz*_9gyDs_*dCcGZ;R_3H=gC@QgA9RMU zS|i4q;jZf`#LH5wn{0y5=Xiwx6oIW_B1*0}>GkOsBkjUUT?$`>>-~ATL9w)2kZu+R zZM)STiD_*u^73)~mM`~$Yc?%SdUY@wjHtxmQwgl>NC~Z2VxS7b zrs1yZUT#$2C~b?r;%)Bh5u3qU27j)VG~b~GO3an1#R>+9qwbxT6LVLL(Q;0g`5TJ$EVK%umxT`W+;4chiw47WF*#HaiUq+bFt(C>!tC{6DoDs%cx2LOz-C3iGx4YU{))UtO-rTizdXO=SA9 z?J<)2g<`hgYl|nxzjaqA$lNgA)x@;a-X4K=)dcfhZr(9YFk8*t78A>Ll&4N#zfnH? z^1h()Oe5biZSPh!GX~#q$9bKA z9T)Ei&bKbU1D~u?tR=aVWhL9FU1@;*tsHw0QpN4|n3FO&S;>dPW5eAX8kc{XA+YBj zJ0O)#g*B%i+HiXOODWA%LE!W0GlkAO+lBK!{nPyTz4xB*s>1+ml=?dWV>U8r`SD48 zkO1t@{9W_eg)cnwzyJG!jBFP=qOXb{CFQ+r z9K2%iE+x5sCCF{Uj|Q`;e#swMF#bukoagiXUVIAPy zds!-_DU(1+Fgsm9`D*0D*-*UQL#^NzOH=j(Z*uNe+_B<+c|tdiX@id3ex})T<{^K8 z&-DQ3O=yz;hySH?d2dJ`&TI|FrIg zftaHC6N@7pc)%$N;A}ChTN-$umy@zwt%w zRFrH%(E+ZKakhr6T|t*j59Xv8_nqB(FmS4-xW=iNd0SAiNX14u%eLyH{xP9=m#L&xV@(Kf}(8p$U`pOGi?POc+1$;+U zYACMN>DtpY%e_-Lp$|x~Nh$a+nhP7nfF?@x52Ezz&oo>fYpL3%LDBuWPjOCdXMXos z-do_I1?K+%1Rp^~&=mpv7IIOZeuF4&rh=+*UHp^bU58zL$d6(_@>2K=qLYGd3vQGvA^?0;SOnX2ZQ3|OE?9O@YFM&C*zY= zJhb&!DU&9+)h8!HRbGtbFFJUe+Ng942!d_7%WCBZxA!nyiBG&bx7_*Zvg;AiVO`xz z)VgC}jAR5KDTXxxd1VBbVESSm*t0K~j~iy9N-R6(X2($?L4>3zxBJUe$}*_=&PSlM zwHdw`u|_zG*Uf{%pR-o}eY{(*40zNfu+o}}{dDs5a(B*zm$6<4Wz0~&x7C^9J72P^ zr>@75ruHtn>VeKMql1VfW8d5&V4d9S9U;KwRzC1iO}YE6v1~w-FmZpU!cGlF!c zZQ;_$qu`@Y>bEo|q{mu>w>V9kN%mF~FI2}gCO2DrzZ!BaAnB=M)Ac;o;xKD6q_Ga!X%aX^cl>cgEbJitH3xB6d$O%n zFe^#_pK9w`0VO?_M@2sXtyn2B5=>Z1yeZ}*{e;b~D6L@WJPeKZk+w?*HJwiYe|ySF zpQz(a0)2w$OITQj1w@L6@%FVVSrPp=lx1ClLv><*$dK&0q4|(`2DDT8a}RNvc|MqWsdF^$Phr=Xd=5GjfjcSjGkbu0`6;8!uHxCuOGBRt zI^1}DN@o^z_>qt!@BIv>! zQ+d*`n64Pz)sqkc%~*SEcCs6Hp8FG(E|Ae*4WR0svvxJ#T@Udc0GbDkDCE2rC0kal zs+)7{RPt_(Ewnfh`5n%2_xoP=G&L%zGnK82Lg-SjjCa@2!Aj8T?E0NA#3WTW{kJA% z*(jZmXQh;8?NM+W0hWN_{JTxzw#NXV)~<)3axEBc=YPPeUnd3f^xu#}poHKx3Zg;D z4Y{VR3VH65evl>zep$B}exe_ZUi?wA5v1MX4?_Wo=^haZ4dPDqt2hbz7WQXy#VQDz zf!11qFwP}A#l_tyZpf3~58&|lort3ApDgr`qPQ{pLD|HEYyFN0J#FNcQH8I3;Rc8A zq}%nqbXa$3nAH4M7Q^EZR=Bs>TYeLW69NqOVY;dp20OXoL1d>qtm-@~`B!HP9w~Y* ztle`P2KNh9Ni1-qu;a)Wpevx|O!nV93a;}!0dqsehey8OMWrt&QU}Z@1RzoN4aP}Y zz5z_?l^uicfqA~I#^j-+^y@S~@CGzqc$|<_yNxnjvmn_Rh}?o@`Yl=Cc2`9JCx2cK zQtl~!^vpDP5|{#E4A=Bs5aknqug=S& zMgC|Lw_7d1Meb$kBVUTV@vRukmO$&JW@21#pJIE2SQTY>ra0FrsKhByRz7*Vy^wrOzBVMmrySz|M5e2TRg(>6H7p!{UuFfR|@C@@>s5H;1HiL~b&~$FO82vycX7GEu36(6|zuK(TPtN|J2}snT`SP`i zhh=%H8xG;4sXQQsNoc%k6~s*6^Uw!UdcLrX^E9{)sbt>a1h%F zKq^)_((Ze+fn)q2$5bgz&`WB5m(o8WNl18BSC~m1m!z6)U-j_0IYv~ZOvNlvr{&QH zgPd)v-Qv;;5(e853ZPa27t8RBDnQ3T7GtR#y4wU@G&T_{5WduXs6Zd~`heG)foq4^ z9ehpoqWismNTMkrVzCxH`HQ1v&+77CYBiqSUTkkuHy2f$W~ZXk+jROEz{thw0km?D zTC-2RrVTiP2_6n~s#?!pT)b8^GbfoQI2i-uu|h{*aXvW2SN={MuVhT!9K$3g5}D{U zs}F-X*JDO8VX6+uaat_(5J1c%qFz&K3EH`3NZE|8C5d%*CrbN+wTZza?^Y1y8}*~I z*K}I~1ItnjU16+&r}d}dGw|k_F9`z|=|YZq@IAlic4Rr*N7YlJlABXaD;x8~LC@I} zoW}|NkW~O_fvk=)MUgcdua2g<1&*pJv>YqmXHek5 zx2np}sUNLXo1jUPD+yylJ|vGbPpT8LIIyy!k%S-eFY^n35vE_a6cZJ$PntnEevWq< ztb?0I^Y4lP;g~=cL^f1@JC74|a3YYqF|Y98PEU!Zu?+8}l(GX+*XC+J#Xd*pK5sUv zTUt@=X)j2yW_ZZ&qHCv8r{0Zn3>q$nZr=TQHGDp*m2ANHU7F3gGB6%J(;D-=+ll;q zNYpUT8i8Rg25!CW3;?|;3Gw1rk<`g6(7 zWLGJ^j^eZyVieNUEhpq!)>05eemDn~0QQE$NsO0rzw>g_$-NIbU0J}e;vG{ST|L_( zvicjKr_W#vlLd3jBrAa9;H^^#daInfuK6J?dPlE;2;yb{Ag=V#L%;luM^@KUOuII)#p^p<%1rv_*nEL=jjoy65i#B=i%m$L7tnM zg&)RTNP#-p0gf?Q!nRM1tmTSckF6FMGGt|mjqhk6XB|}MZi_iRO`m^2YS+E@vskH* zGW-H@Lr(ec4jI#Py!|NAQ%)+0Fn90r_ZKpg+T*{K=X5;hmiP3QmI#D~IYqN;_PJ^P zBeC~SEsK7v#w4U3)b~&{Z!q69K$4KinMV=y6y?pXUJ6ujPbc#$Bp=~ly3s$q)S&yC zf4UnXJjX8iXlm46yspNxp)t0Pc+0amCy6eXt3yY~Bn1jl%4LNLO%;M?BW+@6v2$R- z>y(cB3pahvp2+H(48Dh0r5u?eQpaivWN-37eA?n!f=~n2m;o|5Cv<%$&3)qFtV4K- z1}TtVRlnPddQte+bV^7#Lg5>@&)f_=FSbKKSN1)L2y(DT&|^)&4Kf9ffAcoB>lRpS zp&XeUHhtIZ7sJ-FHGC8HjIy-^P6T7XgrmXCzgG=$um?8T{7PEj|%*;#?|~7bB=&gqZG)*>i+%lCl|!WdQ_c;vr&6_ zqbNIO!l7MpzyucC6z{r6MG}v0WwtqeW|hB~M@V|?wUAv>JomNBsenc*#bk6ZN0uLS zU&4q%PI+!hP&TswYedx;Xo2LcdBP1#sS`D1@$9S={Q~*)r=*^W$y=Vb2pa6}v@jey z=JZ%5-7X3D$DG0(ZePI_o4^&4AJs@vcgN+rW>2lYy}K51W(Z;pEnszdpqv25BFq*| zx3U9D85*2D7)~0)e|8XVnOf3k_%7fnd5Fj=|MJ+)&hI+!kXpz1V@L8ENwh9A$_Xg? zfo;ctXM~-()00q45%1B^3JWAm7@VDmY}L!DO2=92CB@KxyKflNh>+A`Xt{4!Zo&_V zCzu4*nq`6w?gJZ?^D4*Nk{0R~WFp6-hg7T^@esw33`tqj2 z@d74B2>S+PU$=6QPN3XXBfB>e0bf>24z6ZFyL~84C8gBQY(&fGW9e;YJgCoPA{4h! z%k4XMxvFT(meqt*8%NJDP^Nn%c`!A?9QqoB?HFl0MEvE#18z_DnlQX+{>Vz#Ob4|r zF9Y|Ds-4Ko$ytCy#Wjyxo_hWL8D9wV?#PWOI*V*2N3jG~KII?u1usbMBaa+Q(z0Esu#<{^2 zZ?}mzGb+@;vU@dFK*W)&RH+>Z=qr{f@p-iQs!Vt*l zI*!KVT+ksNkp$E>$8$pYWI7{V1rg`ujtX+4b5+xbTWIJ+Gu_rZ==m9{?~Chs7P}#+ zTgZsv$_eqaB7>P1V>U^0maewwPz!*Vl&oHwFDd!_WwE0LUFJR7@XVe34NX}k+67DA zL=Y}RpPcqe<3VC<8eUxT<$d3XiwQQ-r*B{9U*$2RM;tbOqpqJp;-iz>v$1_E%V-p4 z=#`3y%Evn7JM~6+&%UazH#8NuwV%J}{ci2CZKa?3UDBdL9j{(M?k&vs6^DdXi$1Cd znK01I*BLX&nV38)ReLjkQPBB|7r9uIW?;*Col5Vwi=~X{9|W|c`^~N}4ULt?UI4XRjWsbyCTd?VNN1)iG5OJwts zA>VJK^&~b%8mk&Sx?Mxicisc6*{z(#S*X+J*5yuP6!{8?Pds>(A-t?>@%=kZPcKI^tz^y2 za5}8Ij<`w!iph!(cA0nQp?0JydAL`GSPIA>Iy>7V@!-grmU6THWF#Kg$yvW3NU4AK zF-0$~*D`-%RC7OxS=BH6eto%9gSRvkEz!{i+|Oc%7!Xnyn+y&z4xwP^&3lr~3%<1PH+L_6ya9RYu0<{zE%1u{pEF} z0h_ExTg7RkNn3ShNt^~aias?Azyqg*;Q`zreA@a=NN#CGDEESCI*@5bhW+KP&vB7m zbJNdT(m??*y@G;U#y)l%zG21QwUn z`g3j;&+j}8=v14?tX zY2{qZt6gsNt>=iKPxW+H_tlRTkp^1A^uii~>ij+U&@_@Y1bsRLjB|Zrbj2Q#@LV|| zAH0l~Lz21IgjpCD30bl1)h;U3q}dKW!~Vo*M&DV2c(2s&@;GNUsE0EE$L@|M68K_ z>=QQ}4Qq3oVT0=8PA}5z8Cx)SbWbDjgf#c)jd^cd;VyY$UVh3Y|H#w!WeSZ|9Dwze z7}|!9pxDSYu>8gqqzGP1&jb7{cW|#X4`8t^(4@xya3}6` zwA}sffQ`LS8i`DYkLbK)5NJ-G)4Tv#)a2xQH7REnaB; zOwq?8P-ZZAc)OZ&bdAAZiZt6<9nXPRvIuoFIkoi1yh=RSq*@=uX_1(YvafACg%2QI z2XhTrD!Uv99`-Bvar=8^rJB&_+fy`h?Ek}B$?J~EZmv6_Nl#wkh-_e943w_$c~W(z zU`5zQb%gFG5b-BWZ&Hg=T(WS^%#gE&kcsNa@=XNjN=DaoB3z3wvPacX1wC^Tphm12 zV(=OU*61*ma3yvwTxaf(DbAVgk$v0%iz1jF)o- z-~w<*gFaNzLHjF=guxf1nxawA_BBGtQ)(}MwF%?%kHmV*R1zF%dE+fIT*$|3tGdDcB)j(n?I$s-`J;_5 ze41#_h{czkvgepQJl%-c`Si%XRqyyEUmN3r&SAS(e*DcrC|W3DcgLAm&6TKaA5Z48 z&Qy%*B)Pq3gzj}q%;Pg6&SaZ3=y`jz@~corMp{T3dAWVE(7C$~mk=~_+cN2ni##bK zdh9nUEcfKxx*5{d-PG^y>QVW_iL^?Harf*Itt=nWvXt!!xBgn|JqJli?=5n;6hq6& z1ujh+#|!bZLUQ(;pQ+cz&8K@LVvTh+t;(38j!OEO3gdFDz-Ys7*&I@w=GbSSfK~)rD-yt<*=GqHw1Cc2oZeC_Jp^s~Mo3=sNbx0<*VFf^5qz zBr^@S+=ed*{$)+)qs)7p`3DzE65mLdy?XOLlF<%L4{c4A!LeJl7&BmYJVBy2EpCIb zD!<%A4OE@N#j-~mIRjzJ4{XPD*m};O2BGK*MC6JWX-XauzCuj&} zdfhv+yNv+ejJsTFH4;4XoycFiS4LCWNvB@D50HDPiH3cWWL& z$91^p@f))UKm38;yNk_Ty;|)6j<^N#Wdcs5t@0~i#oTYK%j^a-1k93p%4TLbWxo3u z0Fzq!f0=|MLQw2o2SFXv6l@LPCC_-Xn$i*LVpdv6%VxYGHY=%mar^wC*K4V=sI;C~ zyBon~6Ne|7jz+^Vm72*xQ-_qa`f6_+?{v?rwupJ*()KGOzYZ&v-x^@1$B5`&%M={Q z1B~${PA!J7gLxp5LRMV$`4q~G9{iShhnN$t%GoUudrNQJ8F?4r^zp9R zH3ZE9m_`gVUw@e{Q)&!?lX78sA+&I6F!GrG%)+w#8d%5-m^cjpmMqoC#$ZMa}p?Y zkd){fB;>SLXUw7q^gWQ4144Jam-_Btat7XFILXL}xEqQMQj56>V7Db3-jsJKt=p3J zZOAH{sjAvyxu&3KYVf^&QuX+D-(JU16XGr?HUOXpIDsC|jH7W0Ht!gjEr6G{`zLE0 z)d@c$ckJ-jNsycOFTnox2Jn;EuQQgOI0IpozcQ$fA(QS)rsrr=4$mR7(Km*L_!C-kXG{o{K zPkc!gg(3jbe`gAut{fZ$D1r+N3&$R`r=NEM3!NXJwadki>1;dzki8uED$tPFfJYj{RJxG1{2$n@qJ(3OE#pkH3kZG{mK5r4D8 zr6YrI^j>%VK@%9k^kB7XF|;XwqvW1t?883aj+vsJ%fC234Y8ap>oNiFeaGUJ z9SB<%2Y@Y)%y>7pYRe>yV}~G*%;P_`7ZS9azpNs_(yLH5qx z-~0VOho|THd_KS5KhJR9=en=!b-iA%>$;s&Ubp0>D9MkK0{|$cZ%8Tvup9m-aorwb z_^(SWGDHA)4@*m4R<{0kDv(OzLPny#8vLFaCik0JtXsDmn37%Z?RRfMx8{ zXkTa=OtIv&x{71LGwSl;i=UZ4lsL0v)EWxA?~!4mY;TgyP$$_$-Iw!#&uMl(62|Z* zc2pK@g_yyjTx3;y;epS2y%emu#dO7w01$B*&1>t5Q%2QU1Nffa*GXdC*wUbs5@!(r zFzF(3B+I@@-5lzTtiZ`*Hq}#~p$m;zgY#M! z0N74pSQx8Hp+aWdRj~YkfduQ>X$2&b9&(It>K8zgd}m9ZP7-7K>Q^8~Hq$tDwTHyK zg9z9upn31}q~6N)5rcK8D(1v9&u?}iIEtqyt{jHnmB!t(pW6S7`CfQn7A%YIc23}V*e`6d zbc+>n`Uyz&256qpYKu%(r`3TeSwJt+QKbQS`390g2`me8=5%^QZ*uZJMi>`}`sx&-kvjDBAlC6-2Rh~b^)ck&ns2>6UfdbxOI7?cChZam8bwqhP~m=qA> zK0CC^aR5;*s0LhmzeEU4LAtCT4Zyv`pYgQxrER70!q~hx)REN1I1=1d6%lo3$b05r z1|*mRkO)q350@b5P*YI|_Uo`6U{k$0S8;1>t1UT(vGwtZeKB(s#T3vNHKjhXQ?gw; z7uwnSNh`pbYS$INUJ~!!z~U&1z>LXbrOz*2?yOnq69M^?2;9UjY&=}8{q9gz%$7IF zu+z||#>|Cx0bB{R1>h$HQ_54B+!QUuTHAlY$c{^;KoMh4l)#@~-k4Y%Sli%-&T2u2 zKj1w~j=9y(+;xLo0eWB8H3XlEa>^kRwkkPN05-Lu|B{Ga&Rn&MA_DKY)SXqKW7$2+ z|LGLq@?OgrU<{>Io8P5j;=L%UJw^=+6zCX)vRo2HmB5S(1VdE4d5RY?L4f^?pnedd z)d)G*8VKcV_ZI1?-P`Hm&XZ(d+3Ws-dQSXRoJzmT-0Ui+Z7qZtec@cdZp#A2oE|hjg>Ge%u-@UuY%Lo%{&11$*M*{x8Bt=Y$6PL#@4*1hkG=r zL6;^{nXR{Dt=P$`K{9~RfX&mr4prxhWH*iE6M}dI2y~zfAqF@ql*zi#R6&^o<@~u3 z2y*@bbE+AajXy9ea(Wwxevvlm#)4`HWRcxl=s92xnuCyc4|!!6GH|p{!iEvav#C3W zQ2^XnK(ira=~Egnf6P`3MVS#q0X0*icp5h%*TmNAQKY*75dRKOFj*vUj!KH&rWYfVZ5)+~T*rh|v zrV_R>>qanJf_?4=OAE!suUJ9X(_-p@d&GL0=~n~yF)wD9I|-afO_*xf4Gz}C1wV)~paDFobOn#73~BWD4&OH+23Sj2 z3swi;ckQoMaH^({0-S47N9F2fC|pcjzO=lUTML6n)GQsGbblC5j15(9vDkYy!D4T* z>Y6|X9H|+IfN=2v4-AL^?rdU5BPG`ShH4Z$9WZGBVR7wjw#Bt#D@tC?-~%s``O7VC zL&?r~Y8Mnc#B%{$oWlVH4&Vp50GOMS1=Vf%pby_dD{z$#x=e~u%d+Sr`9@zxHuAPB z{xM93%+We!K={eW$Lq{J?Rzh@(IwoWet#*kzh-f-O+Ys@57u;GH_6veI+qmmuulQW zi|QYMlEy-Yp60B@P=q^YD^6RjT};e2)=Y*)dc*b9ewI4!*%ho_lbAw;Cc6m=zUsj1|+gA{Qd>PI6rV6^rKCKLG7jlJQ^cm?7JOGz_ zg}z!-bnG|)XXv~S+U<8Q0GMzJJs*!|sxxHMCo)dWzV-1|>?X#F9U3DBQ*3FA`8XIH z+zHBO9C)dm2P`;r5-C7_R6cGXZ0k^y7JO-!&GDIAKDNwumkfMuS>REA->=X&Gl4xJ zpY0wH1LEFI+n1%QQ|VhP;X26_M1Jm+dqmF-43aU2hU)JDf(v=(o8uCjlga%971S(W z={6^WT{ox3qdm7)s;6tmeqw_@En~bT@m-Y5 zx|h!SDDT#$%7L=2jlR6GMF31+yYnT9fc^ZIvp)rZ!CYxAi#To6+;7))Tan1JxyEFc z)WSZc0k($bo=t|ToFZwWDN!-+nH{m5J5{EO) z&Ikdovs8f1fJgfX1(reOK~13RaBy??>nDwQV}>NEUd5!i-TKFY-Irfyk6^}?;pKHywAW2pEAL5zaNdE@O^#m-(Xt9b&Dy0kEVP!mn4z9`)q8YayKPn&m zXhx*_ncSKPc+-A08tT7IM?@QU+Vb7H^He*d4QK0G%qj<<$O6AD=eySf)3! zfa2pL4n70=&D4MM<=9caQVEjI-&lnX@{q?JyD{vQsGLnAx&~aGxbXFKEdIu6o&*vb>;AZw_Emshj^ z_WEo zI&BbdY3EWc&b=40U&@s&>$2FvPSnq(z)Tv|?@I9PSE0nY z=d<@`-pYedAr1D}kMG%+vSf%tx>-y;o@@nFGpuGF`RtHuqPz6FKt2b5McdQs2$qlN z5U~a3URAce`ctkKb{AM!qEf(pLabyNmxj;$%nd^3Ze#~-iM#=J<46n{=6R_8CXSi# zg!1+illr^CEzYLhKr{h0)~BiXe6lpRIix$#KjX)B33{H}Y2>*y0>3XL;n6P5XjIqg z`-mrJvvtOU$IHoFz)th~KH_7BLm}5fl<-7QL%pbpTU%`>eZF`|2p~=%M8;l~(7E5u zk6PmKm{~KK645YYpWN9KQ$PZo42I}s><)d=Yy z*rqMq^d6wRo(Txm7w%KUpK&2!TXO(6iD<~~8XO`@dDx?b?!Jkv86#K2v+}kU85b6i zW!!;{14TS|wmsWTIO)L-P@l!CCxx)h*8tA?`*Y$93j<$i_h3BWn$?KjV$Ei0|H-TM z)Bfw$a0@;HoibEynLysM#2vllKSODUy#|eLydG~B_D0(Q-q6sih$z@r-)>($x6t)5TE&+HY6z5ulL(%@A+oTSdj^D@0wreH9*Uc zUuR30ui<-VPw1V2(oXMY0#Vq!32ZRKr%$Qfy3J!V?=KX(&8V_KPtC8h6}gEhVJLYN z2|;vSd^CZH8Z=F8A>;ro;a4i*k>>3v2DBcJ7(b8Ef*GFg$4D}Wkf~zCa2u5{sao<5 zRzL6u4e1Sq7>}zG6h2`^RjV*Yo2T+m)@}&n3+5f5`0+miHC+uVisx!Z8(0D_006*O_rgyFfJ@3AeV8FEr~Of?r2-OgUJ%z@|c zt_dquwYnX8w#Q#QLKau>TuE+eb_^Nz`kr7a zth}ePrl@nv8>VQRS4WLItcs1)jGkSuET~-W}Oj`NKl&OzCM=7u} zch=lCDFcH|r|VNVMIvPac0x$S7+qI$q1&dje_SyGT7PT&!PRfpx@&%l5Lr5 zE{@TZ0BdX!62OsN@iFOid06JvrZjb0e8y*d2`2(@VdOnD{jlwfFXAJ$e2Mb2FH}m6 z%sS5~3__%30&PgZ2u)(XM{gNE(kViuU_vBQA`U9>Zcpoe@Xk|tPDE{17GGRS2;qU0 zPN%MXQ!pbbbM9n=Pw$O0W5i}fR}Q|;VNA;DP6zym5@A< z=8lWr*r&u8>VP-wlceAdng2tV-i7vTd|OS@SmqY5#z)4yDBJ}E5Ad*qF3H%AfkFJs zstREjw0JuXYv6WH`Y3{&^b^RPG3omg zhn8M-H%M$P+DdE;ZAERJkep=1k*2Xkec#%c-ddl}D}6ZZl(m90o#+5qx4njkK#6>8 zN6p0?v_?$$XO~}{)R8t+K=(2V^=<;xE9da(WyKoj(B%Fi5N=LIL+A|1pbuz>?FOKe zRWWrT?Jmj_1`d4tCM^l=tGzQTO@z57j6f2%4as#pfoH_F;TH_&t#ne%<^sA(&&$Zc z(lN!<0W3ZuRx5uyw@cLs^Kv;+=Gpn3f8ddzMbhOh!7^tPe^-PIyuXgeH46&P`9p9E zDgvUZ8iL@oKaF@3f$(FD>L6dx|Dk#X{(<%rc$G}NA&B6Rx5y!oagA&eULi`}utPE! zd#s1!PZJFzoE9HK?QTO1OrtCw5#jVCPgf_KAe7oVXCsFvgyZlIA*5cTylOk(FEc!Y zR#i%>dq7iSXwqY9mgpfF5m=NFDg-mSklmYgbNE2SnBAxZ3OqJ6-C@}wwY~Z6Ksf3QH$xlRj0=l;N zlq$Rx;IELrJlCfLCaj7dCDu1rB(5~o5ZP2O3^Xne^lte##72^U<^6s4NwC6q_)9CJ zHqVvDk6$Y!)j2L##qyZs9~{LA2vovUBYM$9Bi(BUc=JyZ9DxMbRUrbIVTYQX9o>o> zf8Y`v*X&EOI8rWEi#1-t-pkVSoTkU4G$olDI*vIOhFp|MhOIV^HoK(MG|mjmS`E;F&SJtnkPS! zXG^+#Yt=fBT=E7z*2Za-WDxJ^E>r-E?>VL$301mWjV8Kr!;Zo=X2W88nzxCduwb0g zHk$w^{_R9DTBr|~s6(>!t`&bY&S9ax6J@@IBg~*EYN!LeVFcqX8rbe=HbV-P|4Agn z9tpWH)wQRy6zkU(D|ZTYWJ8yP3=Sxa{xX*ofky?}*(}Vp%a#)n+k+eHi>w;D3NZXP zsmm-2TtdZ1Qp?_-d$kA9X}>pkV-nv z1KMu{Lj$@4s99U1b}9!WL;{@0jvZbgjF}j;x-hjHjd74z_xzTt2U>S%l{<>aoZ$i5 z<{};~-nl|JsQ1k5q1cKl*a?-3@2ai_J`}Y-Y8mCeGZd~xhc{}p5GzB(-ZBw2(eTMX zwkY~V-+|Bj0V&S~uUqHdxb6FR`FPu8?q$#>$*M9s)fCDVxz@X3Yir}MYJziq_;NL6 zRPEVT#qXkI27r@{NEKnXro>$Rvy?iK(bIGhSTMg520;E>dx5@U>pCSr@7OM2{=vLz zvHN`u5oV6>;`A6P5E3^W_m$Qn!LhA7bBUw~T2lc=?HDS68L-Tq3TZm;r#Eyh(!xM< z+E%2R(xZgC)7DLx3{chL56wUit#%8wuWU?66XKYnjT)TRXxA%Fv;??>qwtpjj6qq} z6|rgdMWV0Z@hn$*gC+|vL-9&AC%|1W1poe}b92%1LgDa{=QP3_9!FPmO?xTF7=aL5 z;9Qy+z+8Qd<^p&sdh;^N9F&Fu)?Z)@ej;`VO@7YQK)Y!#==mr3y(c}*l)z$FO$$?C z!S(OIWZzx4F7JE%%5INq?@y|6IhX)h9g@HvG=W!&@4mArK!EmZGO_eg?_flN$H-0( zjWgsPf-m#5*|c{))^%nZ=$V3>HH8I4K>ICPD-p)^9}upchk4qm-~(8P+TZ2?b`;JU zxznT&>7rBk`sfBsyU!+?036Lu6N-YaLx%BwN1Mm!6-sCQRnI~#>Z`T0%t&XZvtR-Q zI42~+)|vzqk)kMA-Z0SqBap;Jh4Egs>}uAT+ez;r(unP+l0ikBc_BK7LC?gB=>{DgLbV-^R)uID5NpUY_|! z?IjFQurufb%++YmaS8}oL=_-&iDxW#C`rbT%GPc_UbcX2Xh&~nkxqzu;=}jyBdyS% zIZe&I6P})ZSgRWV9X#7+0G=;G#|*!T?8ri=0g;6X9!KUANH28CWkp}@v?CZ1-ZC-1 z&I;rdFtfv?Wk>uGQTSd0+`%0}JKaTGr55ihcBDuf*U5QDj_-&z$^aGZOa=bzcRx|p z?#9^eP;FBg2_Z3r_HxG5{-~>Hby31qW*lQY_O1K2H*LPbGj1BsRZqM(<*y!)wc}Rn1~~--U@rSqu^f;#=n01Kknj$cduYVF97wxHdQpWAdnXJ_}Ye1hga5QVm`Ia zl(ZUDPMUZ>`?8l{@AN#Bz2CMSI6naj3zvj%Rt=}ZfL}Z`sUH%>x{9+=vLwtqtmeUM zQ_}~Z9!m@DR{C4PA@|IBk0m{>3!>7{k5%Rg^%}gEYd)&Y$8- z^K(MmvF@lDVkj)oQIRk3Kcqa|3Yo2mH@Pp(gU0K#0&~$+ME{U?*bpUPO%dyJKhNa9;N!Yh;-yhR^p8;)>Y~Z}*5V&YufacJ z0k+kH?L&OD0#61^1>e7g>w&MGicq_U9_nAjLI<~v0iEWUvL`6ISlhF6e`dBq<7ZDL zV!d}76>|>tCMmqXV9X8CApQINv8_9XN~VwI=`!xxmK@dl!+*{Ur*ciPsymOebk8%! zd$DxH=kB!8aJA^&OBon3h&8`HRde!o%%geVSF_*uI`v%+URL14mI(2^mVGkwYKHqL zS?(9N0Bw;%ssrZ&a4Y;GJB< zboH1}pFBy1cms7pXP-O~_(~CzDJ~@Z+m{67d9exi)c}wuSt^)3@LYrvkc^TwO`6tR z1WTcG*B>}rSp8rk17>99aAKKxxtOa~?6o}#KSiCikOCMlH!13$9i80+NF=v@xbWv) z-i{+NO12~luzHjghf12n`8rZ{t1BjD?-L+w)(xcq@Yc7qbJ3eW=a4s$gL7ti`b6R z5p`*6)4yH#QqO7&cV?l0k>?^Lz%+!AF-GJD@>~}um}2Mk`MHW4c`ZT(Olgs_F5D#K zjD2)`10zBVJpU>y{Mx}t3qydZt|P!`5iBk7-poT}H2bH1s}Lxx zG%a3)jY|VO}-Mq%zRBqq4uTvJOI~md?=y$?NI7SsLwUWK}y&^t)o9R1@E~Z zdczONcp)^f2)>nNvfcJr#tbAOpjs+QUzD_L5tvt)fYv4{|Pa{ilbQ4!l z=KU6$(%JOh0r_3PBpQLJKy))8BR1nLUv`YbH;H=w(p6XauK2m ziu@(Ha}`})Kv(XNE&P1Vo5NX;OHbqL&-52>xszb9U>o*sxAqS_6( z;*p%j)MajjQpTJC7`J(nsXgFWO3~r4sT;`C`^&@fuM%N}5fC%(xh~xK{Ybo!)?M$Y zxUd)?gDp7$E`1MB3^zOV{NTB2?>mh;MYB>}pMh=;n)z8y!`5fUbLug4{U_2NdywSw z#7xDd69Wv3ORjf%3nUZfjE}hk1M%Tqj zG$n+{64s3Q)!FNse#(W07UF5}G^)!a8vswK&*);T0qL(}do%7FYBw7lY!NClAsPQ^$q%2c`J zs7IEjQ}2N-xwQ!T_TNw*g)-_gHE{;V-5+ey98U(gw5-n%@RtV$TaEq4Dhpb!H1->C zYzeZ;=U*l1y0>jmM|gc|cnf4+xyzq_#AzLuW0LqdiJMjF_{o#D_rV=*M6{}Ly)=@6 z1*a6n5_3w%E>{fsQdwvalnL$^@fGx^eT@BV#;J1i;~|@p0I~eSiby5`K+PjdzXnGO zC8{6FwV!Wpe`}O^S;3p)qRj<>>xg9u;j$J<7GVTwl@urV)7o&SAEX5Z1SWob`Bn7~ zZ}0LQo3B&MOR@kf)7C`<-WzZ9bSXFXlcuISzR~v<>T_YiXk0?9CRwDHv1Ck#$imQ0 z&uXJOC_v*%r19k4hY>XkQs%a`nuv&X_JA-pFZq0aaLIDDcx+;ntW;of-7?C^J35hO zZzNrqnT0`wMd@KE;2bo{Kr{#WtX=?Zc~tSHh(^%rRIQ6jw+-~@jk}5lFJ7cGz=i?`ed3yzjbC+ApJnlCVEiNBKnj?`n&rydb9PRCr*gPpGSBhHUP zOs6dJ9!(iYiK4r{Ky5#;wN)CuoSgX6(&}p-aiYhD@;nZ`n26qCG zSyeT*#O@vt$odB{7xfP>7sU+u7|+inGlj1W61BmoOnO&gR5%6~sEzZw=DZC#BaM$k z`*87pm~{{){9A2$>T#(UID@xq48zz`W^%yWlbojKIbUk5)W%P5{1TWRmVP*9`1trA zZEewv(yZ=F0qZw0YbZtFG&(lmetY9;2Y22n?VQwqvfglAH~e(`qs1RH4XZA-Gb-X! zKT?p1y-5!&_z}r=)eZ2HH~P%EL|ET%%+31nXDT9H;~cM?bF+q#q-hbmMrJRmK*P2!JOgzX!|C~ZagunYEj_pfhQc5p9^ zQHEujTSFzOUo<>*W&Ag+H7sg7PB6 zirnqVU%dSEzDIA2w6%kL8oczoE`v*U+cm}c8U1{*qJLeco$u`d6XC{dq4xe`=`Mfx zyL$H$Vw>1C&@IlJCo8VJR)55!SaV%(Rq0LS%2CoX|09%=)}~W_yKe>KB_}XhLR&aT-W;8U;Ctes_=Y$ zl+*f>*(wDYZ1yK6*zCNQ=v3tEgX3VK7AhfJ{EuyY?O=8ytyoapD;1>+zoI6NOKu+| zP`ofBH|0kL)NVtA#63~yIViJN#j3A}A-rJZ`;)te#v2uHcFv?|^>*nBor`(8?pwTR zPMX2EJ>Y!sdeh_&va5TS+nt#c=3)}|uwCu^gA+PGf)t}Am2$>Q;1RjzWPmpYncstP zVnQZgbJ|9t)7 zvpSruG4+Icvuv%DPtCEzwTf9opeM8NXjtau#+LAdC&QB9r*Hg76D+*)SPaz~AImWW zHPW6*w*JVkCSum^V%;q+O7Hv22&cv9$fUCmH$?Cv=U-J}YD4lw7H0_!F*via9He+n zFIn1~TjWvwQ#rqnGPdUk;3IzA@4_u+ausvSiTK$P?kCIP)-CB)`7HSOC z4n26-dEu*kVO{83foglR(eUX_-R53OV21YJ`@U9ogXHkTv#r{R4X>--rBvN(_$skQ zmfq?GMe!?PP0=@!5<__mU5RfZlBkA8)#@Y6Q8YJh_&_UHUG`@*iJGH%dtgQE`zVj0!scW-5_h z^H&dLQ*$-7QWx$UhVeucmu6{kbf6rzwVH@4p~YI?K(7Yn?B}A&ofxMMS(Fl-_k2vv z-ir8vIqx*MM%7s+_LG#GtR%`sD*Q^Y2R)w_rzoV)%EQYkF170uc_K%Wv9WWDgx@7d4?z%yfM11#?aZwj1;R^#V zDK%tN;?vHD3$LU`OK3c4i1&`7kke2diqmgYVWJ1$HhYo|AdxU#~A%m1MI-~E|z^#1_Cp?84I6Y#l7=)xdhGerN|Gb zJ5zfs*8a`gaPiEKO^0nGN3}SgpM3DyOvc_UOSE(s=t9B^dDNu;;x#Uq_ZKLB*tsw< zZQAPO26qswt;GZ>)zh`-$hv4tBYvjq4ME~4kAfX7WE01la)#n+=F<*+4an3K{1|ZW zLKF`%_WCE}k{~Kvdag8sj;4%}BfjTzS=&oevM-QuI(>A*c6k8e6 zApH{+M`q744}HPShZeHE!By6_cocjjeiTGU+9MrXL zXU>ErG zp6ad`@`+0f+_VX=LIi|nbU#VDHGWggKQb8?&(>3%Ik7tYB=Mz3!&T{8b1H#DobMcJ zJ~fH5ts4sOmsV{HSla8P@WfF?Fc;%EbA9!XhMJCjGP5W>=fbdg2`M{UG=s4fIKJxB zqUqczp6}5A<=*4YVL@KsE0vSR+8tx89^${C$$bzY;t-h^|3Z3L}!|LWd@A9{KsZS+e z#nc7GUJVNt`)v{VpuXpJW2p1_z_Y@8x({!CTD%i*IQO?Rac^LkcJnLlAEdt7B{ts~ zv?KzeZrOjjOKYNa(y*V2{vQN^gPaccUyw3?=4s?{Qk~WO;PShSt15yca+-!Lje_sYX<2F{ zRu;CR7zR$AZ+IBn#G=C#bAqOR_baMPl6ewIF148`{kRk%ps8 zPd&{B-jnRV&5?SUBR^1xe9|N=I8r2KN^4=X#(Ar^AnT$7iGW5Wicak237hMG>tl?v8q zk$Qxk?w_{Se5SYl2x^RAn96S($u{6ARg<|#20>Tg(E2&-Np(Hh9*!BY%1M>(wky0b zF}6-U2*Od}R`8WRXx0X1CDGqeMb%SBFV(pJeu?k<4O8#xLt8#hRxxlh_i)_Z!x2NLr zEquE@jX3e<@Eq+kaS_q+XNY8*ZifZu)^Q>klsv`Di|h+Ldyi!H8$2_^)@Ejnmb#8Y73g%Wn&L&T5erdpXAt(3|?C!>~4ZIlfKs z-yZRLfTn)`DSi3+Bc3B)D;o_BQ$LYS)21p?_tbRG$u6|7ueWJ$%=ZY9*Uw&SD0vIKbRk^WljA1H*@C4!{$Uu-{pnbpweDUHml%9~5(@G`oE(rkz>hDV|SzWqy~ zH{x1uOr;)_`8Am%HBDA8d@rr}=wvubXMPRJ*jDc+ckLHOB(_^KWA>9q?(%YyCWz&C zcna`7`k-V5+vG$79Ue;8<^?o>14dD^6gIYalnKgi=#;WidfV&7|jv_m5gQgb=GdR$-fch59l+{kvBancu}hq79Gm z_Je`Nox_fjHWV>C7>^pE_~*X*v-)L%fx=iM^;M%gHcUkp+^ci*y@ zDb_m3dIm*Ll7$WGyp3%}40;AB#A3XROc4AZDf|y%=o*~6E_E#W%cS@qT$9q$l8ots|YVLBATHGlsfX-vX-j2O13nL%m9BG*g#Ph$U- zMtU{_QucMuzw|Nr$9UDOKCPxGl2?_?T%1|6530=#5rH`^JDy(ks`v4)r0 ztAwQH*nh1B6kA8e}WbEK*Nv8gKp zB~B!**$gh%X>Ly=Z>GEw7Cf>Cf@4G>0l8?xiyF?2hvp^U|Fu`uRbgH!NIG6UV)?S> zk|dq{J8=<{S7LT~MrwvG+S%XF)E0&E)=1d6r)XRtk|4vi8(3?pvpbf-bGMy)r_Z-d9h0 z%eAAPTuh8G`s*5svfbtDA(#J9&cjWlE`0e6I&UAR?i8-+a9Pt zX4m?S+h+Yt#BORL-ZTSt~(gYKU<1 z)}_2guKx=G9OVsB#?iR}sTw2eneqy^X1s8ovU-giMf6?Bu|4)q^oX$>)4qy-4O^4O zGBaO`b>`6zP;(=e1kGKRT29%X1bxTgw63mBKqi=Znnb<$CkfiMz;?~8zc!ZYA%iY~ zmF10x>EbcNlNK!PlG)Kd7q1x}i>BaEh>9$Bbt=)wPUbfs_HO17DIGd^NQhH zD3U%MYA5`F%Ds>s!Mz{)z11s3UgzH^j_g?qL}uJeWX74l_h3wG>|=+>>YkJ&OYN*Z zT}i$YMTM@%;c^rAMJAU2P@0DIt;}Cs!sWM*Dw&Rx=p8NV z9EbHk^pS7y^Geu=!1O-a?=bz)VFk0b=O{9#{u?JW<}jQs_!}VQ$HjHyu%VOawWp(_ zZh5SnO9P_1prvW3E}4B6(zIZ}qjasWqE?ICNdbWsZZ}pOjINmZ5{VeEMZa@Hha#VP z@bn1{(*JQ$m>m1nxpL2XW@zBcV6r2-?-i?Ea1k0DNTy4lNVeaMb&P>GQW{Ce z4 zlYxP)5I5#05!LnK$2#o)V@e(qeK$-#b}ZG7NY(r(5x&c0?CjE9QgBzy#ok9=Mv@M1 z<~-Ri)m6NmIwKwftt{5@d6pg9N!mot}zufyNwg!OW5k1YEE41Trlke8!jop`5 z?yCrPN_4){7VWi8I5EL{GjnOZo$c<;;(DTr^oL_|AmY_A`R4Gppq0*H*OjOZI{Vv- z=J%Fod23&NzoluQpk$Fj`<- z$iZvfcsN<^lcNKrQ|kxc_iQ&aC79%*-HQ~8>(742pOk$}o@`WKBkpJITy$*DuEFKu z!RrH^I|mfTlN$CoU5`8j9E9O_mob9RrP-%T#&40e2j1*?HRCOv9pVr(@XCB-OZoi5 zIUujRKYmQkv`Ts6HQmVt_EQyPK!`XJLQ(YeEc^5K@|SsUo`W?jO(e?lNR4b-9_0S* zJod_0tYmhz2Ik`oB3|S38S>cN3|_jV{iZ2gXl$9zjlZRzfzm=XWWVg#K2Yb){9R>j zPN~4GW2#cN+p7Gb(!@J$1_aDgdjm}ma>w;}+L5Tp74O9a?*EqPK+}0{Y4g$2l^@;# z4m9@}giHjF_O{p-uulscMhW$bo!>@q0DdzRh#$Lo&i;0MTQAZO|9(=^A9^EA;ov$|>QWo(PqPAM5pC>1nRqiWlP63s_0J8riSk)|ge~U9mQ~=i2~7 z`t(*(oc2EO^uJICKP8kU1fjKa!v-(deq{@!vwpdBPocJdR$IH1qhvhd+wu$fVg`&p zMZa>f*Q3xsileXT26+`qoVPCL2c7V9J$u(FhNy;;=AJbCmYzd>S^h&;7r9osPBHt$ z@U%ORUUnK?ahccw5Ri1a$R-ftCYXDo+Lh|4NmQPEPR8d^PGyyJG#LrUl@~h zTBp=WeCnRB@aD>jpyxKFRp!CnM(W;Dj0Q}V>gERucO@0wETV2$a30MranPf zyHbUVYD7h)lCCpNt!kr>rSj@e$?( z^9T|cqUX}rnflZwM%6`oN{4x!TQ7ReQf|!rFHzE;)*P|k1+hb#pi56cpJQ?U%yj?k z=7z**K-B@|@4budQM0SJ6UI)M?!^f`6H+n1rxAD0qv+Jqa&z9aM2X9alV=X2EBvc% zIG!oNzwnIyX2|_N(bd>@@5%>?ix!ttr-jED=ygf2N?`ASJ-Z$!^?b{{Sx#ktdupjH zT}Rw?ZBu_H$H~fRfl|}2;BeCcfTO(WdD5B`j9jB07+aY8{5Ma(ny;i;uDiYw6RRq; zD^fE*%-$~TqtjeAPb5_E7eSP3XC~MDV07wpHU1T)cK-)u{}O%b>vBZ%TgG=;UBuO! zs~2l?<7enf#u+DjQ98L`U+4uyep^-%!`%WE|LsTmm;WzsL6m``>|dxNcia;=v1g0i z(IF_sMklvE5<<-Ht zzSU%NoI{t9lSc1oSkZWdbHCG46Yf`dZ9*XNB|q3hj3D3lgcA{Ye3iegJ!?=Vu?Ux< zeLUvzfyF@)9KIZpB>0J2>C;v1Hy-ci$AfEOY#~X*izTb1X_OU$M{!+ztU*mjpz_6h zl2w1)>(1^D3@#Xb*&Np<=DswiWtgA}*H22vyYtPO|%{tauz7L@tcds$ddyx#1*mrcso6{sD}uCb9v>#AG2K@vs-89 zU6WRq2T0ac|Kq0~+>!ia@GrC?{mWDzU;N4j(<$xE#4B96ukiPiT>-O>-^cS}k`foe zvEBcu{NyC_w#wO$un6gMm(&A8_rKXTwvD9T5OZ{(^;>F6 z+~T^KdBShY5i!?%#lIkI3SUl#EqB`Zv+`r046p6V!kTuD8e4^bsT&;C3n;=R4GEZL<}KS9g5Pg0@}&rO@VPQkVmc#nWd(OtF5CLQhN7B9mx( zVRDVyehbnWGf-CA{eO`8uh#r8E5z3fr&fPk=y%N1iCIo}Lhifyq$edM3KG$s^i*14 z&wX&(2Az6u2FlF4jUxD4N?c;5t>k*FYs4Ryh`qJlp(8rQj%k;sSTO1Zd_quBV7kvz zGM?Zkaf#|`e9taTU;Ivz*v85$GbVS-m)f;{b6T*#Y_^hA$QoS^l+Jq5{t;ie-gJ3! zxX`!ALps;iV=7N8YU4;cOK?(L4_U;gf5q6BLA3HjWL%H|U@@ri2l9E*Dw(tKs(VPY z^NvZb&1p$}D&req5ME%%Y5rv|$n;&GB>f#OSJIzAqs3lB4~M`q{aZn-Qn}0ouh~Ad7^*gG zk|ugz@%)aWA;4(Q^QGNo_5PQI9g>SKZ(`WkFh`cH&!v2oheY=AyQn~B*IfD+vrkoc zEES@&H76~<`%w2klNBNQC4HFd`GxD|n-4U_*I{O+u}{flU18X8XqI&A#9%X z-}#a)QkmH+&Rg*LejpxOUIHZ=%3BTRY3-lhe>UV7$QSHPkT)j;_MC5x*%|FMw*#dE zeH({27h(gOrdFv1>hp9tE9vCTr|-+zA2i4Ux_sfixp32Wi23lPK;1*tqC4DUR(cQ*!W$mL{`dMdPpDzmML-% z)C(Ukq{$-RR&(u-1V(TYVOf1)2fD`&T~Am@O;1~(VfeGq4+6;w!C59%0ZVs5FT|AP zRyfXX#1;<(iDm2Knol4qHNREewKz}kEgo3fn-mMaU+DQiZIjNGZzOwdVK~XD%(_U# zUF$1P=#@Q0U1w!3tOsHO0mS&E&|05?h5i}l3;}dv?Cbvw_5a~=^Uy2OfL}y>XJJW8 zUDuZY#PLG^hg+;Cu<#;DhXyYF4lEJL ziOUDBVUTZ~--U|D!p8b&(pa=Th;Y6-Kawh3}hpdah>}65Q(smID zdiHlEQfa&4a>Vd804>!E9P4_rJqn}9GS6RurdU3~;HX`R-CkngbTEh1$pJF)6E z&2^A{`?EFvh{Cga!+xlu-`=+y!Z7_ksEsl|t2JvQK|Dix zG+Cu%)baAC3+`jnBIFg;~!3iAt{wG>_ME`--xF@1sxBJ%w(0>7T zF?a(xs$8I^`Gc*yajb~~2_Uxr7&jVDoQ}ODO$uW7y-^(ojivAkCo@ zf0rRVaA^kvk5s>Cre8_1Mv&1-zx94=bC~d9o&K5it`Emm5|tqTYfSN57q!vz{hIUa zSSuu{y3u>#<>ATFdQEb*-QXv<>xCn#5PkPQu>hCZf%Nri$&Px=xn5XA=G%eB-uB43 z!gm}LT7El$e!c#2~$>*SV z1{w}U*UsLIxwWLL3SkI!Y2X`_&tE790fNwU-TiN$Ya0IB=g%KYqL&!s!7oG&|2=E_ z*}{w;d$BG)CIrSB{>*e?p?_?IihA0A$8B}ndTaU5Wc-&F|8J(sA$ z$0d>$Dt9MdQm@7EFzVQ`{^;=_yQ;=>F%!Pz*_9gyDs_*dCcGZ;R_3H=gC@QgA9RMU zS|i4q;jZf`#LH5wn{0y5=Xiwx6oIW_B1*0}>GkOsBkjUUT?$`>>-~ATL9w)2kZu+R zZM)STiD_*u^73)~mM`~$Yc?%SdUY@wjHtxmQwgl>NC~Z2VxS7b zrs1yZUT#$2C~b?r;%)Bh5u3qU27j)VG~b~GO3an1#R>+9qwbxT6LVLL(Q;0g`5TJ$EVK%umxT`W+;4chiw47WF*#HaiUq+bFt(C>!tC{6DoDs%cx2LOz-C3iGx4YU{))UtO-rTizdXO=SA9 z?J<)2g<`hgYl|nxzjaqA$lNgA)x@;a-X4K=)dcfhZr(9YFk8*t78A>Ll&4N#zfnH? z^1h()Oe5biZSPh!GX~#q$9bKA z9T)Ei&bKbU1D~u?tR=aVWhL9FU1@;*tsHw0QpN4|n3FO&S;>dPW5eAX8kc{XA+YBj zJ0O)#g*B%i+HiXOODWA%LE!W0GlkAO+lBK!{nPyTz4xB*s>1+ml=?dWV>U8r`SD48 zkO1t@{9W_eg)cnwzyJG!jBFP=qOXb{CFQ+r z9K2%iE+x5sCCF{Uj|Q`;e#swMF#bukoagiXUVIAPy zds!-_DU(1+Fgsm9`D*0D*-*UQL#^NzOH=j(Z*uNe+_B<+c|tdiX@id3ex})T<{^K8 z&-DQ3O=yz;hySH?d2dJ`&TI|FrIg zftaHC6N@7pc)%$N;A}ChTN-$umy@zwt%w zRFrH%(E+ZKakhr6T|t*j59Xv8_nqB(FmS4-xW=iNd0SAiNX14u%eLyH{xP9=m#L&xV@(Kf}(8p$U`pOGi?POc+1$;+U zYACMN>DtpY%e_-Lp$|x~Nh$a+nhP7nfF?@x52Ezz&oo>fYpL3%LDBuWPjOCdXMXos z-do_I1?K+%1Rp^~&=mpv7IIOZeuF4&rh=+*UHp^bU58zL$d6(_@>2K=qLYGd3vQGvA^?0;SOnX2ZQ3|OE?9O@YFM&C*zY= zJhb&!DU&9+)h8!HRbGtbFFJUe+Ng942!d_7%WCBZxA!nyiBG&bx7_*Zvg;AiVO`xz z)VgC}jAR5KDTXxxd1VBbVESSm*t0K~j~iy9N-R6(X2($?L4>3zxBJUe$}*_=&PSlM zwHdw`u|_zG*Uf{%pR-o}eY{(*40zNfu+o}}{dDs5a(B*zm$6<4Wz0~&x7C^9J72P^ zr>@75ruHtn>VeKMql1VfW8d5&V4d9S9U;KwRzC1iO}YE6v1~w-FmZpU!cGlF!c zZQ;_$qu`@Y>bEo|q{mu>w>V9kN%mF~FI2}gCO2DrzZ!BaAnB=M)Ac;o;xKD6q_Ga!X%aX^cl>cgEbJitH3xB6d$O%n zFe^#_pK9w`0VO?_M@2sXtyn2B5=>Z1yeZ}*{e;b~D6L@WJPeKZk+w?*HJwiYe|ySF zpQz(a0)2w$OITQj1w@L6@%FVVSrPp=lx1ClLv><*$dK&0q4|(`2DDT8a}RNvc|MqWsdF^$Phr=Xd=5GjfjcSjGkbu0`6;8!uHxCuOGBRt zI^1}DN@o^z_>qt!@BIv>! zQ+d*`n64Pz)sqkc%~*SEcCs6Hp8FG(E|Ae*4WR0svvxJ#T@Udc0GbDkDCE2rC0kal zs+)7{RPt_(Ewnfh`5n%2_xoP=G&L%zGnK82Lg-SjjCa@2!Aj8T?E0NA#3WTW{kJA% z*(jZmXQh;8?NM+W0hWN_{JTxzw#NXV)~<)3axEBc=YPPeUnd3f^xu#}poHKx3Zg;D z4Y{VR3VH65evl>zep$B}exe_ZUi?wA5v1MX4?_Wo=^haZ4dPDqt2hbz7WQXy#VQDz zf!11qFwP}A#l_tyZpf3~58&|lort3ApDgr`qPQ{pLD|HEYyFN0J#FNcQH8I3;Rc8A zq}%nqbXa$3nAH4M7Q^EZR=Bs>TYeLW69NqOVY;dp20OXoL1d>qtm-@~`B!HP9w~Y* ztle`P2KNh9Ni1-qu;a)Wpevx|O!nV93a;}!0dqsehey8OMWrt&QU}Z@1RzoN4aP}Y zz5z_?l^uicfqA~I#^j-+^y@S~@CGzqc$|<_yNxnjvmn_Rh}?o@`Yl=Cc2`9JCx2cK zQtl~!^vpDP5|{#E4A=Bs5aknqug=S& zMgC|Lw_7d1Meb$kBVUTV@vRukmO$&JW@21#pJIE2SQTY>ra0FrsKhByRz7*Vy^wrOzBVMmrySz|M5e2TRg(>6H7p!{UuFfR|@C@@>s5H;1HiL~b&~$FO82vycX7GEu36(6|zuK(TPtN|J2}snT`SP`i zhh=%H8xG;4sXQQsNoc%k6~s*6^Uw!UdcLrX^E9{)sbt>a1h%F zKq^)_((Ze+fn)q2$5bgz&`WB5m(o8WNl18BSC~m1m!z6)U-j_0IYv~ZOvNlvr{&QH zgPd)v-Qv;;5(e853ZPa27t8RBDnQ3T7GtR#y4wU@G&T_{5WduXs6Zd~`heG)foq4^ z9ehpoqWismNTMkrVzCxH`HQ1v&+77CYBiqSUTkkuHy2f$W~ZXk+jROEz{thw0km?D zTC-2RrVTiP2_6n~s#?!pT)b8^GbfoQI2i-uu|h{*aXvW2SN={MuVhT!9K$3g5}D{U zs}F-X*JDO8VX6+uaat_(5J1c%qFz&K3EH`3NZE|8C5d%*CrbN+wTZza?^Y1y8}*~I z*K}I~1ItnjU16+&r}d}dGw|k_F9`z|=|YZq@IAlic4Rr*N7YlJlABXaD;x8~LC@I} zoW}|NkW~O_fvk=)MUgcdua2g<1&*pJv>YqmXHek5 zx2np}sUNLXo1jUPD+yylJ|vGbPpT8LIIyy!k%S-eFY^n35vE_a6cZJ$PntnEevWq< ztb?0I^Y4lP;g~=cL^f1@JC74|a3YYqF|Y98PEU!Zu?+8}l(GX+*XC+J#Xd*pK5sUv zTUt@=X)j2yW_ZZ&qHCv8r{0Zn3>q$nZr=TQHGDp*m2ANHU7F3gGB6%J(;D-=+ll;q zNYpUT8i8Rg25!CW3;?|;3Gw1rk<`g6(7 zWLGJ^j^eZyVieNUEhpq!)>05eemDn~0QQE$NsO0rzw>g_$-NIbU0J}e;vG{ST|L_( zvicjKr_W#vlLd3jBrAa9;H^^#daInfuK6J?dPlE;2;yb{Ag=V#L%;luM^@KUOuII)#p^p<%1rv_*nEL=jjoy65i#B=i%m$L7tnM zg&)RTNP#-p0gf?Q!nRM1tmTSckF6FMGGt|mjqhk6XB|}MZi_iRO`m^2YS+E@vskH* zGW-H@Lr(ec4jI#Py!|NAQ%)+0Fn90r_ZKpg+T*{K=X5;hmiP3QmI#D~IYqN;_PJ^P zBeC~SEsK7v#w4U3)b~&{Z!q69K$4KinMV=y6y?pXUJ6ujPbc#$Bp=~ly3s$q)S&yC zf4UnXJjX8iXlm46yspNxp)t0Pc+0amCy6eXt3yY~Bn1jl%4LNLO%;M?BW+@6v2$R- z>y(cB3pahvp2+H(48Dh0r5u?eQpaivWN-37eA?n!f=~n2m;o|5Cv<%$&3)qFtV4K- z1}TtVRlnPddQte+bV^7#Lg5>@&)f_=FSbKKSN1)L2y(DT&|^)&4Kf9ffAcoB>lRpS zp&XeUHhtIZ7sJ-FHGC8HjIy-^P6T7XgrmXCzgG=$um?8T{7PEj|%*;#?|~7bB=&gqZG)*>i+%lCl|!WdQ_c;vr&6_ zqbNIO!l7MpzyucC6z{r6MG}v0WwtqeW|hB~M@V|?wUAv>JomNBsenc*#bk6ZN0uLS zU&4q%PI+!hP&TswYedx;Xo2LcdBP1#sS`D1@$9S={Q~*)r=*^W$y=Vb2pa6}v@jey z=JZ%5-7X3D$DG0(ZePI_o4^&4AJs@vcgN+rW>2lYy}K51W(Z;pEnszdpqv25BFq*| zx3U9D85*2D7)~0)e|8XVnOf3k_%7fnd5Fj=|MJ+)&hI+!kXpz1V@L8ENwh9A$_Xg? zfo;ctXM~-()00q45%1B^3JWAm7@VDmY}L!DO2=92CB@KxyKflNh>+A`Xt{4!Zo&_V zCzu4*nq`6w?gJZ?^D4*Nk{0R~WFp6-hg7T^@esw33`tqj2 z@d74B2>S+PU$=6QPN3XXBfB>e0bf>24z6ZFyL~84C8gBQY(&fGW9e;YJgCoPA{4h! z%k4XMxvFT(meqt*8%NJDP^Nn%c`!A?9QqoB?HFl0MEvE#18z_DnlQX+{>Vz#Ob4|r zF9Y|Ds-4Ko$ytCy#Wjyxo_hWL8D9wV?#PWOI*V*2N3jG~KII?u1usbMBaa+Q(z0Esu#<{^2 zZ?}mzGb+@;vU@dFK*W)&RH+>Z=qr{f@p-iQs!Vt*l zI*!KVT+ksNkp$E>$8$pYWI7{V1rg`ujtX+4b5+xbTWIJ+Gu_rZ==m9{?~Chs7P}#+ zTgZsv$_eqaB7>P1V>U^0maewwPz!*Vl&oHwFDd!_WwE0LUFJR7@XVe34NX}k+67DA zL=Y}RpPcqe<3VC<8eUxT<$d3XiwQQ-r*B{9U*$2RM;tbOqpqJp;-iz>v$1_E%V-p4 z=#`3y%Evn7JM~6+&%UazH#8NuwV%J}{ci2CZKa?3UDBdL9j{(M?k&vs6^DdXi$1Cd znK01I*BLX&nV38)ReLjkQPBB|7r9uIW?;*Col5Vwi=~X{9|W|c`^~N}4ULt?UI4XRjWsbyCTd?VNN1)iG5OJwts zA>VJK^&~b%8mk&Sx?Mxicisc6*{z(#S*X+J*5yuP6!{8?Pds>(A-t?>@%=kZPcKI^tz^y2 za5}8Ij<`w!iph!(cA0nQp?0JydAL`GSPIA>Iy>7V@!-grmU6THWF#Kg$yvW3NU4AK zF-0$~*D`-%RC7OxS=BH6eto%9gSRvkEz!{i+|Oc%7!Xnyn+y&z4xwP^&3lr~3%<1PH+L_6ya9RYu0<{zE%1u{pEF} z0h_ExTg7RkNn3ShNt^~aias?Azyqg*;Q`zreA@a=NN#CGDEESCI*@5bhW+KP&vB7m zbJNdT(m??*y@G;U#y)l%zG21QwUn z`g3j;&+j}8=v14?tX zY2{qZt6gsNt>=iKPxW+H_tlRTkp^1A^uii~>ij+U&@_@Y1bsRLjB|Zrbj2Q#@LV|| zAH0l~Lz21IgjpCD30bl1)h;U3q}dKW!~Vo*M&DV2c(2s&@;GNUsE0EE$L@|M68K_ z>=QQ}4Qq3oVT0=8PA}5z8Cx)SbWbDjgf#c)jd^cd;VyY$UVh3Y|H#w!WeSZ|9Dwze z7}|!9pxDSYu>8gqqzGP1&jb7{cW|#X4`8t^(4@xya3}6` zwA}sffQ`LS8i`DYkLbK)5NJ-G)4Tv#)a2xQH7REnaB; zOwq?8P-ZZAc)OZ&bdAAZiZt6<9nXPRvIuoFIkoi1yh=RSq*@=uX_1(YvafACg%2QI z2XhTrD!Uv99`-Bvar=8^rJB&_+fy`h?Ek}B$?J~EZmv6_Nl#wkh-_e943w_$c~W(z zU`5zQb%gFG5b-BWZ&Hg=T(WS^%#gE&kcsNa@=XNjN=DaoB3z3wvPacX1wC^Tphm12 zV(=OU*61*ma3yvwTxaf(DbAVgk$v0%iz1jF)o- z-~w<*gFaNzLHjF=guxf1nxawA_BBGtQ)(}MwF%?%kHmV*R1zF%dE+fIT*$|3tGdDcB)j(n?I$s-`J;_5 ze41#_h{czkvgepQJl%-c`Si%XRqyyEUmN3r&SAS(e*DcrC|W3DcgLAm&6TKaA5Z48 z&Qy%*B)Pq3gzj}q%;Pg6&SaZ3=y`jz@~corMp{T3dAWVE(7C$~mk=~_+cN2ni##bK zdh9nUEcfKxx*5{d-PG^y>QVW_iL^?Harf*Itt=nWvXt!!xBgn|JqJli?=5n;6hq6& z1ujh+#|!bZLUQ(;pQ+cz&8K@LVvTh+t;(38j!OEO3gdFDz-Ys7*&I@w=GbSSfK~)rD-yt<*=GqHw1Cc2oZeC_Jp^s~Mo3=sNbx0<*VFf^5qz zBr^@S+=ed*{$)+)qs)7p`3DzE65mLdy?XOLlF<%L4{c4A!LeJl7&BmYJVBy2EpCIb zD!<%A4OE@N#j-~mIRjzJ4{XPD*m};O2BGK*MC6JWX-XauzCuj&} zdfhv+yNv+ejJsTFH4;4XoycFiS4LCWNvB@D50HDPiH3cWWL& z$91^p@f))UKm38;yNk_Ty;|)6j<^N#Wdcs5t@0~i#oTYK%j^a-1k93p%4TLbWxo3u z0Fzq!f0=|MLQw2o2SFXv6l@LPCC_-Xn$i*LVpdv6%VxYGHY=%mar^wC*K4V=sI;C~ zyBon~6Ne|7jz+^Vm72*xQ-_qa`f6_+?{v?rwupJ*()KGOzYZ&v-x^@1$B5`&%M={Q z1B~${PA!J7gLxp5LRMV$`4q~G9{iShhnN$t%GoUudrNQJ8F?4r^zp9R zH3ZE9m_`gVUw@e{Q)&!?lX78sA+&I6F!GrG%)+w#8d%5-m^cjpmMqoC#$ZMa}p?Y zkd){fB;>SLXUw7q^gWQ4144Jam-_Btat7XFILXL}xEqQMQj56>V7Db3-jsJKt=p3J zZOAH{sjAvyxu&3KYVf^&QuX+D-(JU16XGr?HUOXpIDsC|jH7W0Ht!gjEr6G{`zLE0 z)d@c$ckJ-jNsycOFTnox2Jn;EuQQgOI0IpozcQ$fA(QS)rsrr=4$mR7(Km*L_!C-kXG{o{K zPkc!gg(3jbe`gAut{fZ$D1r+N3&$R`r=NEM3!NXJwadki>1;dzki8uED$tPFfJYj{RJxG1{2$n@qJ(3OE#pkH3kZG{mK5r4D8 zr6YrI^j>%VK@%9k^kB7XF|;XwqvW1t?883aj+vsJ%fC234Y8ap>oNiFeaGUJ z9SB<%2Y@Y)%y>7pYRe>yV}~G*; zX!?yC?go5K)XSIqIhByUIZy;8xMrJ>4cGv{YM^b+0<`ips~h+&41)lGdvG%*Kuvg( z7c>|GF6TX_ni&X!x5xp&MPVERZ~^lF^3aFV1b~?`PDOb=)F#TARXrm)>EvI^IXw93 zziz<@JbE1Kh%}X>YV@ks9uhq!bCKbyY4J(9)78B1mNe1mt5nf*@3@VDf;ZKIcgj>@ zsEM_0y=M@_#p1ku>+$NEAy^MZBxVN2^vW^Wn<0PGMN5H_5$I?L{<*RdKz+nDL zm#^q)NjI337p!P?z2X^!Gd7;S^C4i62@w4=tV$jzwp~lAIz&e0Tk~Kj*2NUxiufo@ zE}dDZfFaG_5VbooRBatFu^v7~kKs2|Hx8qeD*bsiQe^xjTBF5B)JDo?<%@oeG%N6J z9;Kkn4}oxoM+#8uR;cbKY_=D1T}zFuj(W)gr=JI`mKHMy#rjg{=<~4;r1+f?WPFJa zvHh4l8A7s^+iz;^nnLPRd_hk!SSh3)+QQ*aW>am-dg~Ya(5a-45-j!(QkhZ(?ULbr zj_4TR{r7q%k88**-T_B=1+UwmKW6;O%G}(^>y~R4yvM~mze$8IoxHi ze7wohZyL| zFphrU>RDOY3cbyiJxEQ|Lz#MQ=kDj(GgO8=W}x@)?+=ke<+9-XZY$J7KOM=84$!aF zxJ@+VZ*YRX4(ky1w` zB5uSuC59nRT~hKn?12@&z7=9<9)ND1v#eXWhVqvJtZrZ^95>g94YeIZc+PWBnXo6lGL#%-2Zovn=O7NV;}>0!TFd+1f4NoW+MNVEnmA?ap*L-mk=!5De; z|EVXH=iVmwXi(|4PAYcFW9y$|)+|n`>5gr*k1`*`&sl7RhZ0@uXMZ@mur%K{<8BRj zB6AJSNr@gW6`_h2e2aw^5hTtIt9>BQpSAK@CHW7_*sPaSD15f0Md`a+Xrq5^ABbzf zTXv|sZatFeCtHw^y*(P22%daC^?~59Ejz_em`@@jLjx(vZMmri$2f&zt9$yk<^}@I z$8A{ec|5FANi>^a(|@8+d$3+{SQ*}POJyz=$XpUh9fj1=wx}Hs_Ft|(Wp9~%);5*Q zof1!b{Ba0fysDi_+W*1HeZ_L`?}qam?i~r$Jz89Y3A^zwXBIx{6sjIpkbPyWFW?UM z&IGfa{-vp6crej=LS^SA9KImpZ|AjYMBpDY7*E$&V;1dfqnAW9xu$mSNm*EwiTHAXO8|Ok|y#t-NdMBmU!H#aFjX{ zL*sDY3{mR3mK&dv*Os0)(*E5^x)Q5idr-MqvLD47DDvfLpUfma^-ROdYq{6~-8@Mo zwEMOI(o*sQ!*GHs)GGTftU%WG`7L1LLI0hrXaSZ8ee!Zqp<*9WKULLs|(I_Z5>325qHGTpy z111$~GHV|qjk^h7A$-CMby1hta_6}{v^!nk2hWJHQ^VA&@w3C~YG$wg_ z+gFlXT9A&iGEM^hkiyrB8J>Fk%g_~~KMSC)Y2^K-BUk`(O_ozyr1n<%m#FU*Y|h`b z&A!~|vq?p^^up!xpZT$sixl|lmpAro8I$s(mkj!rmS`2M&V7_M4$}UOH+s&F1Vu(Z ztDCmzNg4hJ-QXjR6z_bvkc z*+&$}_a<7NHz{Z#(^kU!QtK~KZKd=O6ca1M%N61WQpMt8rK8VdmUd-tUK!JrXGv9j z9Laj{n`Jdmb*H@^mr&k9D--4~Ul5rv_w4(at9`{N6u4fmEpXAwT0)X_!YfEK#OVl(+P$;fAu3qG*Os zuk$t+&msMiUqmfoOdJ$6y_PF0M)?zPIXGg^4=%E(`?Dwn9DH^9Uh9z0I% zW$x&5hSCR~(>7nNA4m_Q*fJgEYyy1Fw{Q^564AYp^bQ zmG;)JO|j3^aaaxg!fw+Y#TE8eGk5(CEys5eS~w+IspZDzHQDi<9|u0OG2w@OjZW{# z{KF84?7Hcl5e+YR3&rx_&Gz@@9Fpw?oT20>$Mr0| z>iCEC2SL~IRM$QimP?LLsy>En9c8*wx>VQTd%G@;t&P2Uib0IiyDm#^lt)i^beBI1 z%KOKyc2=hg3h3>TwKFnfz7t`P5Avm5Uk406v=%+p@ao(~WXRkVDv;$)*7tX>-N~=@ zuwc1*`5XU0H{46R_R`iQ3Go576^@3v>?9TnX^7zrvzu27HTxwrkYyg0?n#ZzyNgH} zauSVWS1f#qufAG#E_ON}+mSPLgf*L|Xu7ImRMF{`UvUvD;jC#5p|=VsgoUT3V2%`W zm|weIBgSG)=s3oA@5Pf0yam^gWwl3nL);aG)|~i*~TCC7M34iHr?5F5PWg;eJth`Y&=t6(yLZckaDyP}3_{N;!D&D}SdAP~1EH%_~80($a;*UpmE9YD;7s-@o6DJ*KR)f|UTCGu6VD;F~) z&fKb~pZAe;lZPq^y87(QC+9MB5c|*w^Rp$Rwl7qF8n{K{ab8610H;a>1t}_8;xHJ;uf;A`5%q;yazo&`t zy=zO~miVMZ9mZ0o#@*r+I)T@+9eJCBquy-OZYqI@!>SEi9W=hs>s)ko&egRul!!*= z(C)M*McIzV&gK(#9h&y+HU7yLwd9snHBT1hboVy1D1ps&rAq?|04+$ZCbIiq|mR=bxRc5E}RpAHr~MNH(?Z z+RCnrTMx#^?snjHme&_>m$G#UG(GcigC|Ux^AYy_mDa!9NGWE5htPwamuCJumui&d zr|+9FHJxL%%XasEXt84e>ruGD3`&k009h|!N55d4{ z48*pnG!BVd|7*+sw@v-uCOilVd#EOZJ_!IK+W#>9Kld-^fB4!v_kiC0>EHM6PeCG| zKE3|;$NZa;i&}K$SfwOY^wFdLxE=#jlBFI8fPeKW#BD2^Hb*!X8uXtq<^O>Cb0ogZ zx3Llrt3rt&?{@aB-K1P*jcY(s(DPI80N^tRN&QH@@Rbn?BUv1P3>F+^yo!R+< zuc)A!z8fYrqz{^A;L06?Hzkt7jedX=3JdI#^jU65x8Nz`E%J%POR2X z@5&X(8e26S*kX@RqEo2cSFCv%(x1QVh1A&gJ855;;~%fq*tLRijFMo(bP2UU@n5rO zYDDdJWtLUEpAf?te>mKUi=HODX{y;rM~=k^y&sbZMdnBaqsEK_P44?oCZ@1ZwvNdc z^Jel7CX^nNFBicrgcUR2qY@h`42?*u_O}zl5O^;djRtBYkFOG#jbOpr#$ky0*RBEn zu47ujgGpk;3|&Ks5qq73rK@8vv8_Ccx^`QQG-_+ETTi-SkOJDAKoT7Lbswyt*6ZSGv#R&~ArvPPHuiFQ3r#7*1ub&`oCSV>Xnh|!|M0a23qc8W6!4LYDF z2n%E}X%;==MFIUyw&`peqqIP?q(U!C!bAy-e6Uco9j8*5rI159mt1X^b};{nbKT;O zsj))?C6isOflA%qR!iE=V(X-GTisHqKh*0Q&t;_r?tnM|y&7_uGJRlegh4Q8bm)iuoRXgfpRodF@FkNPdn;m7HnUAQX4=0>K|X)gZ&O6s`#l%USbEG^_Iy!-Jb9M3^j`TFR);EyqZf{FAM1c zF+8ZS9ie!OF5}4^qM~B`>N3GshDn0Knmi_H`O;}`7*-$m_{wBrWy;QUIT{nt zy!$a<5QD+I_3rVkBkNmi$+)etgdb+<{<;oH^`mC);^l(|&JK1dt(RvWm(Lc)UCPRL zEl93GwBvei6O#TlTqocxln;$H+rfB%eu3FesX@6VPFS;nf??ke*;M7BtH1o{xS-61F-E?P7FefBwY}j3y5ZQLo!3fSCwPx2lr%-gCGc0{VE=>l zjotGN$p`+FBhav?a$b8fv1!PUZq?(ty=v;+Vrt>BrzXgn7CWaRms;p$7_gK+RR1dV zWPQ#R<)fvLECL^VvqjE)?~96Z9jkKv9nDGrv2zm${nwA)chihk>biK91Ghb-exFMH zn2(@_bc&R&`&l!RIY`qhQMFssTSw%ws*#y_wqKmhD}QLSYH6ObZz+3t5PyWMi=ty7 zgP($@%wqDDn-!u%aEE4w&?2arehC5{D$BJWzMM^=k* z53iPmH*N4*Z61>cp*|07yboiF|WMP z{q-J9SUf>rb_0ngIY?Kjw{(X;9i_03oTTZ=1l_TC@JncuKDy77=N;Tk9iHSn@&ioi z01qRluT0PnWScBkm9-NAMQVf|4#+6F{ElYnWj~@PP087-5&F&*&u)NX_e5QstA#sx zK*2?Kmⅇ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 Sz{WawYd}K>j=N*^>c0U*vF=d- diff --git a/images/base_hole_options/magnet_and_screw_holes_printable.png b/images/base_hole_options/magnet_and_screw_holes_printable.png index bd94e2da2ed92d15bab5ec848de7eaff3ca4a8e0..72e34b97c4b076586c8a767ac2f98bbef29c74d7 100644 GIT binary patch literal 35872 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 W=jM$35DnJ%fZI3C^wHOy|NJ)%5H&ym diff --git a/images/base_hole_options/magnet_and_screw_holes_printable_chamfered_with_crush_ribs.png b/images/base_hole_options/magnet_and_screw_holes_printable_chamfered_with_crush_ribs.png deleted file mode 100644 index c308b1f39f79f2ad9d3c5d75dae4035651b49017..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19090 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

oDU~s&_hU&{~F3{nAp~Gz_FgS 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 Dq-@zJ literal 16576 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 Y_Bia_brvlR^a8rCW2}w1=k)6T0FLu{F8}}l diff --git a/images/base_hole_options/magnet_holes_plain.png b/images/base_hole_options/magnet_holes_plain.png index c8a19f9adcf56b260afbf91a783de1e0e38a8362..b82e0cf38c7f8558ae303c55c6468546bfd1c3ce 100644 GIT binary patch literal 35851 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 Dq-@zJ literal 10753 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 diff --git a/images/base_hole_options/magnet_holes_printable.png b/images/base_hole_options/magnet_holes_printable.png new file mode 100644 index 0000000000000000000000000000000000000000..b82e0cf38c7f8558ae303c55c6468546bfd1c3ce GIT binary patch literal 35851 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 Dq-@zJ literal 0 HcmV?d00001 diff --git a/images/base_hole_options/magnet_holes_with_crush_ribs.png b/images/base_hole_options/magnet_holes_with_crush_ribs.png index 6078b40029c393b95659c8b8274f6ffb4e11289d..72e34b97c4b076586c8a767ac2f98bbef29c74d7 100644 GIT binary patch literal 35872 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 z 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 bU~|`_&kp+8S$r9+HwLa>H8Vu(J3smt*n}CC diff --git a/images/base_hole_options/no_holes.png b/images/base_hole_options/no_holes.png index 33cc176e5a471df7bec938eb6f8d9bea4f1f428d..b82e0cf38c7f8558ae303c55c6468546bfd1c3ce 100644 GIT binary patch literal 35851 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 Dq-@zJ literal 8527 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 P0AOon4=q3EdGCJ#l<;b= diff --git a/images/base_hole_options/refined_and_screw_holes.png b/images/base_hole_options/refined_and_screw_holes.png index 6b5ca846ff103fc152596623fcfe714c9f198689..95e1638b8468c8e3d55aef2b9e6221450e5d31b5 100644 GIT binary patch literal 38903 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 HyC?q*$&d|U diff --git a/images/base_hole_options/refined_holes.png b/images/base_hole_options/refined_holes.png index 7d1d47d60f931bd2ab4b377859271a7d0d98aff4..95e1638b8468c8e3d55aef2b9e6221450e5d31b5 100644 GIT binary patch literal 38903 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 diff --git a/images/base_hole_options/screw_holes_plain.png b/images/base_hole_options/screw_holes_plain.png new file mode 100644 index 0000000000000000000000000000000000000000..b82e0cf38c7f8558ae303c55c6468546bfd1c3ce GIT binary patch literal 35851 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 Dq-@zJ literal 0 HcmV?d00001 diff --git a/images/base_hole_options/screw_holes_printable.png b/images/base_hole_options/screw_holes_printable.png new file mode 100644 index 0000000000000000000000000000000000000000..b82e0cf38c7f8558ae303c55c6468546bfd1c3ce GIT binary patch literal 35851 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 Dq-@zJ literal 0 HcmV?d00001 diff --git a/images/base_hole_options/viewport_settings.jpg b/images/base_hole_options/viewport_settings.jpg deleted file mode 100644 index 46c6b80e4ceb816fb6fb50f57f39a0b41219096a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19792 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 T%Emu9`uynh^M5;ziJbgjCs{WV diff --git a/images/hole_cutouts/all_hole_options.png b/images/hole_cutouts/all_hole_options.png new file mode 100644 index 0000000000000000000000000000000000000000..1c667804615f54db24b9428a40e7ac5bf7fb0164 GIT binary patch literal 24717 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%0AhsEnfdtqg=IaN2NQel7Sg@5O$?O91_D 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 vDQTU$7$Dzg)5X;*g>%-_5QF)$X~> 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 bA~mSEqn7;U``B8LMQ2ZIoyt0Car6HGC$;1G literal 0 HcmV?d00001 diff --git a/images/hole_cutouts/no_hole.png b/images/hole_cutouts/no_hole.png new file mode 100644 index 0000000000000000000000000000000000000000..fc39d3a949bd5acb1a857675d29609a13e11864c GIT binary patch literal 13937 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 Mg{?V#v)7sb1zZ8jYXATM literal 0 HcmV?d00001 From 01d759f406fe89b0c6f5063bba073e9a8cd03113 Mon Sep 17 00:00:00 2001 From: Arthur Moore Date: Mon, 29 Apr 2024 22:54:25 -0400 Subject: [PATCH 17/27] Fix spiral vase bases * Updated constant names to match previous changes. --- gridfinity-spiral-vase.scad | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/gridfinity-spiral-vase.scad b/gridfinity-spiral-vase.scad index ee11b1a..e03ebd7 100644 --- a/gridfinity-spiral-vase.scad +++ b/gridfinity-spiral-vase.scad @@ -15,7 +15,7 @@ $fa = 8; $fs = 0.25; /* [Bin or Base] */ -type = 0; // [0:bin, 1:base] +type = 1; // [0:bin, 1:base] /* [Printer Settings] */ // extrusion width (walls will be twice this size) @@ -202,15 +202,17 @@ module gridfinityBaseVase() { } module block_magnet_blank(o = 0, half = true) { + magnet_radius = MAGNET_HOLE_RADIUS + o; + translate([d_hole/2,d_hole/2,-h_base+0.1]) difference() { hull() { - cylinder(r = r_hole2+o, h = h_hole*2, center = true); - cylinder(r = (r_hole2+o)-(h_base+0.1-h_hole), h = (h_base+0.1)*2, center = true); + cylinder(r = magnet_radius, h = MAGNET_HOLE_DEPTH*2, center = true); + cylinder(r = magnet_radius-(h_base+0.1-MAGNET_HOLE_DEPTH), h = (h_base+0.1)*2, center = true); } if (half) mirror([0,0,1]) - cylinder(r=(r_hole2+o)*2, h = (h_base+0.1)*4); + cylinder(r=magnet_radius*2, h = (h_base+0.1)*4); } } From 0e7c2981545c3b52977024422a335d9d3d564b8d Mon Sep 17 00:00:00 2001 From: Arthur Moore Date: Mon, 29 Apr 2024 23:20:15 -0400 Subject: [PATCH 18/27] Add tests for magenet holes in spiral-vase mode --- tests/gridfinity-spiral-vase.json | 28 +++++++++++++++++ tests/test_spiral_vase.py | 50 +++++++++++++++++++++++++++++++ 2 files changed, 78 insertions(+) create mode 100644 tests/gridfinity-spiral-vase.json create mode 100644 tests/test_spiral_vase.py diff --git a/tests/gridfinity-spiral-vase.json b/tests/gridfinity-spiral-vase.json new file mode 100644 index 0000000..3aa2bad --- /dev/null +++ b/tests/gridfinity-spiral-vase.json @@ -0,0 +1,28 @@ +{ + "fileFormatVersion": "1", + "parameterSets": { + "Default": { + "$fa": "8", + "$fs": "0.25", + "a_tab": "40", + "bottom_layer": "3", + "enable_funnel": "true", + "enable_holes": "true", + "enable_inset": "true", + "enable_lip": "true", + "enable_pinch": "true", + "enable_scoop_chamfer": "true", + "enable_zsnap": "false", + "gridx": "1", + "gridy": "1", + "gridz": "6", + "gridz_define": "0", + "layer": "0.35", + "n_divx": "2", + "nozzle": "0.6", + "style_base": "0", + "style_tab": "0", + "type": "0" + } + } +} diff --git a/tests/test_spiral_vase.py b/tests/test_spiral_vase.py new file mode 100644 index 0000000..386d457 --- /dev/null +++ b/tests/test_spiral_vase.py @@ -0,0 +1,50 @@ +""" +Tests for gridfinity-rebuilt-bins.scad +@Copyright Arthur Moore 2024 MIT License +""" + +import dataclasses +import json +import unittest +from pathlib import Path +from tempfile import NamedTemporaryFile + +from openscad_runner import * + +class TestSpiralVaseBase(unittest.TestCase): + """ + Test creating a single base in "gridfinity-spiral-vase.scad" + + Currently only makes sure code runs, and outputs pictures for manual verification. + """ + + @classmethod + def setUpClass(cls): + parameter_file_path = Path("gridfinity-spiral-vase.json") + parameter_file_data = ParameterFile.from_json(parameter_file_path.read_text()) + cls.default_parameters = parameter_file_data.parameterSets["Default"] + cls.camera_args = CameraArguments(Vec3(0,0,0),Vec3(225,0,225),150) + + def setUp(self): + self.scad_runner = OpenScadRunner(Path('../gridfinity-spiral-vase.scad')) + self.scad_runner.image_folder_base = Path('../images/spiral_vase_base/') + self.scad_runner.parameters = self.default_parameters.copy() + self.scad_runner.parameters["type"] = 1 # Create a Base + + def test_no_holes(self): + vars = self.scad_runner.parameters + vars["enable_holes"] = False + self.scad_runner.create_image(self.camera_args, [], Path('no_holes_bottom.png')) + self.camera_args = CameraArguments(Vec3(0,0,0),Vec3(45,0,0),150) + self.scad_runner.create_image(self.camera_args, [], Path('no_holes_top.png')) + + def test_refined_holes(self): + vars = self.scad_runner.parameters + vars["enable_holes"] = True + self.scad_runner.create_image(self.camera_args, [], Path('with_holes_bottom.png')) + self.camera_args = CameraArguments(Vec3(0,0,0),Vec3(45,0,0),150) + self.scad_runner.create_image(self.camera_args, [], Path('with_holes_top.png')) + + +if __name__ == '__main__': + unittest.main() From 787fa3095093c1aec342ad3eb2237b64028b1a24 Mon Sep 17 00:00:00 2001 From: Arthur Moore Date: Tue, 30 Apr 2024 01:06:40 -0400 Subject: [PATCH 19/27] Split screw_hole into a separate function. This can be re-used for the baseplate. --- gridfinity-rebuilt-holes.scad | 41 ++++++++++++++++++++++++++--------- standard.scad | 4 ++-- 2 files changed, 33 insertions(+), 12 deletions(-) diff --git a/gridfinity-rebuilt-holes.scad b/gridfinity-rebuilt-holes.scad index 4a24fec..e9ec5d1 100644 --- a/gridfinity-rebuilt-holes.scad +++ b/gridfinity-rebuilt-holes.scad @@ -184,6 +184,33 @@ module cone(bottom_radius, angle, max_height=0) { } } +/** + * @brief Create a screw hole + * @param radius Radius of the hole. + * @param height Height of the hole. + * @param supportless If the hole is designed to be printed without supports. + * @param chamfer_radius If the hole should be chamfered, then how much should be added to radius. 0 means don't chamfer + * @param chamfer_angle If the hole should be chamfered, then what angle should it be chamfered at. Ignored if chamfer_radius is 0. + */ +module screw_hole(radius, height, supportless=false, chamfer_radius=0, chamfer_angle = 45) { + assert(radius > 0); + assert(height > 0); + assert(chamfer_radius >= 0); + + union(){ + difference() { + cylinder(h = height, r = radius); + if (supportless) { + rotate([0, 0, 90]) + make_hole_printable(0.5, radius, height, 3); + } + } + if (chamfer_radius > 0) { + cone(radius + chamfer_radius, chamfer_angle, height); + } + } +} + /** * @brief Create an options list used to configure bin holes. * @param refined_hole Use gridfinity refined hole type. Not compatible with "magnet_hole". @@ -245,18 +272,12 @@ module block_base_hole(hole_options, o=0) { } if(chamfer) { - cone(magnet_radius + MAGNET_HOLE_CHAMFER_ADDITIONAL_RADIUS, MAGNET_HOLE_CHAMFER_ANGLE, magnet_depth); + cone(magnet_radius + CHAMFER_ADDITIONAL_RADIUS, CHAMFER_ANGLE, magnet_depth); } } - if(screw_hole) { - difference() { - cylinder(h = screw_depth, r = screw_radius); - if(supportless) { - rotate([0, 0, 90]) - make_hole_printable(0.5, screw_radius, screw_depth, 3); - } - } + screw_hole(screw_radius, screw_depth, supportless, + chamfer ? CHAMFER_ADDITIONAL_RADIUS : 0, CHAMFER_ANGLE); } } } @@ -274,6 +295,6 @@ if(!is_undef(test_options)){ // screw_hole=true, // supportless=true, // crush_ribs=false, -// chamfer=false +// chamfer=true //)); //make_hole_printable(1, 3, 0); diff --git a/standard.scad b/standard.scad index 04bac18..1dbdcb7 100644 --- a/standard.scad +++ b/standard.scad @@ -50,8 +50,8 @@ MAGNET_HOLE_CRUSH_RIB_INNER_RADIUS = 5.9 / 2; // Anything 5 or under produces a hole that is not round. MAGNET_HOLE_CRUSH_RIB_COUNT = 8; -MAGNET_HOLE_CHAMFER_ADDITIONAL_RADIUS = 0.8; -MAGNET_HOLE_CHAMFER_ANGLE = 45; +CHAMFER_ADDITIONAL_RADIUS = 0.8; +CHAMFER_ANGLE = 45; // **************************************** From 8346ce4dd3ce679fa42f8ef8e89a5d407444397b Mon Sep 17 00:00:00 2001 From: Arthur Moore Date: Tue, 30 Apr 2024 01:08:05 -0400 Subject: [PATCH 20/27] Tweak chamfered magnet_hole to so the cone works witrh supportless Difference was small enough the slicer mostly ignored it. --- gridfinity-rebuilt-holes.scad | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gridfinity-rebuilt-holes.scad b/gridfinity-rebuilt-holes.scad index e9ec5d1..a704270 100644 --- a/gridfinity-rebuilt-holes.scad +++ b/gridfinity-rebuilt-holes.scad @@ -272,7 +272,7 @@ module block_base_hole(hole_options, o=0) { } if(chamfer) { - cone(magnet_radius + CHAMFER_ADDITIONAL_RADIUS, CHAMFER_ANGLE, magnet_depth); + cone(magnet_radius + CHAMFER_ADDITIONAL_RADIUS, CHAMFER_ANGLE, MAGNET_HOLE_DEPTH - o); } } if(screw_hole) { From 95219c6cb988da0893133f6b3fab239b4e198b40 Mon Sep 17 00:00:00 2001 From: Arthur Moore Date: Tue, 30 Apr 2024 01:46:37 -0400 Subject: [PATCH 21/27] Fix Baseplate Hole changes were not tested against it. Many oppertunities for improvements here. --- gridfinity-rebuilt-baseplate.scad | 71 ++++++++++++++++--------------- gridfinity-rebuilt-holes.scad | 4 +- gridfinity-rebuilt-utility.scad | 2 +- standard.scad | 15 ++++--- 4 files changed, 49 insertions(+), 43 deletions(-) diff --git a/gridfinity-rebuilt-baseplate.scad b/gridfinity-rebuilt-baseplate.scad index e806820..b9885de 100644 --- a/gridfinity-rebuilt-baseplate.scad +++ b/gridfinity-rebuilt-baseplate.scad @@ -1,5 +1,6 @@ include include +use // ===== INFORMATION ===== // /* @@ -57,7 +58,6 @@ style_hole = 2; // [0:none, 1:countersink, 2:counterbore] // ===== IMPLEMENTATION ===== // -screw_together = (style_plate == 3 || style_plate == 4); color("tomato") gridfinityBaseplate(gridx, gridy, l_grid, distancex, distancey, style_plate, enable_magnet, style_hole, fitx, fity); @@ -75,7 +75,7 @@ module gridfinityBaseplate(gridx, gridy, length, dix, diy, sp, sm, sh, fitx, fit dx = max(gx*length-bp_xy_clearance, dix); dy = max(gy*length-bp_xy_clearance, diy); - off = calculate_off(sp, sm, sh); + off = calculate_offset(sp, sm, sh); offsetx = dix < dx ? 0 : (gx*length-bp_xy_clearance-dix)/2*fitx*-1; offsety = diy < dy ? 0 : (gy*length-bp_xy_clearance-diy)/2*fity*-1; @@ -85,7 +85,7 @@ module gridfinityBaseplate(gridx, gridy, length, dix, diy, sp, sm, sh, fitx, fit mirror([0,0,1]) rounded_rectangle(dx, dy, h_base+off, r_base); - gridfinityBase(gx, gy, length, 1, 1, 0, 0.5, false); + gridfinityBase(gx, gy, length, 1, 1, bundle_hole_options(), 0.5, false); translate([offsetx,offsety,h_base-0.6]) rounded_rectangle(dx*2, dy*2, h_base*2, r_base); @@ -105,33 +105,38 @@ module gridfinityBaseplate(gridx, gridy, length, dix, diy, sp, sm, sh, fitx, fit hole_pattern(){ - if (sm) block_base_hole(1); + if (sm) { + mirror([0, 0, 1]) + block_base_hole(bundle_hole_options(magnet_hole=true)); + } - translate([0,0,-off]) + translate([0,0,-off-TOLLERANCE]) if (sh == 1) cutter_countersink(); else if (sh == 2) cutter_counterbore(); } } } - if (sp == 3 || sp ==4) cutter_screw_together(gx, gy, off); + screw_together = sp == 3 || sp == 4; + if (screw_together) cutter_screw_together(gx, gy, off); } } -function calculate_off(sp, sm, sh) = - screw_together - ? 6.75 - :sp==0 - ?0 - : sp==1 - ?bp_h_bot - :h_skel + (sm - ?h_hole - : 0)+(sh==0 - ? d_screw - : sh==1 - ?d_cs - :h_cb); +function calculate_offset(style_plate, enable_magnet, style_hole) = + assert(style_plate >=0 && style_plate <=4) + let (screw_together = style_plate == 3 || style_plate == 4) + screw_together ? 6.75 : + style_plate==0 ? 0 : + style_plate==1 ? bp_h_bot : + calculate_offset_skeletonized(enable_magnet, style_hole); + +function calculate_offset_skeletonized(enable_magnet, style_hole) = + h_skel + (enable_magnet ? MAGNET_HOLE_DEPTH : 0) + + ( + style_hole==0 ? d_screw : + style_hole==1 ? BASEPLATE_SCREW_COUNTERSINK_ADDITIONAL_RADIUS : // Only works because countersink is at 45 degree angle! + BASEPLATE_SCREW_COUNTERBORE_HEIGHT + ); module cutter_weight() { union() { @@ -156,23 +161,19 @@ module hole_pattern(){ } module cutter_countersink(){ - cylinder(r = r_hole1+d_clear, h = 100*h_base, center = true); - translate([0,0,d_cs]) - mirror([0,0,1]) - hull() { - cylinder(h = d_cs+10, r=r_hole1+d_clear); - translate([0,0,d_cs]) - cylinder(h=d_cs+10, r=r_hole1+d_clear+d_cs); - } + screw_hole(SCREW_HOLE_RADIUS + d_clear, 2*h_base, + false, BASEPLATE_SCREW_COUNTERSINK_ADDITIONAL_RADIUS); } module cutter_counterbore(){ - cylinder(h=100*h_base, r=r_hole1+d_clear, center=true); - difference() { - cylinder(h = 2*(h_cb+0.2), r=r_cb, center=true); - copy_mirror([0,1,0]) - translate([-1.5*r_cb,r_hole1+d_clear+0.1,h_cb-h_slit]) - cube([r_cb*3,r_cb*3, 10]); + screw_radius = SCREW_HOLE_RADIUS + d_clear; + counterbore_height = BASEPLATE_SCREW_COUNTERBORE_HEIGHT + 2*LAYER_HEIGHT; + union(){ + cylinder(h=2*h_base, r=screw_radius); + difference() { + cylinder(h = counterbore_height, r=BASEPLATE_SCREW_COUNTERBORE_RADIUS); + make_hole_printable(screw_radius, BASEPLATE_SCREW_COUNTERBORE_RADIUS, counterbore_height); + } } } @@ -185,7 +186,7 @@ module profile_skeleton() { translate([l_grid/2-d_hole_from_side,l_grid/2-d_hole_from_side,0]) minkowski() { square([l,l]); - circle(r_hole2+r_skel+2); + circle(MAGNET_HOLE_RADIUS+r_skel+2); } } circle(r_skel); diff --git a/gridfinity-rebuilt-holes.scad b/gridfinity-rebuilt-holes.scad index a704270..6ff8930 100644 --- a/gridfinity-rebuilt-holes.scad +++ b/gridfinity-rebuilt-holes.scad @@ -220,7 +220,7 @@ module screw_hole(radius, height, supportless=false, chamfer_radius=0, chamfer_a * @param chamfer Add a chamfer to the magnet hole. * @param supportless If the magnet hole should be printed in such a way that the screw hole does not require supports. */ -function bundle_hole_options(refined_hole=true, magnet_hole=false, screw_hole=false, crush_ribs=false, chamfer=false, supportless=false) = +function bundle_hole_options(refined_hole=false, magnet_hole=false, screw_hole=false, crush_ribs=false, chamfer=false, supportless=false) = [refined_hole, magnet_hole, screw_hole, crush_ribs, chamfer, supportless]; /** @@ -230,6 +230,8 @@ function bundle_hole_options(refined_hole=true, magnet_hole=false, screw_hole=fa * @param o Offset */ module block_base_hole(hole_options, o=0) { + assert(is_list(hole_options)); + // Destructure the options refined_hole = hole_options[0]; magnet_hole = hole_options[1]; diff --git a/gridfinity-rebuilt-utility.scad b/gridfinity-rebuilt-utility.scad index 9d46ada..80f28e2 100644 --- a/gridfinity-rebuilt-utility.scad +++ b/gridfinity-rebuilt-utility.scad @@ -210,7 +210,7 @@ module profile_base() { ]); } -module gridfinityBase(gx, gy, l, dx, dy, hole_options, off=0, final_cut=true, only_corners=false) { +module gridfinityBase(gx, gy, l, dx, dy, hole_options=bundle_hole_options(), off=0, final_cut=true, only_corners=false) { dbnxt = [for (i=[1:5]) if (abs(gx*i)%1 < 0.001 || abs(gx*i)%1 > 0.999) i]; dbnyt = [for (i=[1:5]) if (abs(gy*i)%1 < 0.001 || abs(gy*i)%1 > 0.999) i]; dbnx = 1/(dx==0 ? len(dbnxt) > 0 ? dbnxt[0] : 1 : round(dx)); diff --git a/standard.scad b/standard.scad index 1dbdcb7..1ceb504 100644 --- a/standard.scad +++ b/standard.scad @@ -21,6 +21,10 @@ l_grid = 42; // Per spec, matches radius of upper base section. r_base = r_fo1; +// Tollerance to make sure cuts don't leave a sliver behind, +// and that items are properly connected to each other. +TOLLERANCE = 0.01; + // **************************************** // Magnet / Screw Hole Constants // **************************************** @@ -50,9 +54,14 @@ MAGNET_HOLE_CRUSH_RIB_INNER_RADIUS = 5.9 / 2; // Anything 5 or under produces a hole that is not round. MAGNET_HOLE_CRUSH_RIB_COUNT = 8; +// Radius to add when chamfering magnet and screw holes. CHAMFER_ADDITIONAL_RADIUS = 0.8; CHAMFER_ANGLE = 45; +// When countersinking the baseplate, how much to add to the screw radius. +BASEPLATE_SCREW_COUNTERSINK_ADDITIONAL_RADIUS = 5/2; +BASEPLATE_SCREW_COUNTERBORE_RADIUS = 5.5/2; +BASEPLATE_SCREW_COUNTERBORE_HEIGHT = 3; // **************************************** // top edge fillet radius @@ -114,13 +123,7 @@ bp_rcut_length = 4.25; bp_rcut_depth = 2; // Baseplate clearance offset bp_xy_clearance = 0.5; -// countersink diameter for baseplate -d_cs = 2.5; // radius of cutout for skeletonized baseplate r_skel = 2; -// baseplate counterbore radius -r_cb = 2.75; -// baseplate counterbore depth -h_cb = 3; // minimum baseplate thickness (when skeletonized) h_skel = 1; From cd56b0e421e17a3244337b67b964bbc9e8af4611 Mon Sep 17 00:00:00 2001 From: Arthur Moore Date: Tue, 30 Apr 2024 07:30:53 -0400 Subject: [PATCH 22/27] Make sure hole naming is consistent Also fixes tests. --- gridfinity-rebuilt-bins.scad | 10 ++-- gridfinity-rebuilt-holes.scad | 4 +- tests/gridfinity-rebuilt-bins.json | 4 +- tests/test_bins.py | 86 +++++++++++++++--------------- 4 files changed, 52 insertions(+), 52 deletions(-) diff --git a/gridfinity-rebuilt-bins.scad b/gridfinity-rebuilt-bins.scad index fd55f88..8e908b1 100644 --- a/gridfinity-rebuilt-bins.scad +++ b/gridfinity-rebuilt-bins.scad @@ -83,19 +83,19 @@ div_base_y = 0; // only cut magnet/screw holes at the corners of the bin to save uneccesary print time only_corners = false; //Use gridfinity refined hole style. Not compatible with magnet_holes! -refined_hole = true; +refined_holes = true; // Base will have holes for 6mm Diameter x 2mm high magnets. magnet_holes = false; // Base will have holes for M3 screws. screw_holes = false; // Magnet holes will have crush ribs to hold the magnet. crush_ribs = true; -// Magnet holes will have a chamfer to ease insertion. -chamfer_magnet_holes = true; -// Screw holes and magnet holes will be printed so supports are not needed. +// Magnet/Screw holes will have a chamfer to ease insertion. +chamfer_holes = true; +// Magnet/Screw holes will be printed so supports are not needed. printable_hole_top = true; -hole_options = bundle_hole_options(refined_hole, magnet_holes, screw_holes, crush_ribs, chamfer_magnet_holes, printable_hole_top); +hole_options = bundle_hole_options(refined_holes, magnet_holes, screw_holes, crush_ribs, chamfer_holes, printable_hole_top); // ===== IMPLEMENTATION ===== // diff --git a/gridfinity-rebuilt-holes.scad b/gridfinity-rebuilt-holes.scad index 6ff8930..5e2e676 100644 --- a/gridfinity-rebuilt-holes.scad +++ b/gridfinity-rebuilt-holes.scad @@ -217,8 +217,8 @@ module screw_hole(radius, height, supportless=false, chamfer_radius=0, chamfer_a * @param magnet_hole Create a hole for a 6mm magnet. * @param screw_hole Create a hole for a M3 screw. * @param crush_ribs If the magnet hole should have crush ribs for a press fit. - * @param chamfer Add a chamfer to the magnet hole. - * @param supportless If the magnet hole should be printed in such a way that the screw hole does not require supports. + * @param chamfer Add a chamfer to the magnet/screw hole. + * @param supportless If the magnet/screw hole should be printed in such a way that the screw hole does not require supports. */ function bundle_hole_options(refined_hole=false, magnet_hole=false, screw_hole=false, crush_ribs=false, chamfer=false, supportless=false) = [refined_hole, magnet_hole, screw_hole, crush_ribs, chamfer, supportless]; diff --git a/tests/gridfinity-rebuilt-bins.json b/tests/gridfinity-rebuilt-bins.json index ded8450..3d93ee5 100644 --- a/tests/gridfinity-rebuilt-bins.json +++ b/tests/gridfinity-rebuilt-bins.json @@ -11,7 +11,7 @@ "cdivx": "0", "cdivy": "0", "ch": "1", - "chamfer_magnet_holes": "true", + "chamfer_holes": "true", "crush_ribs": "true", "div_base_x": "0", "div_base_y": "0", @@ -26,7 +26,7 @@ "magnet_holes": "false", "only_corners": "false", "printable_hole_top": "true", - "refined_hole": "true", + "refined_holes": "true", "scoop": "0", "screw_holes": "false", "style_lip": "0", diff --git a/tests/test_bins.py b/tests/test_bins.py index 50d7b9d..be364a2 100644 --- a/tests/test_bins.py +++ b/tests/test_bins.py @@ -32,109 +32,109 @@ class TestBinHoles(unittest.TestCase): def test_no_holes(self): vars = self.scad_runner.parameters - vars["refined_hole"] = False - vars["magnet_hole"] = False - vars["screw_hole"] = False + vars["refined_holes"] = False + vars["magnet_holes"] = False + vars["screw_holes"] = False self.scad_runner.create_image(self.camera_args, [], Path('no_holes.png')) def test_refined_holes(self): vars = self.scad_runner.parameters - vars["refined_hole"] = True - vars["magnet_hole"] = False - vars["screw_hole"] = False + vars["refined_holes"] = True + vars["magnet_holes"] = False + vars["screw_holes"] = False self.scad_runner.create_image(self.camera_args, [], Path('refined_holes.png')) def test_refined_and_screw_holes(self): vars = self.scad_runner.parameters - vars["refined_hole"] = True - vars["magnet_hole"] = False - vars["screw_hole"] = True + vars["refined_holes"] = True + vars["magnet_holes"] = False + vars["screw_holes"] = True vars["printable_hole_top"] = False self.scad_runner.create_image(self.camera_args, [], Path('refined_and_screw_holes.png')) def test_screw_holes_plain(self): vars = self.scad_runner.parameters - vars["refined_hole"] = False - vars["magnet_hole"] = False - vars["screw_hole"] = True + vars["refined_holes"] = False + vars["magnet_holes"] = False + vars["screw_holes"] = True vars["printable_hole_top"] = False self.scad_runner.create_image(self.camera_args, [], Path('screw_holes_plain.png')) def test_screw_holes_printable(self): vars = self.scad_runner.parameters - vars["refined_hole"] = False - vars["magnet_hole"] = False - vars["screw_hole"] = True + vars["refined_holes"] = False + vars["magnet_holes"] = False + vars["screw_holes"] = True vars["printable_hole_top"] = True self.scad_runner.create_image(self.camera_args, [], Path('screw_holes_printable.png')) def test_magnet_holes_plain(self): vars = self.scad_runner.parameters - vars["refined_hole"] = False - vars["magnet_hole"] = True - vars["screw_hole"] = False + vars["refined_holes"] = False + vars["magnet_holes"] = True + vars["screw_holes"] = False vars["crush_ribs"] = False - vars["chamfer_magnet_holes"] = False + vars["chamfer_holes"] = False vars["printable_hole_top"] = False self.scad_runner.create_image(self.camera_args, [], Path('magnet_holes_plain.png')) def test_magnet_holes_chamfered(self): vars = self.scad_runner.parameters - vars["refined_hole"] = False - vars["magnet_hole"] = True - vars["screw_hole"] = False + vars["refined_holes"] = False + vars["magnet_holes"] = True + vars["screw_holes"] = False vars["crush_ribs"] = False - vars["chamfer_magnet_holes"] = True + vars["chamfer_holes"] = True vars["printable_hole_top"] = False self.scad_runner.create_image(self.camera_args, [], Path('magnet_holes_chamfered.png')) def test_magnet_holes_printable(self): vars = self.scad_runner.parameters - vars["refined_hole"] = False - vars["magnet_hole"] = True - vars["screw_hole"] = False + vars["refined_holes"] = False + vars["magnet_holes"] = True + vars["screw_holes"] = False vars["crush_ribs"] = False - vars["chamfer_magnet_holes"] = False + vars["chamfer_holes"] = False vars["printable_hole_top"] = True self.scad_runner.create_image(self.camera_args, [], Path('magnet_holes_printable.png')) def test_magnet_holes_with_crush_ribs(self): vars = self.scad_runner.parameters - vars["refined_hole"] = False - vars["magnet_hole"] = True - vars["screw_hole"] = False + vars["refined_holes"] = False + vars["magnet_holes"] = True + vars["screw_holes"] = False vars["crush_ribs"] = True - vars["chamfer_magnet_holes"] = False + vars["chamfer_holes"] = False vars["printable_hole_top"] = False self.scad_runner.create_image(self.camera_args, [], Path('magnet_holes_with_crush_ribs.png')) def test_magnet_and_screw_holes_plain(self): vars = self.scad_runner.parameters - vars["refined_hole"] = False - vars["magnet_hole"] = True - vars["screw_hole"] = True + vars["refined_holes"] = False + vars["magnet_holes"] = True + vars["screw_holes"] = True vars["crush_ribs"] = False - vars["chamfer_magnet_holes"] = False + vars["chamfer_holes"] = False vars["printable_hole_top"] = False self.scad_runner.create_image(self.camera_args, [], Path('magnet_and_screw_holes_plain.png')) def test_magnet_and_screw_holes_printable(self): vars = self.scad_runner.parameters - vars["refined_hole"] = False - vars["magnet_hole"] = True - vars["screw_hole"] = True + vars["refined_holes"] = False + vars["magnet_holes"] = True + vars["screw_holes"] = True vars["crush_ribs"] = False - vars["chamfer_magnet_holes"] = False + vars["chamfer_holes"] = False vars["printable_hole_top"] = True self.scad_runner.create_image(self.camera_args, [], Path('magnet_and_screw_holes_printable.png')) def test_magnet_and_screw_holes_all(self): vars = self.scad_runner.parameters - vars["refined_hole"] = False - vars["magnet_hole"] = True - vars["screw_hole"] = True + vars["refined_holes"] = False + vars["magnet_holes"] = True + vars["screw_holes"] = True vars["crush_ribs"] = True - vars["chamfer_magnet_holes"] = True + vars["chamfer_holes"] = True vars["printable_hole_top"] = True self.scad_runner.create_image(self.camera_args, [], Path('magnet_and_screw_holes_all.png')) From a4807fd3abe437529d797cabaef75798a8283f2f Mon Sep 17 00:00:00 2001 From: Arthur Moore Date: Tue, 30 Apr 2024 07:43:09 -0400 Subject: [PATCH 23/27] OpenScad Python Runner - Make camera_args a variable As opposed to being a parameter of `create_image`. Also made CameraArguments support fluent. --- tests/openscad_runner.py | 31 ++++++++++++++++++++++++----- tests/test_bins.py | 26 ++++++++++++------------- tests/test_holes.py | 41 +++++++++++++++------------------------ tests/test_spiral_vase.py | 14 ++++++------- 4 files changed, 62 insertions(+), 50 deletions(-) diff --git a/tests/openscad_runner.py b/tests/openscad_runner.py index d6c5418..c73987d 100644 --- a/tests/openscad_runner.py +++ b/tests/openscad_runner.py @@ -2,6 +2,7 @@ Helpful classes for running OpenScad from Python. @Copyright Arthur Moore 2024 MIT License """ +from __future__ import annotations import json import subprocess @@ -24,17 +25,27 @@ class Vec3(NamedTuple): y: float z: float -@dataclass +@dataclass(frozen=True) class CameraArguments: """ Controls the camera position when outputting to png format. @see `openscad -h`. + Supports fluid interface. """ translate: Vec3 rotate: Vec3 distance: float - def as_argument(self): + def with_translation(self, new_translate: Vec3) -> CameraArguments: + return CameraArguments(translate=new_translate, rotate=self.rotate, distance=self.distance) + + def with_rotation(self, new_rotate: Vec3) -> CameraArguments: + return CameraArguments(translate=self.translate, rotate=new_rotate, distance=self.distance) + + def with_distance(self, new_distance: float) -> CameraArguments: + return CameraArguments(translate=self.translate, rotate=rotate, distance=new_distance) + + def as_argument(self) -> str: return '--camera=' \ f'{",".join(map(str,self.translate))},{",".join(map(str,self.rotate))},{self.distance}' @@ -79,6 +90,13 @@ def set_variable_argument(var: str, val: str) -> [str, str]: """ return ['-D', f'{var}={str(val)}'] +class CameraRotations: + '''Pre-defined useful camera rotations''' + Default = Vec3(0,0,0), + AngledTop = Vec3(45,0,45) + AngledBottom = Vec3(225,0,225) + Top = Vec3(45,0,0) + class OpenScadRunner: '''Helper to run the openscad binary''' scad_file_path: Path @@ -88,7 +106,7 @@ class OpenScadRunner: '''If set, a temporary parameter file is created, and used with these variables''' WINDOWS_DEFAULT_PATH = 'C:\\Program Files\\OpenSCAD\\openscad.exe' - TOP_ANGLE_CAMERA = CameraArguments(Vec3(0,0,0),Vec3(45,0,45),50) + TOP_ANGLE_CAMERA = CameraArguments(Vec3(0,0,0),Vec3(45,0,45),150) common_arguments = [ #'--hardwarnings', // Does not work when setting variables by using functions @@ -106,9 +124,10 @@ class OpenScadRunner: self.openscad_binary_path = self.WINDOWS_DEFAULT_PATH self.scad_file_path = file_path self.image_folder_base = Path('.') + self.camera_arguments = None self.parameters = None - def create_image(self, camera_args: CameraArguments, args: [str], image_file_name: str): + def create_image(self, args: [str], image_file_name: str): """ Run the code, to create an image. @Important The only verification is that no errors occured. @@ -119,11 +138,13 @@ class OpenScadRunner: image_path = self.image_folder_base.joinpath(image_file_name) command_arguments = self.common_arguments + \ - [camera_args.as_argument()] + args + \ + ([self.camera_arguments.as_argument()] if self.camera_arguments != None else []) + \ + args + \ ["-o", str(image_path), str(self.scad_file_path)] #print(command_arguments) if self.parameters != None: + #print(self.parameters) params = ParameterFile(parameterSets={"python_generated": self.parameters}) with NamedTemporaryFile(prefix="gridfinity-rebuilt-", suffix=".json", mode='wt',delete_on_close=False) as file: json.dump(params, file, sort_keys=True, indent=2, cls=DataClassJSONEncoder) diff --git a/tests/test_bins.py b/tests/test_bins.py index be364a2..1c922b0 100644 --- a/tests/test_bins.py +++ b/tests/test_bins.py @@ -23,26 +23,26 @@ class TestBinHoles(unittest.TestCase): parameter_file_path = Path("gridfinity-rebuilt-bins.json") parameter_file_data = ParameterFile.from_json(parameter_file_path.read_text()) cls.default_parameters = parameter_file_data.parameterSets["Default"] - cls.camera_args = CameraArguments(Vec3(0,0,0),Vec3(225,0,225),150) def setUp(self): self.scad_runner = OpenScadRunner(Path('../gridfinity-rebuilt-bins.scad')) self.scad_runner.image_folder_base = Path('../images/base_hole_options/') self.scad_runner.parameters = self.default_parameters.copy() + self.scad_runner.camera_arguments = CameraArguments(Vec3(0,0,0), CameraRotations.AngledBottom, 150) def test_no_holes(self): vars = self.scad_runner.parameters vars["refined_holes"] = False vars["magnet_holes"] = False vars["screw_holes"] = False - self.scad_runner.create_image(self.camera_args, [], Path('no_holes.png')) + self.scad_runner.create_image([], Path('no_holes.png')) def test_refined_holes(self): vars = self.scad_runner.parameters vars["refined_holes"] = True vars["magnet_holes"] = False vars["screw_holes"] = False - self.scad_runner.create_image(self.camera_args, [], Path('refined_holes.png')) + self.scad_runner.create_image([], Path('refined_holes.png')) def test_refined_and_screw_holes(self): vars = self.scad_runner.parameters @@ -50,7 +50,7 @@ class TestBinHoles(unittest.TestCase): vars["magnet_holes"] = False vars["screw_holes"] = True vars["printable_hole_top"] = False - self.scad_runner.create_image(self.camera_args, [], Path('refined_and_screw_holes.png')) + self.scad_runner.create_image([], Path('refined_and_screw_holes.png')) def test_screw_holes_plain(self): vars = self.scad_runner.parameters @@ -58,7 +58,7 @@ class TestBinHoles(unittest.TestCase): vars["magnet_holes"] = False vars["screw_holes"] = True vars["printable_hole_top"] = False - self.scad_runner.create_image(self.camera_args, [], Path('screw_holes_plain.png')) + self.scad_runner.create_image([], Path('screw_holes_plain.png')) def test_screw_holes_printable(self): vars = self.scad_runner.parameters @@ -66,7 +66,7 @@ class TestBinHoles(unittest.TestCase): vars["magnet_holes"] = False vars["screw_holes"] = True vars["printable_hole_top"] = True - self.scad_runner.create_image(self.camera_args, [], Path('screw_holes_printable.png')) + self.scad_runner.create_image([], Path('screw_holes_printable.png')) def test_magnet_holes_plain(self): vars = self.scad_runner.parameters @@ -76,7 +76,7 @@ class TestBinHoles(unittest.TestCase): vars["crush_ribs"] = False vars["chamfer_holes"] = False vars["printable_hole_top"] = False - self.scad_runner.create_image(self.camera_args, [], Path('magnet_holes_plain.png')) + self.scad_runner.create_image([], Path('magnet_holes_plain.png')) def test_magnet_holes_chamfered(self): vars = self.scad_runner.parameters @@ -86,7 +86,7 @@ class TestBinHoles(unittest.TestCase): vars["crush_ribs"] = False vars["chamfer_holes"] = True vars["printable_hole_top"] = False - self.scad_runner.create_image(self.camera_args, [], Path('magnet_holes_chamfered.png')) + self.scad_runner.create_image([], Path('magnet_holes_chamfered.png')) def test_magnet_holes_printable(self): vars = self.scad_runner.parameters @@ -96,7 +96,7 @@ class TestBinHoles(unittest.TestCase): vars["crush_ribs"] = False vars["chamfer_holes"] = False vars["printable_hole_top"] = True - self.scad_runner.create_image(self.camera_args, [], Path('magnet_holes_printable.png')) + self.scad_runner.create_image([], Path('magnet_holes_printable.png')) def test_magnet_holes_with_crush_ribs(self): vars = self.scad_runner.parameters @@ -106,7 +106,7 @@ class TestBinHoles(unittest.TestCase): vars["crush_ribs"] = True vars["chamfer_holes"] = False vars["printable_hole_top"] = False - self.scad_runner.create_image(self.camera_args, [], Path('magnet_holes_with_crush_ribs.png')) + self.scad_runner.create_image([], Path('magnet_holes_with_crush_ribs.png')) def test_magnet_and_screw_holes_plain(self): vars = self.scad_runner.parameters @@ -116,7 +116,7 @@ class TestBinHoles(unittest.TestCase): vars["crush_ribs"] = False vars["chamfer_holes"] = False vars["printable_hole_top"] = False - self.scad_runner.create_image(self.camera_args, [], Path('magnet_and_screw_holes_plain.png')) + self.scad_runner.create_image([], Path('magnet_and_screw_holes_plain.png')) def test_magnet_and_screw_holes_printable(self): vars = self.scad_runner.parameters @@ -126,7 +126,7 @@ class TestBinHoles(unittest.TestCase): vars["crush_ribs"] = False vars["chamfer_holes"] = False vars["printable_hole_top"] = True - self.scad_runner.create_image(self.camera_args, [], Path('magnet_and_screw_holes_printable.png')) + self.scad_runner.create_image([], Path('magnet_and_screw_holes_printable.png')) def test_magnet_and_screw_holes_all(self): vars = self.scad_runner.parameters @@ -136,7 +136,7 @@ class TestBinHoles(unittest.TestCase): vars["crush_ribs"] = True vars["chamfer_holes"] = True vars["printable_hole_top"] = True - self.scad_runner.create_image(self.camera_args, [], Path('magnet_and_screw_holes_all.png')) + self.scad_runner.create_image([], Path('magnet_and_screw_holes_all.png')) if __name__ == '__main__': unittest.main() diff --git a/tests/test_holes.py b/tests/test_holes.py index 9308b58..70e9bbf 100644 --- a/tests/test_holes.py +++ b/tests/test_holes.py @@ -15,73 +15,64 @@ class TestHoleCutouts(unittest.TestCase): Currently only makes sure code runs, and outputs pictures for manual verification. """ - @classmethod - def setUpClass(cls): - cls.scad_runner = OpenScadRunner(Path('../gridfinity-rebuilt-holes.scad')) - cls.scad_runner.image_folder_base = Path('../images/hole_cutouts/') + def setUp(self): + self.scad_runner = OpenScadRunner(Path('../gridfinity-rebuilt-holes.scad')) + self.scad_runner.image_folder_base = Path('../images/hole_cutouts/') + self.scad_runner.camera_arguments = CameraArguments(Vec3(0,0,0), CameraRotations.AngledTop, 50) def test_refined_hole(self): """ - refined_hole() is special, since top_angle_camera is not appropriate for it. + refined_hole() is special, since top_angle_camera is not appropriate for it. """ - camera_args = CameraArguments(Vec3(0,0,0),Vec3(225,0,225),50) + self.scad_runner.camera_arguments = self.scad_runner.camera_arguments.with_rotation(CameraRotations.AngledBottom) test_args = set_variable_argument('test_options', 'bundle_hole_options(refined_hole=true, magnet_hole=false, screw_hole=false, crush_ribs=false, chamfer=false, supportless=false)') - self.scad_runner.create_image(camera_args, test_args, Path('refined_hole.png')) + self.scad_runner.create_image(test_args, Path('refined_hole.png')) def test_plain_magnet_hole(self): test_args = set_variable_argument('test_options', 'bundle_hole_options(refined_hole=false, magnet_hole=true, screw_hole=false, crush_ribs=false, chamfer=false, supportless=false)') - self.scad_runner.create_image(self.scad_runner.TOP_ANGLE_CAMERA, - test_args, Path('magnet_hole.png')) + self.scad_runner.create_image(test_args, Path('magnet_hole.png')) def test_plain_screw_hole(self): test_args = set_variable_argument('test_options', 'bundle_hole_options(refined_hole=false, magnet_hole=false, screw_hole=true, crush_ribs=false, chamfer=false, supportless=false)') - self.scad_runner.create_image(self.scad_runner.TOP_ANGLE_CAMERA, - test_args, Path('screw_hole.png')) + self.scad_runner.create_image(test_args, Path('screw_hole.png')) def test_magnet_and_screw_hole(self): test_args = set_variable_argument('test_options', 'bundle_hole_options(refined_hole=false, magnet_hole=true, screw_hole=true, crush_ribs=false, chamfer=false, supportless=false)') - self.scad_runner.create_image(self.scad_runner.TOP_ANGLE_CAMERA, - test_args, Path('magnet_and_screw_hole.png')) + self.scad_runner.create_image(test_args, Path('magnet_and_screw_hole.png')) def test_chamfered_magnet_hole(self): test_args = set_variable_argument('test_options', 'bundle_hole_options(refined_hole=false, magnet_hole=true, screw_hole=false, crush_ribs=false, chamfer=true, supportless=false)') - self.scad_runner.create_image(self.scad_runner.TOP_ANGLE_CAMERA, - test_args, Path('chamfered_magnet_hole.png')) + self.scad_runner.create_image(test_args, Path('chamfered_magnet_hole.png')) def test_magnet_hole_crush_ribs(self): test_args = set_variable_argument('test_options', 'bundle_hole_options(refined_hole=false, magnet_hole=true, screw_hole=false, crush_ribs=true, chamfer=false, supportless=false)') - self.scad_runner.create_image(self.scad_runner.TOP_ANGLE_CAMERA, - test_args, Path('magnet_hole_crush_ribs.png')) + self.scad_runner.create_image(test_args, Path('magnet_hole_crush_ribs.png')) def test_magnet_hole_supportless(self): test_args = set_variable_argument('test_options', 'bundle_hole_options(refined_hole=false, magnet_hole=true, screw_hole=false, crush_ribs=false, chamfer=false, supportless=true)') - self.scad_runner.create_image(self.scad_runner.TOP_ANGLE_CAMERA, - test_args, Path('magnet_hole_supportless.png')) + self.scad_runner.create_image(test_args, Path('magnet_hole_supportless.png')) def test_magnet_and_screw_hole_supportless(self): test_args = set_variable_argument('test_options', 'bundle_hole_options(refined_hole=false, magnet_hole=true, screw_hole=true, crush_ribs=false, chamfer=false, supportless=true)') - self.scad_runner.create_image(self.scad_runner.TOP_ANGLE_CAMERA, - test_args, Path('magnet_and_screw_hole_supportless.png')) + self.scad_runner.create_image(test_args, Path('magnet_and_screw_hole_supportless.png')) def test_all_hole_options(self): test_args = set_variable_argument('test_options', 'bundle_hole_options(refined_hole=false, magnet_hole=true, screw_hole=true, crush_ribs=true, chamfer=true, supportless=true)') - self.scad_runner.create_image(self.scad_runner.TOP_ANGLE_CAMERA, - test_args, Path('all_hole_options.png')) + self.scad_runner.create_image(test_args, Path('all_hole_options.png')) def test_no_hole(self): test_args = set_variable_argument('test_options', 'bundle_hole_options(refined_hole=false, magnet_hole=false, screw_hole=false, crush_ribs=true, chamfer=true, supportless=true)') - self.scad_runner.create_image(self.scad_runner.TOP_ANGLE_CAMERA, - test_args, Path('no_hole.png')) + self.scad_runner.create_image(test_args, Path('no_hole.png')) if __name__ == '__main__': unittest.main() diff --git a/tests/test_spiral_vase.py b/tests/test_spiral_vase.py index 386d457..6c58e57 100644 --- a/tests/test_spiral_vase.py +++ b/tests/test_spiral_vase.py @@ -23,27 +23,27 @@ class TestSpiralVaseBase(unittest.TestCase): parameter_file_path = Path("gridfinity-spiral-vase.json") parameter_file_data = ParameterFile.from_json(parameter_file_path.read_text()) cls.default_parameters = parameter_file_data.parameterSets["Default"] - cls.camera_args = CameraArguments(Vec3(0,0,0),Vec3(225,0,225),150) def setUp(self): self.scad_runner = OpenScadRunner(Path('../gridfinity-spiral-vase.scad')) self.scad_runner.image_folder_base = Path('../images/spiral_vase_base/') self.scad_runner.parameters = self.default_parameters.copy() self.scad_runner.parameters["type"] = 1 # Create a Base + self.scad_runner.camera_arguments = CameraArguments(Vec3(0,0,0), CameraRotations.AngledBottom, 150) def test_no_holes(self): vars = self.scad_runner.parameters vars["enable_holes"] = False - self.scad_runner.create_image(self.camera_args, [], Path('no_holes_bottom.png')) - self.camera_args = CameraArguments(Vec3(0,0,0),Vec3(45,0,0),150) - self.scad_runner.create_image(self.camera_args, [], Path('no_holes_top.png')) + self.scad_runner.create_image([], Path('no_holes_bottom.png')) + self.scad_runner.camera_arguments = self.scad_runner.camera_arguments.with_rotation(CameraRotations.Top) + self.scad_runner.create_image([], Path('no_holes_top.png')) def test_refined_holes(self): vars = self.scad_runner.parameters vars["enable_holes"] = True - self.scad_runner.create_image(self.camera_args, [], Path('with_holes_bottom.png')) - self.camera_args = CameraArguments(Vec3(0,0,0),Vec3(45,0,0),150) - self.scad_runner.create_image(self.camera_args, [], Path('with_holes_top.png')) + self.scad_runner.create_image([], Path('with_holes_bottom.png')) + self.scad_runner.camera_arguments = self.scad_runner.camera_arguments.with_rotation(CameraRotations.Top) + self.scad_runner.create_image([], Path('with_holes_top.png')) if __name__ == '__main__': From 6f4e3b590e76dfd3c92d66c61c4ab52c7758c25f Mon Sep 17 00:00:00 2001 From: Arthur Moore Date: Tue, 30 Apr 2024 07:54:52 -0400 Subject: [PATCH 24/27] Add tests baseplate hole options --- tests/gridfinity-rebuilt-baseplate.json | 22 +++++++ tests/test_baseplate.py | 83 +++++++++++++++++++++++++ tests/test_spiral_vase.py | 2 +- 3 files changed, 106 insertions(+), 1 deletion(-) create mode 100644 tests/gridfinity-rebuilt-baseplate.json create mode 100644 tests/test_baseplate.py diff --git a/tests/gridfinity-rebuilt-baseplate.json b/tests/gridfinity-rebuilt-baseplate.json new file mode 100644 index 0000000..86b19a3 --- /dev/null +++ b/tests/gridfinity-rebuilt-baseplate.json @@ -0,0 +1,22 @@ +{ + "fileFormatVersion": "1", + "parameterSets": { + "Default": { + "$fa": "8", + "$fs": "0.25", + "d_screw": "3.3500000000000001", + "d_screw_head": "5", + "distancex": "0", + "distancey": "0", + "enable_magnet": "true", + "fitx": "0", + "fity": "0", + "gridx": "1", + "gridy": "1", + "n_screws": "1", + "screw_spacing": "0.5", + "style_hole": "1", + "style_plate": "2" + } + } +} diff --git a/tests/test_baseplate.py b/tests/test_baseplate.py new file mode 100644 index 0000000..0593061 --- /dev/null +++ b/tests/test_baseplate.py @@ -0,0 +1,83 @@ +""" +Tests for gridfinity-rebuilt-baseplate.scad +@Copyright Arthur Moore 2024 MIT License +""" + +import dataclasses +import json +import unittest +from pathlib import Path +from tempfile import NamedTemporaryFile + +from openscad_runner import * + +class TestBasePlateHoles(unittest.TestCase): + """ + Test creating a single base in "gridfinity-spiral-vase.scad" + + Currently only makes sure code runs, and outputs pictures for manual verification. + """ + + @classmethod + def setUpClass(cls): + parameter_file_path = Path("gridfinity-rebuilt-baseplate.json") + parameter_file_data = ParameterFile.from_json(parameter_file_path.read_text()) + cls.default_parameters = parameter_file_data.parameterSets["Default"] + + def setUp(self): + self.scad_runner = OpenScadRunner(Path('../gridfinity-rebuilt-baseplate.scad')) + self.scad_runner.image_folder_base = Path('../images/baseplate/') + self.scad_runner.parameters = self.default_parameters.copy() + self.scad_runner.camera_arguments = CameraArguments(Vec3(0,0,0), CameraRotations.AngledBottom, 150) + + def test_no_holes(self): + vars = self.scad_runner.parameters + vars["enable_magnet"] = False + vars["style_hole"] = 0 + self.scad_runner.create_image([], Path('no_holes_bottom.png')) + self.scad_runner.camera_arguments = self.scad_runner.camera_arguments.with_rotation(CameraRotations.AngledTop) + self.scad_runner.create_image([], Path('no_holes_top.png')) + + def test_only_magnet_holes(self): + vars = self.scad_runner.parameters + vars["enable_magnet"] = True + vars["style_hole"] = 0 + self.scad_runner.create_image([], Path('only_magnet_holes_bottom.png')) + self.scad_runner.camera_arguments = self.scad_runner.camera_arguments.with_rotation(CameraRotations.AngledTop) + self.scad_runner.create_image([], Path('only_magnet_holes_top.png')) + + def test_only_countersunk_screw_holes(self): + vars = self.scad_runner.parameters + vars["enable_magnet"] = False + vars["style_hole"] = 1 + self.scad_runner.create_image([], Path('only_countersunk_screw_holes_bottom.png')) + self.scad_runner.camera_arguments = self.scad_runner.camera_arguments.with_rotation(CameraRotations.AngledTop) + self.scad_runner.create_image([], Path('only_countersunk_screw_holes_top.png')) + + def test_only_counterbored_screw_holes(self): + vars = self.scad_runner.parameters + vars["enable_magnet"] = False + vars["style_hole"] = 2 + self.scad_runner.create_image([], Path('only_counterbored_screw_holes_bottom.png')) + self.scad_runner.camera_arguments = self.scad_runner.camera_arguments.with_rotation(CameraRotations.AngledTop) + self.scad_runner.create_image([], Path('only_counterbored_screw_holes_top.png')) + + def test_magnet_and_countersunk_screw_holes(self): + vars = self.scad_runner.parameters + vars["enable_magnet"] = True + vars["style_hole"] = 1 + self.scad_runner.create_image([], Path('magnet_and_countersunk_screw_holes_bottom.png')) + self.scad_runner.camera_arguments = self.scad_runner.camera_arguments.with_rotation(CameraRotations.AngledTop) + self.scad_runner.create_image([], Path('magnet_and_countersunk_screw_holes_top.png')) + + def test_magnet_and_counterbored_screw_holes(self): + vars = self.scad_runner.parameters + vars["enable_magnet"] = True + vars["style_hole"] = 2 + self.scad_runner.create_image([], Path('magnet_and_counterbored_screw_holes_bottom.png')) + self.scad_runner.camera_arguments = self.scad_runner.camera_arguments.with_rotation(CameraRotations.AngledTop) + self.scad_runner.create_image([], Path('magnet_and_counterbored_screw_holes_top.png')) + + +if __name__ == '__main__': + unittest.main() diff --git a/tests/test_spiral_vase.py b/tests/test_spiral_vase.py index 6c58e57..8c7d84a 100644 --- a/tests/test_spiral_vase.py +++ b/tests/test_spiral_vase.py @@ -1,5 +1,5 @@ """ -Tests for gridfinity-rebuilt-bins.scad +Tests for gridfinity-spiral-vase.scad @Copyright Arthur Moore 2024 MIT License """ From e34a25d64020b2b7d7f60225ae002104213b6c35 Mon Sep 17 00:00:00 2001 From: Arthur Moore Date: Tue, 30 Apr 2024 08:11:29 -0400 Subject: [PATCH 25/27] Baseplate - Add support for crush ribs and chamfering the magnet holes * Updated tests --- gridfinity-rebuilt-baseplate.scad | 23 +++++++++------ tests/gridfinity-rebuilt-baseplate.json | 2 ++ tests/test_baseplate.py | 39 +++++++++++++++++++++++-- 3 files changed, 52 insertions(+), 12 deletions(-) diff --git a/gridfinity-rebuilt-baseplate.scad b/gridfinity-rebuilt-baseplate.scad index b9885de..202dbcb 100644 --- a/gridfinity-rebuilt-baseplate.scad +++ b/gridfinity-rebuilt-baseplate.scad @@ -50,22 +50,29 @@ fity = 0; // [-1:0.1:1] // baseplate styles style_plate = 0; // [0: thin, 1:weighted, 2:skeletonized, 3: screw together, 4: screw together minimal] -// enable magnet hole -enable_magnet = true; // hole styles style_hole = 2; // [0:none, 1:countersink, 2:counterbore] +/* [Magnet Hole] */ +// Baseplate will have holes for 6mm Diameter x 2mm high magnets. +enable_magnet = true; +// Magnet holes will have crush ribs to hold the magnet. +crush_ribs = true; +// Magnet holes will have a chamfer to ease insertion. +chamfer_holes = true; + +hole_options = bundle_hole_options(refined_hole=false, magnet_hole=enable_magnet, screw_hole=false, crush_ribs=crush_ribs, chamfer=chamfer_holes, supportless=false); // ===== IMPLEMENTATION ===== // color("tomato") -gridfinityBaseplate(gridx, gridy, l_grid, distancex, distancey, style_plate, enable_magnet, style_hole, fitx, fity); +gridfinityBaseplate(gridx, gridy, l_grid, distancex, distancey, style_plate, hole_options, style_hole, fitx, fity); // ===== CONSTRUCTION ===== // -module gridfinityBaseplate(gridx, gridy, length, dix, diy, sp, sm, sh, fitx, fity) { +module gridfinityBaseplate(gridx, gridy, length, dix, diy, sp, hole_options, sh, fitx, fity) { assert(gridx > 0 || dix > 0, "Must have positive x grid amount!"); assert(gridy > 0 || diy > 0, "Must have positive y grid amount!"); @@ -75,7 +82,7 @@ module gridfinityBaseplate(gridx, gridy, length, dix, diy, sp, sm, sh, fitx, fit dx = max(gx*length-bp_xy_clearance, dix); dy = max(gy*length-bp_xy_clearance, diy); - off = calculate_offset(sp, sm, sh); + off = calculate_offset(sp, hole_options[1], sh); offsetx = dix < dx ? 0 : (gx*length-bp_xy_clearance-dix)/2*fitx*-1; offsety = diy < dy ? 0 : (gy*length-bp_xy_clearance-diy)/2*fity*-1; @@ -105,10 +112,8 @@ module gridfinityBaseplate(gridx, gridy, length, dix, diy, sp, sm, sh, fitx, fit hole_pattern(){ - if (sm) { - mirror([0, 0, 1]) - block_base_hole(bundle_hole_options(magnet_hole=true)); - } + mirror([0, 0, 1]) + block_base_hole(hole_options); translate([0,0,-off-TOLLERANCE]) if (sh == 1) cutter_countersink(); diff --git a/tests/gridfinity-rebuilt-baseplate.json b/tests/gridfinity-rebuilt-baseplate.json index 86b19a3..ee97ef5 100644 --- a/tests/gridfinity-rebuilt-baseplate.json +++ b/tests/gridfinity-rebuilt-baseplate.json @@ -8,6 +8,8 @@ "d_screw_head": "5", "distancex": "0", "distancey": "0", + "chamfer_holes": "true", + "crush_ribs": "true", "enable_magnet": "true", "fitx": "0", "fity": "0", diff --git a/tests/test_baseplate.py b/tests/test_baseplate.py index 0593061..9984310 100644 --- a/tests/test_baseplate.py +++ b/tests/test_baseplate.py @@ -38,13 +38,42 @@ class TestBasePlateHoles(unittest.TestCase): self.scad_runner.camera_arguments = self.scad_runner.camera_arguments.with_rotation(CameraRotations.AngledTop) self.scad_runner.create_image([], Path('no_holes_top.png')) - def test_only_magnet_holes(self): + def test_plain_magnet_holes(self): vars = self.scad_runner.parameters vars["enable_magnet"] = True vars["style_hole"] = 0 - self.scad_runner.create_image([], Path('only_magnet_holes_bottom.png')) + vars["chamfer_holes"] = False + vars["crush_ribs"] = False + self.scad_runner.create_image([], Path('magnet_holes_bottom.png')) self.scad_runner.camera_arguments = self.scad_runner.camera_arguments.with_rotation(CameraRotations.AngledTop) - self.scad_runner.create_image([], Path('only_magnet_holes_top.png')) + self.scad_runner.create_image([], Path('plain_magnet_holes_top.png')) + + def test_chamfered_magnet_holes(self): + vars = self.scad_runner.parameters + vars["enable_magnet"] = True + vars["style_hole"] = 0 + vars["chamfer_holes"] = True + vars["crush_ribs"] = False + self.scad_runner.camera_arguments = self.scad_runner.camera_arguments.with_rotation(CameraRotations.AngledTop) + self.scad_runner.create_image([], Path('chamfered_magnet_holes.png')) + + def test_ribbed_magnet_holes(self): + vars = self.scad_runner.parameters + vars["enable_magnet"] = True + vars["style_hole"] = 0 + vars["chamfer_holes"] = False + vars["crush_ribs"] = True + self.scad_runner.camera_arguments = self.scad_runner.camera_arguments.with_rotation(CameraRotations.AngledTop) + self.scad_runner.create_image([], Path('ribbed_magnet_holes.png')) + + def test_chamfered_and_ribbed_magnet_holes(self): + vars = self.scad_runner.parameters + vars["enable_magnet"] = True + vars["style_hole"] = 0 + vars["chamfer_holes"] = True + vars["crush_ribs"] = True + self.scad_runner.camera_arguments = self.scad_runner.camera_arguments.with_rotation(CameraRotations.AngledTop) + self.scad_runner.create_image([], Path('chamfered_and_ribbed_magnet_holes.png')) def test_only_countersunk_screw_holes(self): vars = self.scad_runner.parameters @@ -65,6 +94,8 @@ class TestBasePlateHoles(unittest.TestCase): def test_magnet_and_countersunk_screw_holes(self): vars = self.scad_runner.parameters vars["enable_magnet"] = True + vars["chamfer_holes"] = False + vars["crush_ribs"] = False vars["style_hole"] = 1 self.scad_runner.create_image([], Path('magnet_and_countersunk_screw_holes_bottom.png')) self.scad_runner.camera_arguments = self.scad_runner.camera_arguments.with_rotation(CameraRotations.AngledTop) @@ -73,6 +104,8 @@ class TestBasePlateHoles(unittest.TestCase): def test_magnet_and_counterbored_screw_holes(self): vars = self.scad_runner.parameters vars["enable_magnet"] = True + vars["chamfer_holes"] = False + vars["crush_ribs"] = False vars["style_hole"] = 2 self.scad_runner.create_image([], Path('magnet_and_counterbored_screw_holes_bottom.png')) self.scad_runner.camera_arguments = self.scad_runner.camera_arguments.with_rotation(CameraRotations.AngledTop) From 2245dd097c8afaa75cbf0a182017db5e87801e20 Mon Sep 17 00:00:00 2001 From: Arthur Moore Date: Tue, 30 Apr 2024 23:35:43 -0400 Subject: [PATCH 26/27] Fix gridfinity-rebuilt-lite It now also supports all the hole options. Note: Tests are not performed, due to the high rendering time. --- gridfinity-rebuilt-lite.scad | 27 +++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/gridfinity-rebuilt-lite.scad b/gridfinity-rebuilt-lite.scad index 4f5195c..da3e7df 100644 --- a/gridfinity-rebuilt-lite.scad +++ b/gridfinity-rebuilt-lite.scad @@ -41,9 +41,6 @@ gridz_define = 0; // [0:gridz is the height of bins in units of 7mm increments - style_tab = 1; //[0:Full,1:Auto,2:Left,3:Center,4:Right,5:None] /* [Base] */ -style_hole = 0; // [0:no holes, 1:magnet holes only, 2: magnet and screw holes - no printable slit, 3: magnet and screw holes - printable slit] -// only cut magnet/screw holes at the corners of the bin to save uneccesary print time -only_corners = false; // number of divisions per 1 unit of base along the X axis. (default 1, only use integers. 0 means automatically guess the right division) div_base_x = 0; // number of divisions per 1 unit of base along the Y axis. (default 1, only use integers. 0 means automatically guess the right division) @@ -51,22 +48,40 @@ div_base_y = 0; // thickness of bottom layer bottom_layer = 1; +/* [Base Hole Options] */ +// only cut magnet/screw holes at the corners of the bin to save uneccesary print time +only_corners = false; +//Use gridfinity refined hole style. Not compatible with magnet_holes! +refined_holes = false; +// Base will have holes for 6mm Diameter x 2mm high magnets. +magnet_holes = true; +// Base will have holes for M3 screws. +screw_holes = true; +// Magnet holes will have crush ribs to hold the magnet. +crush_ribs = true; +// Magnet/Screw holes will have a chamfer to ease insertion. +chamfer_holes = true; +// Magnet/Screw holes will be printed so supports are not needed. +printable_hole_top = true; + +hole_options = bundle_hole_options(refined_holes, magnet_holes, screw_holes, crush_ribs, chamfer_holes, printable_hole_top); // ===== IMPLEMENTATION ===== // // Input all the cutter types in here color("tomato") -gridfinityLite(gridx, gridy, gridz, gridz_define, style_lip, enable_zsnap, l_grid, div_base_x, div_base_y, style_hole, only_corners) { +gridfinityLite(gridx, gridy, gridz, gridz_define, style_lip, enable_zsnap, l_grid, div_base_x, div_base_y, hole_options, only_corners) { cutEqual(n_divx = divx, n_divy = divy, style_tab = style_tab, scoop_weight = 0); } // ===== CONSTRUCTION ===== // module gridfinityLite(gridx, gridy, gridz, gridz_define, style_lip, enable_zsnap, length, div_base_x, div_base_y, style_hole, only_corners) { + height_mm = height(gridz, gridz_define, style_lip, enable_zsnap); union() { difference() { union() { - gridfinityInit(gridx, gridy, height(gridz, gridz_define, style_lip, enable_zsnap), 0, length, sl=style_lip) + gridfinityInit(gridx, gridy, height_mm, 0, length, sl=style_lip) children(); gridfinityBase(gridx, gridy, length, div_base_x, div_base_y, style_hole, only_corners=only_corners); } @@ -100,7 +115,7 @@ module gridfinityLite(gridx, gridy, gridz, gridz_define, style_lip, enable_zsnap difference() { union() { - gridfinityInit(gridx, gridy, height(gridz, gridz_define, style_lip, enable_zsnap), 0, length, sl=style_lip) + gridfinityInit(gridx, gridy, height_mm, 0, length, sl=style_lip) children(); } From 43b0b350a45c3321f644c163a456d2466693f664 Mon Sep 17 00:00:00 2001 From: Arthur Moore Date: Thu, 2 May 2024 09:20:22 -0400 Subject: [PATCH 27/27] Use OpenSCAD Circle resolution to speed up ribbed cylinder creation --- gridfinity-rebuilt-holes.scad | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/gridfinity-rebuilt-holes.scad b/gridfinity-rebuilt-holes.scad index 5e2e676..382cd05 100644 --- a/gridfinity-rebuilt-holes.scad +++ b/gridfinity-rebuilt-holes.scad @@ -6,12 +6,24 @@ include use +/** + * @brief Determines the number of fragments in a circle. Aka, Circle resolution. + * @param r Radius of the circle. + * @details Recommended function from the manual as a translation of the OpenSCAD function. + * Used to improve performance by not rendering every single degree of circles/spheres. + * @see https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Other_Language_Features#Circle_resolution:_$fa,_$fs,_and_$fn + */ +function get_fragments_from_r(r) = + assert(r > 0) + ($fn>0?($fn>=3?$fn:3):ceil(max(min(360/$fa,r*2*PI/$fs),5))); + /** * @brief Wave generation function for wrapping a circle. * @param t An angle of the circle. Between 0 and 360 degrees. * @param count The number of **full** waves in a 360 degree circle. * @param range **Half** the difference between minimum and maximum values. - * @param vertical_offset A simple offset. + * @param vertical_offset Added to the output. + * When wrapping a circle, radius of that circle. * @details * If plotted on an x/y graph this produces a standard sin wave. * Range only seems weird because it describes half a wave. @@ -41,9 +53,11 @@ module ribbed_circle(outer_radius, inner_radius, ribs) { wave_range = (outer_radius - inner_radius) / 2; wave_vertical_offset = inner_radius + wave_range; + fragments=get_fragments_from_r(wave_vertical_offset); + degrees_per_fragment = 360/fragments; // Circe with a wave wrapped around it - wrapped_circle = [ for (i = [0:360]) + wrapped_circle = [ for (i = [0:degrees_per_fragment:360]) [sin(i), cos(i)] * wave_function(i, ribs, wave_range, wave_vertical_offset) ];