It's hard to describe with words, but here goes.
Base Shape
The ball was constructed by first creating an icosahedron from scratch. I used the arc tool with the center at the origin, the start at 0,0,1 and the end at 2,0,1. This gives you a perfect arc along one edge of an icosahedron with an angle of atan(0.5) or 26.565 degrees. Then just array these arcs into place.
Dimples
Next create one dimple by scaling a small sphere along one axis. Then use curve-array and select one of the arcs to arrange the dimple along that path. You'll need some more arcs that cross over the surface from one edge to the next. And do some more "curve-arraying" to create the dimples in the middle.
Cutting
Once all the dimples are in place do a boolean subtract with a unit sphere to cut them out. This operation took about 10 minutes on my PC and it looked as if MoI locked up, but it was actually working hard to calculate all the intersections and stuff like that. This operation failed to include all the dimples -- some were simply ignored for some reason. I was able to resolve this by scaling up by a factor of 10. I read this tip in one of the posts here.
Smoothing
Then, and this is important, select the sharp edges and fillet them with a G2 Blend not Circular. This rounds off the edges and makes the ball look better. I also had problems here because the fillet would fail with the radius that I needed. And some dimples were ignored again even with a very small radius. And those dimples didn't lie on a visible border either.
I may have left out a few things, but that's the basic workflow. In the end I resorted to modeling one section (i.e., one face of the icosahedron) and arraying them into place. After joining all 20 pieces, boolean ops no longer worked. This is not what I wanted. I'll have to go back and try to model it as one piece so I can do a cut-away rendering.
|