History . . . or Not? (MCAD Modeling Column)28 Feb, 2007 By: IDSA ,Mike Hudspeth
History and nonhistory-based modeling software each has its own advantages.
If you've kept track of the 3D-modeling business for very long, you've heard of a great battle that is raging: history-based modeling versus nonhistory-based modeling. Both camps have strong supporters. In fact, sometimes it sounds like partisan politics. Just because a system is parametric, is it better than one that isn't? I don't think so. I have used many systems over the years, and I can tell you from first-hand experience that both approaches have merits. But what's at the heart of the debate?
In this article
First of all, I should define what I'm talking about—a lot of nomenclature is rattling around nowadays. Non-history-based modeling has been called many things, and not all of them are flattering. Most of the time I've heard it called explicit modeling. Nonhistory-based systems were here first. They depict the geometry or the topology of the model, if you will. They aren't concerned with the order in which things are added; it's the resulting body that counts.
History-based systems build a model by tracking the order—or history—in which users do things. In doing so, they try to capture design intent. They try to build the model so that users can explore what-if scenarios. Even within history-based systems, however, there is variation. Feature-based modeling creates things such as bosses, extrudes and revolves. These features have parameters that users can adjust by specifying numbers for distance (how far do we take this?) or vectors for direction (which way did they go?). This information sticks around and can be changed. Features are built upon one another. Parametric modeling usually means that you create sketches that have constraints—either geometric or dimensional relations. You can even create formulas that will control your design (for example, this will always be one-half of that).
Some people don't understand what the big deal is, but let me tell you: It is a big deal. According to a recent CAD interoperability survey (www.kubotekusa.com/news_events/press_releases/pr_10_18_2006.html) by Kubotek, the maker of KeyCreator, working with other people's data is a labor-intensive, problematical undertaking. Of the 2,869 survey respondents, 46% said they used a parametric modeler. It's getting close, but that's still less than one-half. So 54% of those who responded don't use a parametric modeler. Why? For the sake of discussion, I'll ignore for now those who haven't gone to 3D. If you use a 2D system such as AutoCAD, you don't generally have to worry about this sort of thing. (I know, I know, AutoCAD does 3D—but when was the last time you heard of people using it for that?) 3D modeling has real benefits that most 2D users are missing. And how you create your 3D models is important.
Advantages and Disadvantages
We've all been there: Under the gun to get the job out on schedule, but things aren't going as well as you might have hoped. You wish you could just make the computer do what you could do out in a model shop with a big grinder. If you get a lot of data from outside sources, then getting results in a nonhistory-based system can be very fast. You can pull in data from just about anywhere. All you need to work on a model is an enclosed volume. After you have the data in your system, you can slice and dice to your heart's content without any regard to what it is doing to your model. Working on a nonhistory-based model can be quite liberating. You can just get in there and do what you want. There's nothing you can't change in a nonhistory-based system.
When it comes time to make a change, however, you have to build the things that need to be changed. If you just need to increase the height of a boss, you need to move the top face, and that in turn will change the angle of the sides of the boss. Okay, you select the sides as well, but that changes the diameter of the bottom of the boss. If you need to zero in on the right height, you will be making a lot of these adjustments. If you build a feature on a face of your model and the face moves, the feature may or may not go with it. (It would depend on what faces you selected to move.) You can't assign formulas to keep your models the way you want them. And other people will probably have a hard time trying to figure out why you did things the way that you did.
Two popular nonhistory-based programs are KeyCreator (formerly CadKey) and CoCreate's OneSpace. Of course, just because a modeler is history-based or not isn't an indication of how good it is. The next version of KeyCreator will introduce some very powerful direct-modeling capabilities. You will be able to assign dimensions between faces much the way you can in a sketch (figure 1).
Figure 1. Technically, Kubotek s KeyCreator 2007 is a nonhistory-based modeler, but it will allow you to assign dimensions directly to the model geometry to control it. This method is a very parametric way to model. It looks like it may become a hybrid modeler.
Using a history-based system takes a little more work, but it has advantages. You can update your model more easily just by selecting a feature and changing its numbers. It's nice to know that if you move a face with a built-on feature that the feature usually goes too.
One of the most powerful history-based methodologies is parametric modeling. Changes are supposedly much easier and quicker with a parametric system. You create a sketch that is tied to a theoretical plane or planar-model face. You must set up your sketch so that when something changes it's referenced by the sketch, and the sketch will update itself automatically. You can use all manner of relationships to define the way you want your model to behave (for example, when this does that, that will do this and this will always stay tangent to that). The downside of parametric modeling is that it can be difficult to see all the relationships and because change is automatic, and things may change without your knowledge and sometimes in disastrous ways. Another interesting downside is that you cannot sketch everything you need to control. You can sketch out the profile of an extrude, for instance, but you must define its distance when you create the feature. This restriction means that although you can still edit it, you can't change the distance from a sketch or inherit the dimension onto a drawing.
Figure 2. Pro/Engineer introduced most of the modeling world to parametric modeling. It uses sketches to define relationships, but because sketches are inherently 2D they can t define every-thing you need in a 3D model.
Two very big names in history-based modelers are PTC's Pro/Engineer (figure 2) and SolidWorks.
Hybrids: Can't We All Just Get Along?
If you can't make up your mind, some modelers use both history- and nonhistory-based methodologies. These programs are called hybrid modelers. You can sketch and build your models from scratch or you can import models from outside sources and build right onto them and add history as you go. You can blast away your history at any time if it becomes inconvenient. A downside of this purging ability is that when you trash it, that's it. You can't retrieve your history—it's gone. Of course, you can always add new history.
Figure 3. Hybrid modelers such as UGS NX let you model no matter what kind of model you have. If you can get it into the software, you can add history.
The upside is that you can work on anything, and that's a big upside. I think the future belongs to modelers that can add intelligence to a model no matter its source. They have the ability to handle jobs no matter what needs to be done. Two examples of hybrid modelers are UGS' NX (figure 3) and IronCAD (figure 4).
Figure 4. IronCAD is somewhat unique in 3D modeling in that it uses two para-metric modeling kernels (ACIS and para-solid) to get the job done. You also can model explicitly by moving individual faces around, but you must blast the parameters and henceforth make changes by editing the faces directly.
The Best Tool for the Job
Although the battle rages on, it doesn't have to stay that way. I think the right approach to modeling is a careful approach—using the tools that are appropriate to the job. One size does not fit all; just because you have a hammer doesn't mean everything should look like a nail. One tool is superior to another in any number of ways, but no tool will ever be able to do it all efficiently. For that reason, I must reiterate my standard line: Be a renaissance modeler. Take responsibility for the quality of your models. Know your tools and choose those that will do the job the best.
Mike Hudspeth, IDSA, is an industrial designer, artist and author based in St. Louis, Missouri.