History, Nonhistory, or Both? (MCAD Modeling Column)29 Feb, 2008 By: IDSA ,Mike Hudspeth
Modeling methodologies offer many choices to meet your needs.
When you import a model from someone else's CAD system, what do you expect to be able to do with it? Most people want to work with it and incorporate it into whatever they are doing. But depending on what software you are using, your expectations of the actual usefulness of that imported model will change. Why? Because of something called history. No, it's not about dates and places or somebody in old-fashioned puffed-out pantaloons. It's about modeling history. If you're using a history-based modeler, you'll see imported geometry slightly differently than someone who uses a nonhistory-based modeler.
In this article
It's All History
What is history-based modeling? Simply put, it's the methodology of building your model in a particular order. When built that way, many features in your model will be dependent on those that came before them. Say, for example, you are applying some blends (figure 1). If you have them going around a rounded corner that is too small, they might not fit. The model could self-intersect, and most modeling programs would raise a failure notice. Likewise, if you make changes to your model that violate a relationship, your modeler isn't likely to allow it.
So why use history-based modeling then? Because creating relationships between features in your model also has an upside. You can build intelligence into your model that will be flexible for things such as what-if scenarios. You can organize your models so they make sense and are easy to change (figure 2).
Figure 1. With a history-based modeler such as SolidWorks, the order in which you add features makes a difference. With a nonhistory-based system, it doesn t.
No History Here
I have to admit that using a nonhistory-based modeler is pretty liberating if you're used to parametric modelers. It can be a lot of work to establish all the relationships that a history-based modeler requires. Sure, history-based modelers have their advantages, but it's so nice to be able to just do what you want to do without regard to what came first — the chicken or the blend, er, egg. When you import geometry into a nonhistory-based modeler, you're essentially generating its topology — the general shape of the data, the outside envelope. Usually little or no additional information is included. So how useful is it? Plenty!
Nonhistory-based geometry has many practical considerations. There is legacy data, which is the stuff you've created up until now. It hasn't changed in years and most likely won't in the future. I've worked for companies that have sold the exact same part for 30 years — and it's been almost that long since a change was necessary.
Figure 2. In a history-based modeler such as Solid Edge, you can group features in organized ways.
Sometimes you need parts from other companies that control their devices. They don't want you making changes to their stuff, so they supply you with what some call explicit, or nonparameterized, data. You know how it is. I've done the same thing, and I would guess you have, too. Then there are purchased parts. You can download them from all over the Internet — motors, electronic components, pumps, gears, and whatever. (To be fair, you see a lot of companies nowadays expanding their offerings to include parametric models, in multiple file formats.)
If you are going to buy something made by someone else, you most likely will not want or need to make changes to the geometry. Most often you are just going to model around it and include it in your designs. But what if you do need to change something? What kinds of things can you do with nonhistory-based models?
Figure 3. In most nonhistory-based modelers, you have ways to change just about anything in your imported geometry. In Kubotek s KeyCreator, you can edit faces directly and move them wherever you want merely by grabbing them and telling them where to go.
But What If . . .
Most every nonhistory-based modeler worth its salt is capable of making changes to nonparameterized data. And it has many ways to do it, too. I came from a nonparameterized past, and I'm perfectly comfortable editing that kind of geometry — provided I have the tools to do it. Many programs allow you to edit a model without a history. On the history-based side of the modeling street, Siemens PLM Software's NX software can make wholesale changes to nonparameterized data. So can SolidWorks.
Figure 4. Some modelers — in this case, Kubotek s KeyCreator — let you establish parameters after the fact and right on the geometry.
On the nonhistory side, Kubotek's KeyCreator uses what they call direct-race manipulation (figure 3), which lets you make changes to geometry without regard to how or where it was created. You just select what you want to move (the faces) and where you want everything to go, and the model obediently updates, usually without a hitch. Most nonhistory-based modelers have this kind of capability.
Programs that let you straddle the line between history and nonhistory-based modelers are called hybrid modelers. They can be history based or not, and they can work with just about anything. I like these programs for their wonderful versatility. You aren't as limited as you would be using a system that makes you choose one way or the other.
I like how you can more fully define your solids in some systems by adding constraints directly to the model's geometry. In a parametric sketch-based system you can only constrain what's in the 2D sketch. Consequently, it may be difficult to firmly establish just where a particular dimension is going or to what it pertains (figure 4). Also, you have to capture any other information outside the sketch — where it can be a challenge to find and edit. For instance, you have a boss feature. How tall is it? What's its diameter at the top? There is no sketch — it was made with a boss feature. You have to go in and query the boss feature through the edit command. Want to inherit that information onto the drawing? Forget it. It's not available. You're going to have to create those dimensions the old-fashioned way. Programs like CoCreate's OneSpace are nonhistory based but still allow you the flexibility to make some pretty parametric-like changes to geometry (figure 5).
How to Choose?
The ultimate question to answer when choosing between a history or nonhistory-based modeler is, "What do I intend to do with the models?" Each method has advantages and disadvantages. If one will work for what you want to do, then use it. If not, don't. I don't really think there is an iron-clad rule to determine which is superior. They are merely different ways to get the job done. And isn't that really what you're after?
Figure 5. CoCreate s OneSpace modeler lets you make changes to models that have no parameters because it sees all geometry as native OneSpace geometry — no matter where it came from.