Skip to content

Commit

Permalink
Update instructions for heart shape; fix incorrect heart rim width; a…
Browse files Browse the repository at this point in the history
…dd example.
  • Loading branch information
DrLex0 committed May 21, 2023
1 parent 0022a33 commit cfe22cb
Show file tree
Hide file tree
Showing 4 changed files with 28 additions and 7 deletions.
12 changes: 9 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,17 +19,19 @@ This is an enhanced and customizable version of the [sieve by pcstru](https://ww
Open the `.scad` file in [OpenSCAD](https://www.openscad.org/) and **[use the OpenSCAD Customizer](https://www.dr-lex.be/3d-printing/customizer.html)** to create a model with your own desired specifications.

Compared to pcstru's original, this updated version has these extra features:
* choose between round or square shapes;
* choose between round, square, or heart shapes;
* option to make any regular polygon shape by reducing the number of circle segments. The polygon will fit inside a circle of the specified outer diameter (this means making a 4-sided polygon is not the same as selecting the ‘square’ shape);
* ability to make a rectangular or elliptical shape with the `stretch` value to extend the shape in one direction;
* optionally add a taper to create funnel-like filters;
* ability to make a rectangular or elliptical shape with the `stretch` value to extend the shape in one direction (not applicable to heart shape);
* optionally add a taper to create funnel-like filters (not applicable to heart shape);
* there is a bit of extra overlap between the walls and grid, such that the grid should be well-attached to the rim even when using few or thin strands;
* the grid is perfectly centered at all times, courtesy of my unstoppable urge for detail.

You can opt to print the grid as one set of layers, i.e. a plane with holes in it, or to print two sets of strands on top of each other (‘offset’ option). The latter is easier and probably faster to print, and may yield a more accurate filter if hole size is important. The disadvantage is that dirt tends to stick to the filter more easily.

You can also opt to lift the grid. This allows to print accurate filters with strands merely as wide as your nozzle diameter (see photos). Set the lift distance to your *first layer height* to ensure the filter only starts being printed at the *second* layer. This avoids that the strands get squished against the bed, or printed with a wider first layer extrusion, both of which would make the hole size inaccurate. You could also use a raft to the same effect, but it might be difficult to remove the filter form the raft without damaging it.

The segments parameter also affects the heart shape, but you should use a multiple of 4 in this case to ensure a smooth and usable shape.


### Print settings

Expand Down Expand Up @@ -63,6 +65,10 @@ Added ‘stretch’ parameter to allow creating elongated shapes (rectangles, el

Added ‘taper’ parameter (thanks to beettlle) to generate funnel-like shapes.

### 2023/05/21: v2.4

Added grid rotation and heart shape (thanks to rixvet).


## Tags
`customizable`, `filter`, `grid`, `mesh`, `openscad`, `sieve`, `strainer`
Binary file added examples/sieve-heart-40mm-s_4-g_8.stl
Binary file not shown.
15 changes: 15 additions & 0 deletions sieve.json
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,21 @@
"strand_width": "0.4",
"stretch": "0",
"taper": "1.5"
},
"Heart example": {
"$fn": "72",
"gap_size": "0.8",
"grid_rotation": "0",
"lift_strands": "0",
"offset_strands": "yes",
"outer_diameter": "40",
"rim_height": "3",
"rim_thickness": "1.2",
"shape": "heart",
"strand_thickness": "0.4",
"strand_width": "0.4",
"stretch": "0",
"taper": "1"
}
}
}
8 changes: 4 additions & 4 deletions sieve.scad
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,15 @@
* based on Sieve (or Seive?) by pcstru (thing:341357).
* Released under Creative Commons - Attribution - Share Alike license
* https://github.com/DrLex0/print3D-customizable-sieve
* Version 2.3, 2022/05
* Version 2.4, 2023/05
*/

shape = "round"; // [round,square,heart]

// All dimensions are in millimeters. For square shape, this is the length of one side. For heart shape, this is the width and depth of the heart.
outer_diameter = 40; //[5.0:.1:250.0]

// Additional X dimension length for creating elongated shapes (rectangles or ellipses).
// Additional X dimension length for creating elongated shapes (rectangles or ellipses). Not applicable to heart shape.
stretch = 0.0; //[0:.1:250.0]

// Width of the filter wires. You shouldn't try to go below your nozzle diameter, although it might work within certain limits.
Expand All @@ -31,7 +31,7 @@ rim_thickness = 1.7; //[.3:.01:5]
// Total height of the outer rim.
rim_height = 3; //[0:.1:50]

// Taper of the tube: scale factor of top versus bottom contour
// Taper of the tube: scale factor of top versus bottom contour. Not applicable to heart shape.
taper = 1; //[1:0.01:3]

// If yes, the wires will be placed in different layers, which leads to a quicker and possibly better print, especially when using thin strands.
Expand All @@ -50,7 +50,7 @@ module flat_heart(r_x, r_y, thick, inside) {
// radius + 2 * square
s_x = (r_x * 2) / 1.5;
b = s_x / 2;
w = thick;
w = thick * 2;

if (inside == 1) {
translate([-r_x, -r_x ,0])
Expand Down

0 comments on commit cfe22cb

Please sign in to comment.