# Method to specify the Solidify thickness based on another surface

I have a set of concentric spheres of varying radii, each a different color (material). I would like to use the SOLIDIFY modifier, and add a thickness to each such that it fills in the distance between the larger sphere and the smaller sphere.

I plan to put this in a script, so I have tried to build an algorithm based on their radii (and the difference of), but something's not working out. A visual example may help. Below is a 1-D model from the outside of the largest sphere (left) the center of the concentric spheres "(center)":

Crrnt: 1.......2...3......4.....5......(center)

Ideal: 1111111 2222 3333333 444444 5555555 (center)

You could add a driver to the Thickness value.

In this example, I've used the property dimension.x (it corresponds to the diameter).

If you need the value to change only at certain steps, you can set the interpolation mode to constant:

When you duplicate the sphere (alt +d), the driver will automatically update and it will mantain the reference to the proper diameter.

NOTE: Remember to apply the scale transformation after scaling, otherwise the Thickness value will scale too.

Question: I am trying to pre-determine the Thickness property of the Solidify modifier required to completely fill the gap between two concentric, spherical shells. I know the diameter of both shells ahead of time, the shells will always be centered at (0,0,0). I would like to keep Offset = -1.0. Using a number of examples, I have tried to back out a mathematical relationship / equation, based on the difference in the diameter of the shells. But this falls apart when the shells diameters change, but the difference between the shell diameters remains the same.

Example: If i have a hemisphere of diameter1 = 8m, and a smaller, concentric shell with diameter1 = 2m (difference = 6m), then a Thickness value of 0.7485 will fill the gap between these two hemispherical shells. However, if I use 2 shells that are diam1 = 100m, and diam2 = 94m (difference = 6m), then a Thickness value of 0.05975 fills in the gap between the concentric shells.

How can I pre-determine what this thickness needs to be for any case of 2 concentric shells?

Response: Not my solution, but from one of the Blender experts:

"I'm quite sure the thickness parameter gives a direct offset from the surface, i.e. a perfect sphere with radius R and solidify thickness X creates a sphere with radius (R+X). This matches the first observation, where dR=3 => thickness = 1.5 / 2 = 0.75 ~= 0.7485. The reason you don't see these values in the second case is probably because the object is scaled by 100/8 = 12.5 => thickness = 0.75 / 12.5 = 0.06"

The thickness value is exactly half the difference of the diameters:

(Dmax-Dmin) / 2


Remember to apply the scale transformation (ctrl+a) if you are scaling the sphere, otherwise the Thickness value will scale too.