The SOLIDWORKS Fill Surface Feature
The SOLIDWORKS Fill surface was added to the software in 2001, after surfacing was added in 1998+. It is essentially an N-sided Coons patch that will fill an opening in a surface that is otherwise closed. Of course, the function is more complex than that, but this sums up what it was intended to do.
Fill can patch holes including holes with more than four edges, as well as gaps with irregular shapes. You might want to call it the SOLIDWORKS Surfacing Magic Wand—but like a magic wand, the outcome isn’t always as expected.
The Fill surface is usually bounded by edges, but you can also use sketches and internal constraint curves.
Figure 1: The blue surface would have been difficult to create any other way, but the Fill surface handles this with ease.
Basic Patch Fills
One of the simplest things a Fill surface does is to simply fill a hole in a model. The hole might exist because it is the last gap in the modeling process, or it might be a hole that was created intentionally to get rid of a blemish in the model.
The razor handle model used in this article uses three Fill features that serve different functions. One is at the thumb rest in the middle, one rounds off the end and the third fills an awkwardly shaped patch.
Figure 2: This model represents several different types of shapes the Fill surface can handle.
The real strength of the Fill surface is to fill irregular patches. In this case, an area was needed for a thumb rest. Since Fill does not require the typical U-V two-directional four-sided patch, it is ideal for this kind of situation.
Notice that a constraint curve was used to help direct the shape to some extent.
Part of the beauty of this feature is that it tries to automatically blend between the selected inputs. Because you are relying on the software to make a nice patch, you don’t have exact control.
In the case of the thumb rest, Fill does a nice job; however, just as frequently it might turn the flow of the U-V lines in some random direction. In other words, this might work and it also might not. Constraint curves are one way to take back some control. You can even use a sketch point as a constraint curve, which gives the software some guidance, but still letting it do its job smoothing between the input edges you have given it.
In the case of the awkward patch on the handle, three model edges and an edge from a reference surface were used. The reference surface was simply extruded at the symmetry plane to provide a face for the tangency. Fill does not provide for tangency settings to sketches or curves; instead, you have only the edges of a surface.
Not having tangency and curvature options with weighting controls, like the Boundary and Loft functions, are the biggest weaknesses of the Fill tool.
Notice in the image below that two of the edges are set to straight Contact, which creates an edge rather than a smooth blend. The remaining edge uses a Curvature condition for smooth transition. For this to work, the reference surface must also have a curvature continuous relationship with the lower edge.
Figure 3: Extruded surfaces at the symmetry plane can help you set up a Fill surface.
This patch could have been created with a Boundary surface just as easily, but it makes a nice Fill surface example. Notice here that the U-V flow does not line up with the rest of the model. For this reason, you might have selected Boundary instead, where you would have more direct control over the U-V flow.
Fill can sometimes line up the U-V to the rest of the model when you use the Optimize Surface option with a four-sided patch. However, in this case the four sides all come from different surfaces, and it’s beyond what the Fill feature can do.
Avoiding Degenerate Corners
The main part of the handle was created with a Boundary surface where the Direction 1 curves intersect at the rounded left end. This creates a situation where the flow lines all intersect at a point. This is called a degenerate point, and can be the cause for problems with shells, offsets, fillets and even CNC programming or FEA later on.
For this reason, it is common practice to cut off the degenerate end and replace it with a Fill surface. The special capabilities of Fill allow it to avoid creating degenerate corners. If you learn to recognize this type of situation, you can avoid a lot of troubleshooting in the future.
The degenerate area was trimmed off and replaced with a Fill. The Fill uses a constraint curve to make sure the shape at the symmetry plane is correct.
Figure 4: Capping off round ends to avoid degenerate point conditions is a favorite pastime of the Fill feature.
This alone is reason to learn how to use the Fill surface. With the Fill surface, you can frequently take areas that other features just cannot handle and smooth them over quite nicely.
This example uses a model of a bicycle frame. Most SOLIDWORKS users would probably look at this shape and say, “Yeah, just put a couple of big fillets on it and be done.” You might be able to do that and get away with it, but there is a more sophisticated way to get a better shape.
In this case, the surfaces were trimmed out to prepare the straight tubes, then Boundary surfaces were put in to make guides for the Fill surface.
This allows Boundary to do what it is good at, which sets up what looks like an impossible task for Fill. That irregular Y shaped hole isn’t like anything that other features can take on, but Fill smooths out the patch like a pro. The magic wand works.
Figure 5: It’s much more than just fillets plastered over intersections. Fill surface eats irregular patches like this for lunch.
Atomic Bomb Fillet
Many of these techniques have been developed by other users often using other software packages decades ago. We owe Pro/ENGINEER users from the 1980s a debt of gratitude for many of these techniques that just happen to translate into SOLIDWORKS. This is another example of one of those techniques.
The Atomic Bomb Fillet is the one technique you can use to smooth over just about anything, no matter how ugly it is.
This example is from a helmet model. Small details were supposed to blend into the rest of the model nicely, but the fillets would only work part way and wouldn’t go to the ends.
To make this work, the trouble area was cut out; then the fillets would work.
This four-sided area could have been trimmed with any shape, but this follows the flow of the shapes as they need to integrate into the rest of the helmet.
Next, we have an example of what sometimes happens to the Fill surface—it just goes nuts. It looks like a crazy, undulating 3D data plot. In this case, all the edges are set to Curvature. This probably happens because there is no way to relax the weighting of the various sides, and all of the constraints are doing battle to find a solution. Obviously, this is something you don’t want.
It turns out that relaxing the setting from Curvature to Tangent, sometimes on just a couple of edge selections, allows everything to work the way you want it to.
One other thing to point out here is that this turned out to be a good example for showing the Optimize option.
That the U-V mesh flow in the Fill surface seems to have a mind of its own has already been mentioned. But in certain situations, it will try to align itself to the mesh of the surrounding surfaces in order to better fit in to the overall flow. The first condition you need to fulfill is to have a four-sided patch. Another condition is that the flows of the surrounding faces do not conflict with one another.
Take a look at the following images. The second one uses the Optimize option, while the first does not. Notice how the first example shows a somewhat arbitrary orientation, and how the second one blends in better. In addition, the blend happens faster in the first example, and more gradually in the second.
Figure 6: Smoothing out blends and fades is a task you should bring to the Fill surface first.
The Optimize option is another example of one of those switches that you just have to play with. The rules for how/when it works are complex, but you just need to remember the four-sided patch, and non-conflicting flows.
Of course, the proof is in the pudding, as the saying goes. The best way to see if the feature was successful is to turn off the edge display and look at the finished product. If you can see artifacts from the modeling process, you need to go back and try again or make some adjustments. In this case, it looks pretty good.
Figure 7: Good results speak for themselves.
Special Settings or Techniques
Several of the special settings and techniques that relate to the Fill surface have already been mentioned, but there are a few more that deserve to be pointed out.
Fix Up Boundary
Fix Up Boundary is the option to reach for when you do not have a fully enclosed patch.
For example, in the image below, there are only three sides enclosing the patch. Normally, that wouldn’t allow the feature to produce any geometry, but the Fix Up Boundary makes it work. However, notice that the Curvature edge setting doesn’t do much when this is invoked.
Sometimes the unconstrained side will bulge out in an exaggerated fashion, forcing you to do something with the open gap.
A 2D or 3D sketch is enough to enclose the patch boundary, although a sketch does not enable you to control tangency at that side—not even with the direction vector option that is available for other features. This is why reference surfaces are used, often made by extruding, to establish a reference for the desired tangency direction.
This setting is also sometimes useful when there is a small gap, and you can’t see it.
SOLIDWORKS terminology is sometimes uneven. The word Merge in this case should be changed to “Knit” since “Merge” is used in other ways in other places.
When it comes to the Fill surface, however, just know that Fill can automatically knit the resulting feature into the adjacent surface bodies.
In conjunction with the Merge/Knit technique, if the result of the Knit is an enclosed volume, then the Fill feature can also convert it into a solid body. The combination of these settings saves a lot of time.
There are some caveats regarding the settings turning themselves off without an error message if things fail, but that’s a subject for a deeper discussion.
Fill really is like a magic wand. If you have a solid with a blind hole, you can use the Fill surface to cap the open end of the hole, then use the Merge option and it will fill the hole with solid.
There are also some caveats with this, such as if you do it on a planar surface, there will be no remaining edge (truly merged). Sometimes Fill can react badly at the direction of the merge, and you’ll just have to flip the Reverse Direction switch.
You can still fill holes without the Fill feature, but it would take a lot more work.
The Fill surface is one of those tools that does things other tools just can’t do—at least in part because of the mathematics behind the scenes. Fill can also sometimes be stubborn and non-compliant, but that is again because of the mathematics behind the scenes.
Most of the time, there is a way to get the Fill surface feature to give you a good result. Just remember to play with the switches, try some constraint curves, try easing the curvature or tangency controls on the edges, or maybe split up the area you want to fill into two surfaces.
It’s a very powerful tool, but it does have its quirks and limits. You can find many more examples of this and other surfacing tools and techniques at the author’s Surfacing Episodes site.
To learn more about SOLIDWORKS, check out the whitepaper Developing Better Products in the Cloud.