Complex Surfacing in SolidWorks

I am really beginning to like this surfacing stuff. So much so that I think I’m getting hooked to it. After my last post titled “Surfacing in SolidWorks” wherein I explained how I modeled a simple Christmas wreath, I fiddled around a little more and came up with this rose.

I have called this post “Complex Surfacing in SolidWorks“. Please note that here the word “complex” is relative. Modeling something like this may be simple to the SolidWorks gurus out there. But for a surfacing beginner like me this is rather complex. And you will come to know why by the time you reach the end of this post.

In the previous post I wrote:

Maybe creating sexy surfaces in a surface modeler like Rhino is easier than doing the same in a history based parametric modeling system like SolidWorks. But once you get it done, you end up with a powerful model with a lot of intelligence in it.

In this post I am going to elaborate a little more on the words “powerful” and “intelligence”. After looking at the image above you must have guessed that I created two or three types of petals and simply arrayed them around. Actually, I didn’t do that. This entire assembly has only two unique parts: a petal and a holder (for the lack of a better term). Yes, all the petals of the rose are instances of the same petal part and they have different looking surfaces.

Like most (if not all) history based parametric modeling systems, SolidWorks has this wonderful thing called Configurations, wherein you can define different representations of a part in the same part document. For the benefit of 2D users reading this let me quickly explain Configurations by means of a simple example. Say you are modeling two bolts, one with threads and one without. You can do so in only one SolidWorks part file by creating two Configurations. In one Configuration you simply ignore the feature that adds threads to the bolt.

So how exactly did I use Configurations to come up with petals of different shapes and sizes using just one SolidWorks part? First lets take a look at the holder (I really should have called that something else).

As you can see it has three coaxial circular slots where the bases of the petals fit in. The inner radii of the slots are 4mm, 7mm and 10mm respectively (note these numbers). The red hemisphere on the top does not serve any purpose and is for show. Now lets look at the petal part.

This is a part defining a single petal. It is comprised of an arc shaped solid base which is designed to fit into the slots of the holder and a surface thickened to 0.1mm. Which brings me to the interesting part. Take a look at this mother of a 3D Sketch.

Click image for larger view

The surface of the petal is defined by 4 bounding curves: an arc at the bottom and three 3D splines. I drew these splines free hand but spent quite a bit of time dimensioning each of the control points. There is a very good reason why I did that. Here is the thing. I wanted to use the same petal part for the 4mm, 7mm and 10mm radius slots on the holder. So I created three Configurations for the petal: Inner, Middle and Outer. For the Inner configuration I set the radius of the petal base to 4mm, 7mm for Middle and 10mm for Outer. Here is the Design Table for the petal.

But there was a problem. By using the three Configurations I could slot in different sized petals into the 4mm, 7mm and 10mm slots on the holder, but the actual shape of the petal would be the same. The rose would look more like a flat sunflower. So I dimensioned each control point of the three splines and created equations for them relative to the radius of the petal base. So if I changed the radius of the petal base the control points of the three splines would be automatically moved in 3D space so as to give me a totally new surface. This is actually not the same as scaling the surface up or down. Doing this actually deforms the surface thereby giving different looking petals. And this is the power and intelligence that I was talking about.

So to create my rose I inserted 3 instances of the same petal into a SolidWorks assembly. I set one instance to Inner, the second to Middle and the third to Outer and mated them appropriately with the slots of the holder to get this.

Finally I simply arrayed the individual petals around the axis of the holder to get my beautiful rose.

If you are interested the SolidWorks 2010 part and assembly files of the rose can be downloaded from here. I have thrown in a Parasolid 16.0 file as well in case you do not have SolidWorks 2010.

To all the SolidWorks surfacing experts, if this could be done in a better way, please leave a comment and enlighten me and other readers.


Michael Malov from SolidWorks Russia sent me this amazing piece of art.

Click image for larger view

You can download an eDrawing along with few screenshots from here. Too bad Micheal could not send the native SolidWorks files.