Blast from the Past: Stepping outside of the parametric feature-based paradigm in SolidWorks

SolidWorks is a parametric feature-based, history-based solid modeler. Whatever that means. In SolidWorks, and other similar software, a model is usually edited by going back to the original feature used to create it, and changing the parameters defining the certain aspects of the feature. In most situations, this way of working is more than adequate and works well. The history-based nature means that features listed after the one changed will update to match the changes in any earlier features. This system of defining and creating features and building features into parts depends on you following a process. Both creation and editing require following steps in this modeling process. None of this is news to anyone who has used the software. Some CAD software packages do not follow this way of doing things. Rhino is probably the best known example of a non-feature based modeler. In Rhino, you just make and edit surfaces, either by defining curves that drive the surface, or by creating a “primitive” (pre-defined shape such as a cylinder or sphere), and tug-and-pulling that into whatever shape you like as if it were a lump of clay. The advantage that users get is that there is no “process”. You just edit the geometry directly. There is no history. There are no features, just different techniques for making and editing curves and surfaces.

One of the strengths of tools of this sort is that they can deal with imported geometry in the same way as native geometry. It is all just NURBS after all.

If this freestyle design concept strikes your fancy, you can model in SolidWorks while ignoring the feature tree. I’ve seen people do this. One industrial designer and one aeronautical engineer (who shall remain nameless) have been guilty of giving me models created as if SolidWorks were not a parametric history modeler. Essentially, the models had material added, and then cut away (instead of edited or deleted). One of the models got to the end of a complex and confusing set of features, and then used a Delete Body feature (which is a history-based technique for limiting access to solid or surface bodies), and then started all over again. Another one modeled an entire assembly as a single part, and then cut off everything except a tiny little detail.

I’m sure this happens far more frequently than anyone will admit to (have you ever heard anyone admit to changing dimension display values in AutoCAD without updating the actually geometry?) In both cases, everything they did, an entire record of their sins, remained in the feature tree. One of the same guys did a complex model and realized he couldn’t control it, so he saved it as a parasolid and brought it back in and then proceeded to add more features. Don’t be a dork. Don’t do this. Please. I know when you are just concepting, it can be tempting to hack-and-slash, which is ok if it’s a first run concept and you’re just trying to get an idea into the computer, but really, for your own sake, don’t let those kind of models leave your own computer. You can lose a lot of credibility by sending out something like that. That said, there are ways of stepping outside of the rigidly structured parametric feature-based modeling paradigm enforced by SolidWorks which are still controversial, but not in the “reckless disregard for best practice” category of the previous examples.

Move Face is a feature which enables you to translate, offset or rotate a face of a solid or surface model, and still maintain the integrity of the body. This is not the Offset Surface feature, which makes a copy, this alters the existing body. The original feature(s) that created the face(s) being moved is not affected at all. The Move Face feature sits in the tree like any other history based feature, but it is not using the original parametric feature to edit the geometry. It is basically editing the geometry directly instead of through a parametric feature. The Move Face feature works the same regardless of how the faces being moved were built or whether they belong to a single or multiple features. It can add or remove material, it cannot push a boss into a part to make a cut, although it can completely remove a feature.Move Face is found through the menus at Insert, Face, Move, or is part of the Features set of toolbar buttons, not on the toolbar by default, use Tools, Customize to add it. This function is difficult to find in the SolidWorks Help, and doesn’t appear if you use the index. Once you do find it there is no example, and no screen shot of the interface. Someone needs to help the people writing the help.

One of the major implications of this feature is that it enables you to easily edit imported models. You can change the size of fillets using the offset option, move bosses, elongate faces, and many other things, all without leaving the comfortable world of solid modeling.

Move Body feature can be used to position bodies within a part relative to the origin, relative to their original location or relative to one another using either coordinate values or mates. Don’t think of this as a replacement for an assembly. It is not. There are situations where using multibody parts as a surrogate for an assembly is a practical approach.

Delete Face is a feature that can turn a solid body into a surface body, or maintain the body type whether it is solid or surface. If the Delete And Patch option is used, SolidWorks tries to extend or trim neighboring faces so that the selected face can be removed from the model. This makes the Delete Face feature seem like a wonderfully magic tool, and it is, but you should pay attention to how it is used, because you pay a performance price for using it. Using the Delete option will turn a solid into a surface, or remove faces from a surface body. This is not creating a copy of the body like the Offset or Knit commands. Again, one of the most impressive things about using Delete Face is its ability to edit imported geometry. A good understanding of the boundary representation concept is important to understand how Delete face works, especially when using the Delete and Patch option.

Delete Hole is a specialized feature which works on surface bodies to remove holes within the surface boundary. This is accessed by clicking on the edge of a hole and pressing the Delete key on the keyboard. It is essentially the same as an Untrim, which restores the underlying geometry of a surface body by removing imposed boundaries.

Delete Body mentioned earlier is not actually a delete function at all. It is just another history-based feature that sits in the FeatureManager. Before the Delete Body feature in the tree, the user has access to the body, and after the feature in the tree, the body cannot be accessed. The body or bodies in question are not deleted at all, they still exist inside the SolidWorks file but they are simply no longer available to the user if the feature is unsuppressed. Performance and file size are not improved by using Delete Body to get rid of unneeded bodies, except display performance, but still the improvement is no greater than simply hiding the body. The only difference between a hidden body and a deleted body is that the user or automated functions cannot access the deleted body at all without rolling back, deleting or suppressing the Delete Bodies feature.

The Delete Body feature can be found in the menus at Insert, Feature, Delete Body. The toolbar button is in the Features set and is called Delete Solid/Surface. Why do some features have different names in the menus vs the toolbars? Dunno.

Flex is another feature which edits the model geometry directly. This can be used to twist, bend, stretch and taper a model, again without regard to features used to create the geometry originally, and also works equally well on imported models.

Deform is a feature which enables various ways of deforming all or part of a model based on several different methods. The most useful method is the Curve To Curve deformation which enables you to create a sketch or 3D curve and force a model edge to match that curve.

You may find many of these tools useful in various techniques, but keep in mind that the shortest possible path is not always the best way. The Deform feature can be dreadfully approximate, and while it can produce interesting shapes, you don’t really have much control and the results can’t be said to be “intentional”, especially the Surface Push option. Flex can be useful for creating “looks like” representations of flexible models in various positions which might be incredibly difficult to create using other methods, but the quality of the resulting geometry is pretty poor.

All of these methods are described in more detail in the SolidWorks Bible. More importantly, best practice considerations are explored for each one. Best practice is never an absolute set of commands, but rather a vague set of principles which need to be applied in various situations and weighed against competing/conflicting considerations.

Stepping outside of the traditional history/feature-based modeling paradigm in SolidWorks does give you a lot of power, especially when it comes to editing imported data, but these techniques need to be applied thoughtfully when working with native data and when considering that your work may be shared with others or even when you must extensively edit your own models, which is when “best practice” concepts need to be applied.

10 Replies to “Blast from the Past: Stepping outside of the parametric feature-based paradigm in SolidWorks”

  1. Hi Matt

    I understand that there is so much about the latest release of Solid Edge that you cannot disclose. I have been wanting to see SolidWorks Flex type tools implemented into Solid Edge for years now (twist in particular). I work with Solid Edge everday and even recently, I will save my part model out as an .xt file, open up in SolidWorks 2005, twist, save as .xt file, and re-open in Solid Edge to finish up my part model. Not ideal, I know, but it works. I was hoping for just a hint perhaps, if I would be seeing anything like Solid Works Flex functions (or not) in ST7. I am currently using ST4 and am looking forward to upgrading for this fuctionality. I am aware of the helix and twist function in sweep, but its just not the same and does not give me what Solid Works Flex/Twist does.

  2. Solid DNA (Luc)

    3D Sketching…. This is great news. What I love most about Solid Edge is that Siemens and the SE Development Team are working on new and better Modeling Tools, and not all this goofy crap like “The Cloud”. So WHAT would you prefer driving your CAD development’s future… actually Engineering and Design tools or gimmicks designed to suck up to your IT Dept. and the bean counters who don’t ever use the software? These are the same dolts who force their Engineers and Designers to work on 17″ monitors because it’s bigger then their 15″ laptops, and that seems big enough.

    But iall this “cloud” non-sense is just that… a cloud! A cloud of who’s really controlling your data and how secure is it. I can’t believe this silly notion of CAD on the Cloud has even gotten this far. But I guess the dream of more annual revenue driven purely through monthly fees, is just too tempting…. and users be damned!


  3. Check the Solid Edge univerity site

    ST7: 3D Sketching in Solid Edge

    Rahul Kulkarni, Manager, Product Design, Pune Center, Siemens PLM Software

    Level: Basic

    Tired of creating multiple 2D sketches on several different planes and connecting all of them to create a 3D sketch? If yes, then this session is for you. Learn how to design faster using the 3D sketching capabilities in Solid Edge. There will be a live demo of the 3D sketching capabilities that includes using the various 3D sketching commands, applying relationships, locking the orientation using a triad, snapping to existing geometry and applying dimensions. Use these 3D sketches in modeling, in surfacing, for placement of components in assembly or for creating tubes, pipes and frames.

  4. Hey Matt,.. just to share with you guys that same Rhino camera model created with surfaces in SW2006. Originally I did it to show Rhino3D users it can be done in SW.


    1. Paul,
      Thanks for the image. Yeah, you can do some nice surfaces in Works, but editing was always a nightmare.

  5. Hey Matt,

    Long-time fan, first-time poster. Your recent shift from Works to Edge inspired me to start doing the same. One difficulty I am having, however, is getting used to Edge’s surfacing workflow. I’m a bit lost without 3D sketches! I would love to see some of the old surfacing posts (like the puffy cube) come back with maybe some commentary on how it works in Edge.


    1. What a classic. The puffy cube. Solid Edge has a feature called the Keypoint Curve, which is essentially a 3D spline. The SE equiv of a SW projected curve is called the Cross Curve. Thanks for the suggestion. That sounds like a worthy one to resurrect.

  6. Hello Matt,

    Thanks for posting this. Having read many of your posts in their original state, it is most intriguing to be reading this all over again and to find the same questions I had back then popping up as well. For example, while I was most impressed by (and in many ways, grateful for, as it saved my skin in many a tricky benchmark) hole delete which was introduced back in the early 2000’s, I never quite got round to appreciating the deform (and similar commands like dome) which always felt really nice in a “yeah, we can do that” kind of way but seemed to just lack sufficient ability to really get to what you really wanted.

    Thanks again for the blast-from-the-past post. Fun times, those days were….

Leave a Reply

%d bloggers like this: