From 8c2b4a20fec6257f6f57930fbd22f6bba512cbd7 Mon Sep 17 00:00:00 2001 From: Chris Palmer Date: Mon, 5 Oct 2020 10:59:50 +0100 Subject: [PATCH] Added tesrdrop_minus() and horicylinder(). --- readme.md | 4 ++++ tests/horiholes.scad | 6 +++++- tests/png/horiholes.png | Bin 41166 -> 45899 bytes utils/horiholes.scad | 28 ++++++++++++++++++++++++++++ 4 files changed, 37 insertions(+), 1 deletion(-) diff --git a/readme.md b/readme.md index be8ad06..6806b99 100644 --- a/readme.md +++ b/readme.md @@ -5387,6 +5387,8 @@ Method to print holes in mid air. See +horicylinder() makes cylinders that fit inside a round hole. Layers that are less than 2 filaments wide and layers that need more than a 45 degree overhang are ommitted. + [utils/horiholes.scad](utils/horiholes.scad) Implementation. @@ -5395,11 +5397,13 @@ Utilities for depicting the staircase slicing of horizontal holes made with [`te ### Functions | Function | Description | |:--- |:--- | +| ```teardrop_minus_x(r, y, h)``` | Calculate the ordinate of a compensated teardrop given y and layer height. | | ```teardrop_plus_x(r, y, h)``` | Calculate the ordinate of a compensated teardrop given y and layer height. | ### Modules | Module | Description | |:--- |:--- | +| ```horicylinder(r, z, h = 0, center = true)``` | For making horizontal cylinders that don't need support material and are correct dimensions | | ```horihole(r, z, h = 0, center = true)``` | For making horizontal holes that don't need support material and are correct dimensions | ![horiholes](tests/png/horiholes.png) diff --git a/tests/horiholes.scad b/tests/horiholes.scad index 85f0b68..c3ffeea 100644 --- a/tests/horiholes.scad +++ b/tests/horiholes.scad @@ -69,9 +69,13 @@ module horiholes() { color(silver) cylinder(r = $r, h = eps, center = true, $fn = 360); + hole_positions() + color("blue") + horicylinder(r = $r, z = $z, h = 2 * eps, center = true, $fn = 360); + hole_positions() color("red") - linear_extrude(2 * eps, center = true) + linear_extrude(3 * eps, center = true) intersection() { difference() { square(8, center = true); diff --git a/tests/png/horiholes.png b/tests/png/horiholes.png index 107a4766c557dc5ed958801dfe507b06cad2f71c..bf59de228de4faa8591952bb775cb8457b502883 100644 GIT binary patch literal 45899 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 literal 41166 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 NI$DOBwd(dU{{<*J9((`* diff --git a/utils/horiholes.scad b/utils/horiholes.scad index f6a3e3a..9cdd513 100644 --- a/utils/horiholes.scad +++ b/utils/horiholes.scad @@ -19,6 +19,8 @@ // //! Utilities for depicting the staircase slicing of horizontal holes made with [`teardrop_plus()`](#teardrops), see +//! +//! horicylinder() makes cylinders that fit inside a round hole. Layers that are less than 2 filaments wide and layers that need more than a 45 degree overhang are ommitted. // include <../utils/core/core.scad> @@ -53,3 +55,29 @@ module horihole(r, z, h = 0, center = true) { //! For making horizontal holes th } } } + +function teardrop_minus_x(r, y, h) = //! Calculate the ordinate of a compensated teardrop given y and layer height. + let(fr = h / 2, + hpot = r - fr, + x2 = sqr(hpot) - sqr(y), + x = x2 > 0 ? sqrt(x2) : 0, + X = y >= -hpot / sqrt(2) ? x + fr : 0 + ) + X >= extrusion_width ? X : 0; + +module horicylinder(r, z, h = 0, center = true) { //! For making horizontal cylinders that don't need support material and are correct dimensions + bot_layer = floor((z - r) / layer_height); + top_layer = ceil((z + r) / layer_height); + render(convexity = 5) + extrude_if(h, center) + for(i = [bot_layer : top_layer]) { + Z = i * layer_height; + y = Z - z + layer_height / 2; + x = teardrop_minus_x(r, y, layer_height); + if(x >= extrusion_width) + hull() + for(end = [-1, 1]) + translate([end * (x - layer_height / 2), y]) + circle(d = layer_height, $fn = 32); + } +}