Overview
#
A pragmatic approach to OpenSCAD designrepo)#
Built with ❤ by the CadHub team (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 WhyThe truth is fillets, internal fillets, 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 there is a complexity ceiling on parts with fillets you can produce in OpenScad. Because of how important fillets in both making an appealing and strong part (by reducing stress concentration), a library that focuses on fillets 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 here:
#
FeaturespolyRound
#
It's like polygon, but upgraded to allow rounding of any of the points.
polyRoundExtrude
#
Piggy backs on polyRound
, Allowing fillets on the ends of polyRound
extrutions.
A negative vaule will flare the end out for a transition to flat, useful for creating filleted negatives for use with difference.
#
Radius Conflict resolutionBy default, fillets are automatically scaled to remove any give pair of subsequent fillets from conflicting (if they are too big and too close together). The feature can be opted out of.
translateRadiiPoints
- Point translation helpers#
Aids in the reuse of polygon of points. To keep a single source of truth and for editing them together.
shell2d
#
Self-explanatory, when combined with poly round, it gives a nice smooth transitioning shell.
beamChain
#
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.
mirrorPoints
#
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.
extrudeWithRadius
#
Similar to PolyRoundExtrude but is more generic.
It will work with any 2d shape, though uses a more hacky and less proformant method.
Use polyRoundExtrude
instead if you can
minkowskiRound
(not recommended)#
A power tool for rounding all edges of a design after the fact. Adjustable for external and internal radii.
Due to how slow Minkowski is, this helper is not recommended and may be deprecated in the future.