« Back to “Projects”

Duck plate with OpenSCAD

Inspired by the ceramic materials on Shapeways, I really wanted to make something with them. Actual ideas were more difficult to come up with, though.

Decorative pieces are cute, but by their very nature quite useless. This leaves the rest of the normal uses for ceramics: cups, plates and ovenware. Plates are simplest, so it was a good starting point with this new material.


A plate would be simple enough to draw directly in 3D using Blender, Freecad or similar. However, if I'm going to make many of these, I want an automated process. OpenSCAD seemed like an ideal tool for this job — except for one missing featured: tapered extrusions.

A plate should have smooth, upwards curving edge. In an usual 3D program, you would take the outline, extrude it into a thick plate and then resize the top face to make it tapered. However, OpenSCAD does not yet support this, nor any other way to apply non-affine transforms.

Fortunately it supports something a lot more powerful (and also a lot slower to compute): Minkowski sums. Think of it as a 3-dimensional convolution: you can take a profile for the plate edge, and run it across every point of the outline. By combining a few sums, rotational extrusions and differences, it is quite simple to convert any 2-dimensional outline and 2-dimensional profile into a smooth 3-dimensional form:

If you are interested, you can download the files here: edge profile, duck outline and OpenSCAD script. Be warned that the script will take about 20 minutes to run, though you can reduce the $fn value to make it faster.


The model worked out great. I was a bit worried about the internal corner between the head and tail, but it glazed just fine. Some of the polygons on the head remained visible, I should have used more subdivisions.

Front side of the plate
Back side of the plate

I am particularly pleased on the unglazed base of the plate: just like it should be, just like it is on store-bought ceramics. I'm not sure if Shapeways does the glazing by spraying, brushing or dipping, but the results speak for themselves.

– Petteri Aimonen on 28.12.2012

Comment on this page (2 comments so far)