Utilizing SOLIDWORKS Variable Pattern in Designs
Have you ever wanted to be able to create a single set of features and then generate different versions of those features in different locations within the same model? Have you ever needed to create a pattern on non-planar faces? If the answer to either of these questions is “Yes,” then SOLIDWORKS Variable Pattern could be your solution.
Variable Pattern allows you to create new instances of your seed geometry on planar and non-planar faces, with each instance being a unique recreation of the original geometry without you having to manually recreate the pattern over and over again. The feature enables you to not only have complete positional control but also allows you to control the size, shape and orientation of each pattern instance at the desired location.
When should you use Variable Pattern? It is your go-to feature when Linear, Circular, Fill, Sketch-Driven, Curve-Driven, and Table-Driven patterns cannot produce the result you want. Although it can replicate the geometry created from those patterns, in most cases it should not be used in their place.
How does Variable Pattern differ from the other patterns SOLIDWORKS offers? Variable Pattern
- Understands how the original geometry was created and uses that design intent to create each instance in the pattern.
- Has instance dimensions that are defined using the same references as the seed geometry but which are unique to each instance. By providing unique dimension IDs for each instance, you can drive the location and geometry by creating equations that drive the instance dimensions or use the instance dimensions to drive other features.
- Like Table Pattern, has a table internal to the feature that is used to hold the data that drives the pattern instances. Once created, the pattern table can be exported for use by other Variable Patterns or exported and modified to use the extensive list of functionality that’s available in Excel and then imported to update the pattern. Simple mathematical operations can be performed in the table cells.
- Does not create pattern instances until you are ready to use them. Since Variable Pattern can take longer to generate instances than the other patterns, you are given the power to choose when to generate the geometry.
- Allows for instances within the pattern to fail but does not cause the entire pattern to fail. This is useful when you are testing out different dimensional scenarios to see how they will affect the instance geometry. Each instance that can be generated will be shown in the preview, while failed instances will be automatically suppressed by the software. You can then choose to remove those failed instances or modify the min such a way that they can be generated.
- Allows you to suppress individual pattern instances manually from the FeatureManager or programmatically from Configure Feature or a Design Table. This is useful when you have a Variable Pattern in your model but many configurations of the part.
What are the special considerations for Variable Pattern?
- Variable Pattern works with the following features: Extrude/Cut Extrude, Revolve/Cut Revolve, Sweep/Cut Sweep, Loft/Cut Loft, Fillet, Chamfer, Dome and Draft.
- Variable Pattern allows for both positive and negative linear dimension values to be used.
- Variable Pattern treats negative feature dimensions as the Reverse direction toggle button in the feature’s PropertyManager. For example, entering a depth of -10.00 for an Extrude will reverse the direction of the extrude with a positive 10.00 value.
- Variable Pattern cannot create individual bodies; the pattern instances must merge with a body. A sacrificial body can be created to allow the instances to merge with and then be removed after the pattern is created, thus allowing individual bodies to exist.
- The more complicated a feature is to make, the longer the Variable Pattern will take to rebuild it. This is due to the recreation of the feature geometry for each instance. While the pattern may take some time to rebuild, it is far less time than is required to manually create each feature needed to replicate the results from the pattern.
- Variable Pattern features, like Fillet and Chamfer, are best placed near the end of the feature tree, below the rollback bar, or suppressed when not needed.
- If a pattern instance fails and you don’t understand why, try moving the seed geometry to the same place using the same values that failed in the pattern, and you will usually be able to see why it failed and make the needed corrections.
What can you do with Variable Pattern?
1. Create grips on the bottom of a remote control using a combination of:
a) A sketch line constrained to the offset construction edge of the body
b) A projection of that line onto the non-planar bottom face of the body
c) A circular profile swept along that projection curve
d) A fillet applied to the swept face
e) A Variable Pattern of the sketch, sweep and fillet using the 90mm offset to control the position and the 2mm construction offset edge to control the size of each instance. As you can see, the sweep and fillet are the features to be patterned, and the sketch is used to convey the positional design intent.The resulting pattern follows the contour of the bottom face and is constrained by the offset edge so that it follows the shape of the body.
2. Create differently sized and oriented buttons on a PCB with a combination of:
a) A sketch ellipse offset by zero from the centerline of the model and angled zero degrees from the right plane
b) An extrude of the sketch with an end condition offset from the top face of the remote
c) A fillet applied to the face of the extrude
d) A Variable Pattern of the extrude and fillet using the size and linear/angular position dimensions to control each instance. As you can see, the extrude and fillet are the features to be patterned, and the sketch is not needed since its dimensions are exposed with the selection of the extrude.Note how the buttons follow the contour of the remote control’s top due to the offset from the surface end condition used on the seed extrude feature.
The examples above illustrate two levels of geometric complexity that greatly impact the rebuild time for the Variable Pattern as can be seen in the image below. VarPattern1 requires 20.20 seconds to create 22 instances, while VarPattern2 requires 5.78 seconds to generate 37 instances. This is due to the longer time required to generate the more computationally intensive projection curve and sweep along that curve for use in VarPattern1.
3. Some additional examples of what you can accomplish using Variable Pattern:
a) Airplane wing spars patterned along a 3D Spline member. Note that the structural member can be cut away to create individual instances of the spars.
b) A set of holes in a strainer created from a circular sketch pattern. For this particular pattern, a circular sketch pattern had to be used since Variable Pattern does not support the patterning of existing feature patterns.
c) Bulkheads in a boat hull that conform to the shape of the hull. Notice the sacrificial sweep connecting each of the bulkheads. This is used so that the resulting instances can later be split into individual bodies by cutting away the sacrificial sweep.
About the Author
Jody Stiles is a member of the Product Definition team at SolidWorks working on SOLIDWORKS and next generation products including xDesign. He primarily focuses on solid and surface modeling features and helps with Sheet Metal, Weldments, and Toolbox. Jody has defined and helped bring forth several projects during his tenure including Variable Pattern, Selective and Zonal Section Views, Thread, and Advanced Hole as well as several large scale quality and performance related efforts in SOLIDWORKS and much of the current modeling functionality in xDesign.
Jody had more than 12 years of mechanical design and engineering experience in several industries before joining SOLIDWORKS including corrugated packaging and conveying, PCB solder paste application, thermal test equipment, and acid vapor exhaust systems. Jody has worked with AutoCAD, Pro/e Wildfire and Creo, and of course, SOLIDWORKS during his career.