Hey! This thing is still a Work in Progress. Files, instructions, and other stuff might change!

Customizable Lissajous Picture Frame, v1.0

by reml, published

Customizable Lissajous Picture Frame, v1.0 by reml Feb 27, 2013


Liked By

View All

Give a Shout Out

If you print this Thing and display it in public proudly give attribution by printing and displaying this tag.

Print Thing Tag


Thing Statistics

5663Views 2594Downloads Found in Math Art


With the Customizer contest as an inspiration, I took the Lissajous curves that had been sitting in my idea file for months and decided to keep the basic idea simple (a picture frame) while exploring the possibilities of a parametric design. I've used a bunch of 3d modeling tools before but working in OpenSCAD is like the VRML models I made over a decade ago. But harder.

This is my first object made in OpenSCAD and my first object uploaded to Thingiverse!

So here it is. Lissajous curves, or knots as I like to think of them, remind me of Celtic patterns and the horror vacui that drives so much pattern-based art. I think they make a great ornamented frame. I hope you do, too.

I could not have made this so fast, if at all, without finding the clever work of Polymaker and his 2D Graphing Functions in OpenSCAD. Thank you!

I've included a couple snaps of an early test build (built on a Stratasys Dimension SST 1200es at Philadelphia's NextFab Studios - less than 1 cubic inch of build material!). I altered the design a bit after the build.

The design is functional, but I am still refining it. If there is enough interest I will add parametric easel legs to make it a desktop frame.


The basics:

The fun part is playing with the Lissajous curves. Start here and then experiment with the other parameters in the file. For the Customizer, only the Lissajous parameters are exposed.

WARNING! Lissajous curves and the method used here to make them 3D objects makes this a slow model to update. My old laptop at home can take up to 15 minutes to process. My faster work laptop does the same settings in 5 minutes. The Customizer app seems to handle it much faster, but please be patient. YMMV. Good things come to those who wait!

Here are some sample Wave combinations to start with: 2:3, 3:5, 4:3, 4:6, 6:3, 6:9, 7:9, 7:15, 9:13

I can't guarantee any other combos will work, but play around with Scale and Smoothing and you never know!

I will upload STL files for some of these samples. The file name will be appended with the variables I used.

The Smoothing value can drastically change the shape of the curve since it determines the number of segments used to draw the curve. Keep it at the default 250 until you feel comfortable with the other parameters.

The Lissajous knots can also be scaled from the base 100% that fits just inside the lattice frame to the overlapping shapes of 200% that colors way outside the lines. Note this makes the largest possible frame bigger than your average build platform. So don't go big on the Lissajous Scale unless you set the overall lattice frame smaller if you edit the size in the raw file. If I could figure out how to measure in OpenSCAD I would echo the total size. I do echo the lattice overall size in the console, but that doesn't include any scaled knot "overhang."

A fun example of the Smoothing value and some extreme Wave numbers is 13:15, 100 Smoothing and 150 Scale (it fails unless you scale it up). Instead of a graceful mathy curves you get crazy kid scribble that has its own appeal.

Note, some combinations of Wave and Smoothing may fail to make a valid STL object. Adjust the Smoothing down first then experiment until you get a valid result. I have only had a few combinations fail (like 4:6:300). Please leave a comment with any combinations that fail for you.

For more information on Lissajous Curves:

The following is just for editing the raw file in OpenSCAD. These parameters are not exposed in Customizer. It just seemed like too much. If there is enough interest, I can open these in Customizer.

Overall frame size is controlled by two things: 1) the Lissajous Pane size, like the individual pane of a latticed window, and 2) the Lissajous Scale which can go from staying inside the lines to overflowing to create a more organic edge and more complex overlapping pattern.

The default and smallest Pane size (26mm) will make the square frame about 95 mm wide, while the maximum Pane size will make it just under 200 mm to fit on most build platforms.

The Muntin (the bars of the lattice frame) can be scaled slightly for a lighter or heavier look.

NOTE: Not included is the glass or acrylic that would fit in front of you picture/object in the frame window. The default frame size requires a 46 mm square piece. Obviously if you scale the print or change the size in the raw file, YMMV. Also needed is the backing material, like cardboard, foam board or the like to press-fit the glass and picture into the frame back. I left it deep so it could also handle thicker object like pressed flowers, hair clippings, etc.

More from Math Art

view more

All Apps

Customizer is the easiest way to take great 3D printable designs and make them your own. Make your OpenSCAD designs infinitely more valuable by empowering the community to customize them.

App Info Launch App
Customizer Thing App

Auto-magically prepare your 3D models for 3D printing. A cloud based 3D models Preparing and Healing solution for 3D Printing, MakePrintable provides features for model repairing, wall thickness...

App Info Launch App

Kiri:Moto is an integrated cloud-based slicer and tool-path generator for 3D Printing, CAM / CNC and Laser cutting. *** 3D printing mode provides model slicing and GCode output using built-in...

App Info Launch App
KiriMoto Thing App

With 3D Slash, you can edit 3d models like a stonecutter. A unique interface: as fun as a building game! The perfect tool for non-designers and children to create in 3D.

App Info Launch App

Quickly Scale, Mirror or Cut your 3D Models

App Info Launch App

You're welcome! It's a beautiful frame :-)