Skip to content
Home » Blog » 3D-Printed Customizable Picture Frame

3D-Printed Customizable Picture Frame

free-standing framed artwork
Rear view of picture frame

This is a 3D printing design project I’ve been working on. I wanted a way to satisfy several requirements with one flexible design:

  • Be able to specify the three dimensions of the specific artwork, and make the frame to exactly fit.
  • Adjust the width and depth of the frame border.
  • Include the ability to print a mat board, and a fill piece to sit behind the artwork (either to just take up space to make the frame deeper, or to be background with a smaller artwork glued to it).
  • Be able to display the art free-standing, or hang from a pin or small nail, or affix magnets to the back.
  • Display methods should allow for landscape or portrait orientation.
  • Easy to print — no supports needed.
  • Assemble without glue so it can be taken apart and reused for a different picture.

How to Use

The overview of the process is:

  • Use the Customizer tool to edit your size and other parameters.
  • Obtain one or more “STL” files describing your customized 3D objects. The reason you may have more than one is, if you include a mat or backboard, you generally will want them a different color than the frame, and this is easier to arrange if the pieces are in different files.
  • You can send the STL file to a 3D printing service for them to make the part. My local public library does this for free. Or if you have your own 3D printer, you can load the STL file(s) into a “slicer” program such as Cura or PrusaSlicer (which is what I use). There, you can prepare a “GCODE” file which gives instructions to the printer how to build the parts.
  • Assemble the frame with your artwork in it, apply magnets if desired.

The following sections give details on these steps.

Using the Customizer

Customizer screen
Customizer screen lets you adjust frame dimensions and select among supported options.

To customize this design for your artwork, visit the project page on Thingiverse. From there you can download the project file to your PC and use the free OpenSCAD software to open the file “Versatile Picture Frame and Mat.scad”.

Note: you must use the PC software because the online Customizer tool will not work for this project. I’m waiting to hear from MakerBot whether this is something they can fix.

OpenSCAD has a programming language, and the “SCAD” file you would download is written in that language. You don’t need to understand the language to do the customization, because the application also gives you a screen where you can enter new values for the settings the script supports your adjusting.

Assembly diagram produced by the script
Preview shows how frame components are assembled.

As you adjust these parameters, a real-time preview of the parts as an exploded assembly diagram shows the result. The example shown here has all the parts — frame (yellow), mat board (olive), your artwork (pink — you don’t 3D print that, but it’s included to show where it appears relative to the other things), a fill block to make the frame deeper (light gray), the back panel, and the pop-out stand (gray).

Orthogonal front view

You can get an idea of the final look to choose the right frame and mat width using the orthogonal front view (menu View > Front and View > Orthogonal). You might also turn off the axes (menu View > Show Axes) to reduce clutter.

Don’t worry that the colors shown don’t match your desired result. You select colors during the printing phase by choosing which reel of filament to use for the part you’re printing.

Glass Front

If you want to use a piece of glass or other transparent material in front of the artwork, you of course won’t 3D-print it. Instead, include it in the “art depth” field, which should be the total thickness of everything you put into the frame that’s not 3D-printed via this script.

Not Covering the Edges of the Artwork

This script lets you select the size of the ledge at the front of the frame that the edges of the art will rest on (“frame overlap”). This ledge holds the artwork in place, at the price of covering a little of the edge. Likewise if the art is behind a mat, you would normally define the aperture of the mat to be a little smaller than the artwork so the mat can hold it in place (maybe with the help of some tape).

If you don’t want to cover any of the picture, you need some other way to hold it in the frame. This might involve putting glass in front of it, but even if so, some adhesive generally needs to be involved to prevent it sliding around.

If you really don’t want to put any adhesive on the back of the art, you could print a mat only as thick as the artwork, with a 90 degree angle (i.e. no bevel), and the aperture exactly the size of the art. Then sandwich that between a glass front and either a backing board or fill block.

If you do this, careful with the math. Because the art is fully inside the mat, it doesn’t contribute to the “art depth” value. The depth you enter would be just the thickness of the glass, plus the backing board if it’s one you added (if you use a fill block from this script, that depth is already accounted for).

Multiple Mats

This script will only make one mat board for you. If you want to layer them, you’ll need a way to create additional mats. The Thingiverse project you downloaded contains a script to let you print individual mats — this is the file picturemat.scad. Open it in OpenSCAD and use the parameters to specify your mat size, angle, and aperture.

Because this mat is an extra piece not generated by the main script, you’ll have to account for its thickness in the “art depth” field of the main script.

Tip: Consider whether to print the extra mat face-up or face-down. Depending on the characteristics of your printer, one way might give a prettier surface than the other.

Multicolor Mats

One of the nice things about real matboard is that the front can be a different color than the interior of the board, so when you cut it at a slant, you get a thin line of a different color, helping to set off the artwork.

To duplicate this effect, you might think to create multiple mat boards whose openings just exactly align. But these will visibly be a stack of layers rather than a single multicolored object as you might desire.

The answer to this can come during the printing phase. Most slicing software will let you insert a color change after a specific layer. Print some layers in one color, then pause and change to a different reel of filament to complete the print.

Or, of course, you can get some actual matboard and a mat cutter and make your own by hand.

Selecting which parts to export to the same STL file

Exporting

Once you have things the way you like, use the Arrangement field of the Customizer to spread out the parts and lay them flat. Then with the Export field, select which parts you want to create an STL export file for. The ones being exported are shown in yellow, with other parts “grayed out.”

Typically the frame, back, and stand are exported together since they can be the same color, and the mat is exported separately to be printed in a different color. If there’s a back fill piece, it might be yet a third color, because it might be visible depending how you arrange things. You choose.

This preview is a “quick and dirty” version of the part, though it’s generally pretty accurate. Once you’ve selected which parts to export, use F6 (or menu Design > Render) to finalize the shapes. Any “grayed out” parts will vanish when you do that, since they are not part of the print.

Next use the F7 key (or menu File > Export > Export as STL) to store the selected parts in a format understood by slicing software.

Note: OpenSCAD also supports sending your part directly to your printer over your home network using an OctoPrint server, or shipping the file to the “Print a Thing” 3D printing service. I haven’t tried these. F8 key activates these functions.

Printing It Yourself

If you have a 3D printer, I assume you already know how to convert STL files into physical objects. If not, these files are what you need to give to whoever is doing the printing for you.

Notes: The project was designed for easy printing. These parts have good surface area in contact with the printing plate, and need no supports. If the frame border is very narrow you may need a brim on the front piece. If you want to stick things on the back — stickers, magnetic tape, etcetera — or write on it with a Sharpie, you may need to use the “ironing” function of your slicer to make it nice and smooth.

Printing via a Service

If you ship the files off somewhere to be printed, typically they will want the export files you created earlier. I print my own, so I don’t have recommendations for specific companies, but check whether your local public library provides this service. The “Notes” in the previous section still apply.

Assembling the Frame

I’ll let you figure out how to arrange the artwork and things within the hole, except to mention the top of the artwork needs to be on the same side as one of the two small hanging holes along the edge of the back piece.

Slide backing piece into frame.

The back piece slides in from one side with the hanging holes facing outward, as shown. There are clips on the leading end to lock it into position. You may need to press pretty hard to make those clips engage. The end of the back piece should be flush with the outside of the frame when you’re done.

If you’ve chosen to print a stand also, it can go in one of two positions, depending on the orientation of your artwork. The points on the sides of one end of the stand fit into holes in the sides of the cross-shaped opening in the back.

How to insert stand into back piece.

The stand is designed to not pop out when it’s pulled out in its supporting position. So to insert it, you need to hold it fairly flat to the back surface. It will flex a little to slot into place.

Press in on the base of the stand to click it into place while not in use.

Applying Magnets

I like to use 1/2″ magnetic tape. The script will leave enough blank space on the back piece to allow for this. Depending what material you use and how you print it, the back may be too rough for self-adhesive tape to stick. Many slicer programs include an “ironing” function you can use the make the back surface extra smooth, or you can glue pieces of magnavinyl onto the back.

Making Use of the Holes in the Back

As shown above, if your frame is large enough, it will have two or four rectangular apertures. The size and position vary depending on the size of the artwork and frame. If you want to know exactly where they are so you can print a backing card with information that will be visible in the openings — for instance a QR code or the artist name and website info — you can assemble the frame with a blank backing card, and trace the openings.

Or you can find the precise sizes and positions in the Console window of OpenSCAD. Look for a line such as this:

ECHO: window position=[5.47, 2], size=[55.56, 18.09], crossbar=23.4

The “window position” is the offset of the top left corner of the top left opening, relative to the corner of the “content dimensions” value you supplied. The “size” is the rectangle that includes all two or four openings. The “crossbar” is the distance between the openings.

Diagram showing how measurements are applied to determine hole positions
Not to scale

The outer rectangle is the size you specified in “content dimensions”. The measurements are those in the example console output above (all in mm). This is the two-hole case. If there are four holes, the height number (18.09 in this example) would measure the distance from the top of a top hole to the bottom of a bottom hole, and the gap between them would be the same (23.4).

Share...

Leave a Reply

Your email address will not be published. Required fields are marked *