• Models
  • Contests
  • Slicer
  • Login
  • Start Here
    thingiverse-iconprintables-iconcults3d-iconmakerworld-iconmyminifactory-icon

    3D GO

    3D ModelsContestsCollectionsSaved ModelsOn a mobile device?

3D GO

Privacy Policy
Heart model cutter & frame tool - customizable OpenSCAD, HueForge friendly 3D Printer File Image 1
Heart model cutter & frame tool - customizable OpenSCAD, HueForge friendly 3D Printer File Image 2
Heart model cutter & frame tool - customizable OpenSCAD, HueForge friendly 3D Printer File Image 3
Heart model cutter & frame tool - customizable OpenSCAD, HueForge friendly 3D Printer File Image 4
Heart model cutter & frame tool - customizable OpenSCAD, HueForge friendly 3D Printer File Image 5
Heart model cutter & frame tool - customizable OpenSCAD, HueForge friendly 3D Printer File Image 6
Heart model cutter & frame tool - customizable OpenSCAD, HueForge friendly 3D Printer File Thumbnail 1
Heart model cutter & frame tool - customizable OpenSCAD, HueForge friendly 3D Printer File Thumbnail 2
Heart model cutter & frame tool - customizable OpenSCAD, HueForge friendly 3D Printer File Thumbnail 3
Heart model cutter & frame tool - customizable OpenSCAD, HueForge friendly 3D Printer File Thumbnail 4
Heart model cutter & frame tool - customizable OpenSCAD, HueForge friendly 3D Printer File Thumbnail 5
Heart model cutter & frame tool - customizable OpenSCAD, HueForge friendly 3D Printer File Thumbnail 6

Heart model cutter & frame tool - customizable OpenSCAD, HueForge friendly

Xavier Faraudo avatarXavier Faraudo

February 18, 2024

printables-icon
DescriptionCommentsTags

Description

What is this and what does it do?

It's an OpenSCAD file with many, many options to allow you to:

  • Trim a 3D object into a heart shape (any ratio) using a negative modifier, with an optional frame.
  • Trim and combine several 3D objects into a single heart shape using several modifiers (with/without frame)
  • Trim and glue several 3D objects into a heart-shaped puzzle using modifiers with clearance and a "box".
  • Make heart shapes in one or more pieces to modify in the slicer adding holes (for pendants/earrings), text, and more.
  • Make cookie cutters.
  • Use as mask in an image, exporting it as SVG instead of STL.
  • …Other uses which I haven't thought about, but you may find!

If you're new to OpenSCAD customizer, read the attached PDF "Using OpenSCAD customizer". All parameters have descriptions, so they're referenced and explained in the tool itself.


Simple cutout

See the size of the model you want to make heart-shaped. In the "Main Parameters" panel:

  • In the "Main Parameters" panel:
    • Set "Object Type" to “Full piece set”
    • Set "Modifier type" to “Negative volume”
    • Set the Width and Depth to the width and depth of your object.
    • Set the Height to a value equal or greater than the height (Z axis) of your object.
    • Set the Centering fillet distance to 0.
  • And in the "Cutter-specific parameters":
    • Set the "Cutter margin" to some value. It just needs to be bigger than 0, if you set right the width and depth of your object.
    •  Set the "Cutter clearance" to 0.

Render with F6 and export to STL with F7.

In your slicer, load the object and then add to it a "Negative mesh" or negative volume/modifier, the object you just exported. Make sure that it's at the same coordinates as your object to cut. In PrusaSlicer you can export the cut object (i.e., export as STL with the modifier applied to the geometry), but your object may need to be error-free (repaired if necessary).

That's it! Slice and print.

Cookie cutter

Yes, you can use this to generate cutters for dough-based 3D objects, but the method will be slightly different.

Do as above, but select "Frame" as "Object type". In "Frame parameters", set the "Frame thickness" to a small value, like one or two perimeters (just one if you're going to print in vase mode), according to your nozzle size; f.i., 0.45 is good for a 0.4 nozzle. F6 to render, F7 to export, you're done.

You may want to add a "base rim" with maybe a “cross” or a square texture inside. Well, do the following:

  •  Set the "Object type" to "Full piece set".
  • Set the "Modifier type" to "Negative volume".
  • Set the "Cutter margin" parameter in the "Cutter-specific parameters" panel to at least the thickness of the frame you used earlier.
  • Set the "Cutter clearance" that same "Cutter-specific parameters" panel to 0.425 or 0.635. This will give you 2 or 3 perimeters per grid with a 0.4 nozzle. See that the thickness of the resulting grid will be 2 * Cutter clearance parameter. (In other words, the clearance is per side.)

Masking an image

This is something you may want to do before HueForging the image, so it appears already in the heart shape. And there are actually different ways to do this, depending on the exact program you'll be using.

Instead of an STL, you'll be exporting a SVG file; do as the simple cutout, but set the Height to 0 and export to SVG from File->Export->Export as SVG in OpenSCAD. You may want to edit the resulting SVG and set the stroke width to 0 (you can do this in Inkscape, but also Notepad), and export it as a raster file, such as PNG (better than JPG for this), with the same dimensions in pixels as the image you'll be HueForging.

In your image editor (Photoshop, GIMP, whatever), open the image to HueForge and add a layer. Set the mask in it. Use the magic wand to select it, select the layer with your image, and fill the selection with a transparent color. Then, delete the "mask" image.

(That's not an actual mask in photo editing. You could of course use the SVG-to-PNG as a proper mask, but mask operations are usually more complex and if you know what is a mask, chances are that you'll already know how to use this SVG-to-PNG.)

Just make sure that the image mode you're working it supports transparency (alpha channel). Not all image editors have it enabled by default in all modes.


Framing and composing several STL

Now this is something more complex, like the composition of two HueForges in a single object, plus adding a frame (outline) to it. That's the included example of Geralt and Yennefer from The Witcher (Henry Cavill and Anya Chalotra in the Netflix series).

(If you just want to print that example for now, use a low TD black, a high TD white —I used Winkle Nácar, but others lie Prusament Pearl White, f.i., will work nicely— and some red, and add color changes at 0.64 and 3-ish mm —2.96 or 3.04—, and optionally a height range modifier from 3mm onwards for a layer height of 0.2 or greater. Sources are included in the "Other files" section, and you have the STL for 100-ish mm).

This technique will give a seamless look, but it will require that both HueForge objects (made separately) use the same color scheme, meaning the color swaps are to be made at the same height. This is not that difficult to do if you're using a monochrome base image and adjust levels, but may require some tweaking and eyeing.

(If you plan on use several color schemes, you'll have to print the HueForges separately and then glue them in a frame with a base, which is the next section.)

We'll start by prepping the images. You could skip this step and adjust everything later in the slicer, but it's harder. The size we've for the heart (inside) is 100x100mm, but what matters is the ratio, which is 1:1. We'll split that in two "columns", left for Geralt and right for Yennefer. So we have to prep the images, cutting/resizing so they have a 1:2 (Width:Depth, or X:Y) ratio. Obviously, if we wanted two "rows" (Yennefer above Geralt, f.i.), we'd have to resize the images to a 2:1 (W:D) ratio, and so on. You can make more complex arrangements, like "two on top and one below" playing with the selections and number of columns/rows per each item.

Once we've HueForged the images at a 50x100mm size, we need to create the modifiers and frame. 

  • We set the number of Columns in Main Parameters as 2, and Rows to 1. For the left column, we set the "Modifier type" to "Negative volume", and we select either "Cell group" or "Single column modifier" as the "Object type" (in the same "Main parameters" panel). We make sure that either "Cell group index" is set to 1 and "Cell group size" to 2 or bigger if we're using "Cell group", or just thet the "Column index" is 1. 
  • Now, in "Cutter-specific parameters" panel we set the "Cutter margin" to something "big", like 2mm or more, but more than 0; thus we make sure we kill the non-printable "Lazy programmer's rectangle". We'll see in the preview that there's a box with a cutout for the left half of the heart. Hit F6 to render, then export the STL (with either F7, the STL button or File->Export->Export as STL).

We'll do the same for the right half, just that "Cell group index" or "Column index" must be 2. As you may have already guessed, "index" means "the nth whatever", either column, cell, &c. And the "Group size" of cells, columns, &c is "out of X". So, if you set "Cell group index" to 1 and "Cell group size" to 3, you're telling the OpenSCAD file to get each 1st cell (square) out of each 3.

Now for the frame:

  • In "Frame parameters" set the "Frame base thickness" to 0, as we'll be composing everything into a single print and we don't need any base to glue anything on. Set the "Frame thickness" to something bigger than 0, or otherwise there'd be no frame! 
  • And set the "Frame height" to something bigger than the height of the tallest HueForge, because we want it to be taller. It's very useful to use the centering fillet for the frame, because positioning it by hand could be painstaking. (The inside fits into a square, but the outside of the frame doesn't!); it's non-printable, so it won't mess with your print, and you can always remove it later (I'll tell you how).

Time to compose in the slicer!

Load the Geralt for the left. Set it in the middle of the bed, and then 25mm to its left (center -25mm). That is, half its width, so its right side is precisely in the middle of the bed. Now add to it its negative modifier; set it at the center of the object (0,0 in object relative coordinates), then move it 25mm to the right (add 25mm, again half the width of the Geralt). Now you'll have the negative modifier centered in the bed, and the Geralt with its right side at the center of the bed.

Do the same with the Yennefer for the right, but move the positive to the right and the negative modifier to the left. Now, the two negative modifiers will be at the same coordinates (center of the bed) and the two positives, Geralt and Yennefer, will be 50mm apart on X, and at the same Y.

Now you only need to add the frame; since you've used the centering fillet, just set it in the middle of the bed. It will be at the same (world) coordinates as the negative modifiers. If you want to remove the centering fillet once you've placed the frame, split it to parts (in PrusaSlicer, there's a P button in the top button row, but you can also do that from the right-click menu in the object list at the right). Select the fillet part and delete it. (You can split the frame to objects instead of parts, but by parts is slightly easier to find the fillet one.)

You may want to export the whole plate now as a single STL. That may make slicing easier, and adding height range modifiers and others. For instance, you may add the frame itself as a modifier of the frame itself and set its infill at, say, 20%; this will save you time and material.

(Note that this may not be the most efficient way, or the only way, to do this specific project. We could have merged Geralt and Yennefer in a single object, then added just a single negative modifier like in the basic case above, and then the frame. Or even better, pasted the two images in a single one and HueForge it. I did it this way just to illustrate how to merge several HueForges in a single print!)

Several prints glued together

This is mostly like the above case, but with a few important differences. We'll add the negative modifiers and print one by one (or by more, if the color schemes are the same), and then glue them to a frame. So we need two things:

  • A frame that has a background base to glue the parts to.
  • Some clearance (or tolerance) so the parts fit and don't overlap! As you may know, there's some die swell with prints, and doing the modifiers in the *exact* measurements would end up giving us some parts that wouldn't fit.

So for the first, go to "Frame base thickness" in "Frame parameters" and set it to something bigger than 0 before exporting the frame. A couple of layers may be enough —remember that you won't be HueForging the frame, so you can go for greater layer heights.

For the second, go to "Cutter-specific parameters" and set "Cutter clearance" to a "good" value. Usually, something like 0.15 or 0.2 will give you room for a tight fit, but that may depend on your printer, material, etc. It's good to make first a test fit using the positives (select "Positive modifier" in "Modifier type"), which don't need to be tall. If everything fits, you're good to go!

Non-uniform columns and rows

Well, the heart shape is... not exactly regular. In its "regular" shape, it fits into a square (1:1 ratio), although it may be fit into any ratio. But thing is, the lower half has less usable area than the upper half, so maybe you want a first row with two columns, and a second row with just one column; or maybe other non-regular, same-columns-per-row layout.

This is actually easy to do. Make the top as 2 columns, and export each cell independently. Then just modify the “Columns” parameter and set it to 1, then export it. It will keep the clearance between rows, so it will fit nicely.

License:

Creative Commons — Attribution — Noncommercial — Share Alike

Related Models

V29 preview image

V29

jzisa profile image

jzisa

81,319

Draw-A-Cat! Stencil for Feline Design preview image

Draw-A-Cat! Stencil for Feline Design

Studio Meshco profile image

Studio Meshco

106

STAND QRCODE/NFC CARD GOOGLE REVIEWS EDITABLE preview image

STAND QRCODE/NFC CARD GOOGLE REVIEWS EDITABLE

ARTIGIANO PAZZO profile image

ARTIGIANO PAZZO

1,673

Cute Mini Octopus preview image

Cute Mini Octopus

McGybeer profile image

McGybeer

75,697

Palestinian Map In Geometric Pattern Design - 2 Parts preview image

Palestinian Map In Geometric Pattern Design - 2 Parts

PALIprints3D profile image

PALIprints3D

20

Dual Text Illusion v2.0 preview image

Dual Text Illusion v2.0

neverland forge profile image

neverland forge

1,313

Modular Mounting System preview image

Modular Mounting System

HeyVye profile image

HeyVye

69,095

Design for a pipe in two pieces - UPDATED AGAIN preview image

Design for a pipe in two pieces - UPDATED AGAIN

Fergy7 profile image

Fergy7

1