Round-Anything, a pragmatic approach to OpenSCAD design

Round-Anything is primarily a set of OpenSCAD utilities that help with rounding parts, but it also embodies a robust approach to developing OpenSCAD parts. I built this library to solve some of my own struggles with rounding and OpenSCAD, and I've been happy to see other's are finding it useful too.

The Why

The truth is radii, internal radii, in particular, can be a real pain to add in openscad. And the more you move away from shapes with 90 degree angles, the more difficult it becomes, effectively putting a complexity ceiling on parts you can produce in OpenScad. Because of how important radii in both making an appealing and strong part, reducing stress concentration etc. A library that focuses on radii as a core principle makes for a solid foundation for your parts. Furthermore, the heart of the library revolves around the polygon, this is because we're leveraging the battle-tested paradigm of extruding from 2d sketches of most CAD packages. I can't imagine making an OpenScad part without Round-Anything.

Below is an overview of the library's features, For documentation of its API click here.
There's also a timelapse of a part made using the library.

A video version of this article can be found below:

Quick side-note

I'm currently working on a community website for "Code-CAD" (like OpenSCAD). A good way to think of it is codepen crossed with a thing repository. You can check it out at or it's repo.


Minkowski Round

A power tool for rounding all edges of a design after the fact. Adjustable for external and internal radii.


Gives the ability to round each point of a polygon.

Radius Conflict resolution

Can automatically Shrink radii for any pair that are too close together and would cause a conflict, can be opted out of.

Point translation helpers

Aids in the reuse of polygon of points. To keep a single source of truth and for editing them together.


Self-explanatory, when combined with poly round, it gives a nice smooth transitioning shell.

Beam chain

Unlike a regular polygon, where the last point is joint to the first to complete the shape. Instead, we can treat each set of points as a beam without it wrapping at the end. We can round the transitions between the beams and combine with other points, to form more complex shapes.

An offset from the normal gives beams their thickness.

Mirror points

For mirroring a set of points. The benefit of this over using the native OpenSCAD mirror transformation is the ability to put smooth radii along the mirrored plane.


Allows for putting a radius on the end of extrusions when using polygons. A negative vaule will flare the end out for a transition to flat.

Radius extrude

Similar to the above but will work with any 2d shape, though uses a more hacky and less proformant method.

Did you know you can get Electronic-Mail sent to your inter-web inbox, for FREE !?!?
You should stay up-to-date with my work by signing up below.