3D Printed Sugar-Filled Paperweights




Tired of chasing after your loose papers? Don't want to use that eyesore of a paperweight that your coworkers gave you? Maybe it's time to create a custom 3D printed paperweight that will suit you. This Instructable will hopefully give you insight on some basic 3D modeling skills and offer a new 3D printing technique. 3D printer filament is too expensive to print solid as a paperweight, so why not add a filler to gain some weight? We add sugar mid-print for a hidden weight that is sealed into the print.

First, gather the following materials:

  • 3D printer
  • PLA/ABS filament
  • sugar, sand, or salt
  • CAD software- I will be using Autodesk Inventor Student
  • funnel

If you like this Instructable, please vote for it above.

Step 1: Create Your Design

Start by opening your CAD software. Remember that all 3D models start from 2D sketches. Create a new 2D sketch. Now you need to choose what you want to model your paperweight after. I will explain how to create both text and an image.

Text: To create a paperweight made out of a letter or words, select the "Text" tool in the "Create" category of your toolbar. Type your desired lettering at set the dimensions. I chose to make my letters 50 mm in length. Now exit the sketch. Extrude your lettering 30 mm. Export a .stl file and save it in a place you will remember.

Image: Choose a basic image that has minimal details. Two-color outline designs work best. In a 2D sketch, import the image using the "Image" tool in the "Insert" category. Scale your picture to how you like. Create a new 2D sketch and trace the image using the "Spline" tool. When you are finished, you can finish the 2D sketch and delete the original picture. Extrude the splined face 30 mm and export a .stl file.

*** The video above demonstrates both methods.

Step 2: Slice Into GCODE

Time to make our 3D model printer ready. Open your favorite 3D printer host program- I will use Repetier-Host. Load your file and slice it into GCODE. We want it to print completely hollow so that we can filled it with sugar. Here are the settings that I used:

  • PLA filament
  • .3 mm layer height
  • 0% infill
  • 3 shells
  • 3 solid bottom layers
  • 4 solid top layers

Step 3: Find Transition Layer

Now we need to find out when to fill the print with sugar. We will let the printer print for a while, pause the print, fill with sugar, and continue printing. The printer will then cover up the sugar, leaving a sealed, solid object.

Navigate to the "Preview" tab of your sliced model. Find the heading "Visualization" and select "Show Single Layer." This graphic shows how the printer will extrude for each layer. Scroll through the layers- most of them should show a hollow middle. When the graphic nears the final layer and shows a complete top infill, note the layer number. We will want to pause the printer before this point.

Step 4: Fill With Sugar

Start your print and watch the layer number to make sure the top doesn't get covered up. When the print is close to getting covered up, pause the printer. Remember that it can take a few seconds to pause. Raise the extruder 50 mm to get it out of the way (the printer will automatically lower the extruder when it resumes).

Use a funnel to pour sugar into your print, filling it to just below the current layer. It is okay if you spill on the print bed- you can clean it up later. Continue the print and watch as the sugary interior is covered up in layers of plastic. You may have to manually turn off your extruder fan if your printer has one; otherwise sugar gets blown out of the print and everywhere.

My printer has a heated bed, so I could smell some spilled sugar cooking- yum...

Step 5: That's It!

When the printer finishes, remove the sealed paperweight from the print bed and clamp down your papers.


Let me know if you have any questions or suggestions. I would also like to know if you fill the paperweight with any other materials. Good luck and thanks for reading this Instructable.



    • Trash to Treasure

      Trash to Treasure
    • Arduino Contest 2019

      Arduino Contest 2019
    • Tape Contest

      Tape Contest

    16 Discussions


    3 years ago on Step 5

    Great idea! We are going to try this with sand? I bet this really cuts down on the print time - something we are always trying to do in class situations.

    1 reply

    Reply 3 years ago on Introduction

    Lots of different things, I actually been documenting it here: https://printeraction.wordpress.com/

    My most recent accomplishment was creating a fully integrated robot that you place motors, sensors, and an arduino into mid-print that then drives off the build plate once finished.


    3 years ago

    great idea...but why sugar? though it's sealed up, if a Crack forms, you'll have an ant problem. I suggest something such as fine sand, or something non organic.

    1 reply

    Reply 3 years ago on Introduction

    I thought that sugar would be best because it is something that everybody has already in their house. Many people don't have access to fine sand and don't want to buy a bag of dirt. I do see your point about the ants though...


    3 years ago

    I think salt and small amount of rice to keep it dry. would be better than sugar and its cheaper.


    3 years ago on Introduction

    In the "Scripts" section of Repetier Host, add the following code to the "Run on Pause" script:

    G91 ; Relative positioning

    G0 Z3 ; Get extruder out of way.

    G90 ; Absolute positioning

    G1 X0 Y0 ; Move extruder to X0 Y0

    That will move the extruder up by 3mm, and then move it to X0 Y0 so that you can fill the shape. I don't know if this will work on a Delta printer though...

    To get to the "Scripts": In the older versions of RH, go to GCode Editor, and then select the script from the dropdown at the top. In the newer versions of RH, go to Printer Settings -> Scripts

    And as @caitlinsdad mentioned, I would also use something like metal or sand to fill the paper weight.

    But nice instructable overall! :)

    2 replies

    Reply 3 years ago on Introduction

    Great ideas. Will the code you attached run when you press the pause button?


    Reply 3 years ago on Introduction

    It will run when you click the Pause button in Repetier Host. I use this when I want to change filament mid-print.

    I don't know if this will run if you use the "@pause" command (I've never been able to get that working properly anyway)


    3 years ago on Introduction

    This is a great idea. If you finish the outside with a metallic paint you get the heft of real metal. I would use something inorganic for the fill though, maybe fine sand. I've also got this huge container of glass microbead sandblasting abrasive that could be used as the fill.

    3 replies

    Reply 3 years ago on Introduction

    Haha, lead shot or bbs would work too. Make mexican jumping bean toys. Sadly, I don't have a 3D printer...yet.