Webbing, making smooth connections between circles
I just developed a new feature that I think will be useful for many
different design applications.
I am calling it webbing (as in webbed-toes) and the general idea is
that you have two circles of given diameters "d1" and "d2" on a plane.
The first circle is centered at the origin, and the second circle is
centered at the 2D point "c2". And you want to connect these circles
as one object, using smooth continuous curves that neck down to
minimum thickness "th" in between those circles.
The way it forms this shape is by making a polygon out of circular
arcs that alternate between convex and concave. The hard part is
calculating the necessary radius r3 for the arcs that form the concave
portion that will give the desired minimum thickness th.
I spent some time working out the geometry equations involved, with
some help from mathematics software to solve for r3, the final
equation was pretty messy, but the results are worth it.
The main function signature is
function webbing(d1, d2, c2, th, r3)
which will return a list of points for use with polygon.
r3 is optional and is intended to override the r3 that would normally
be calculated based on th.
This is primarily because specifying a minimum thickness to neck down
doesn't make sense for certain cases of overlapping circles where one
is overlapped more than half.
If a th is given that is larger than either d1 or d2 then it will be
limited to the smallest diameter.
The webbing function can be used to help model many kinda of shapes
such as connecting rods, dumbbell like shapes, lever handles, parallel
connected tubing, etc.
Attached is an animated gif of the webbing_demo in webbing.scad, which
shows the function being used with various combinations of parameters,
and applied in a few different ways as examples.
The leftmost shape in the animation is just to visualize the diameters
and thickness that are being input to the webbing functions, with some
different combinations of solid and hollow webbing shapes to the
The other image is an example work-in-progress for a sort of motor
cooling duct I'm designing. The flange is a union of a bunch of
webbing between the various air holes and mounting bolt holes on the
motor face. The webbing is only used for this flange feature of the
model, as the other parts(not yet designed) will be tubular pipes
sweeping around some curves. The end result is intended to resemble
some types of automotive exhaust headers.
Let me know what you think of this feature concept, or if you use it
in any designs of your own!