The model brittleness problem inherent with parametric feature-based modeling is a really big deal. And it’s something, honestly, that I don’t have a great answer for. I’ve even asked a few power users who I know, and their answers seemed to involve a bit of hand-waving, and a reference to having lots of experience.
While best practices are a potentially good step forward, they need to be straightforward enough that mere mortals (as opposed to power users) can follow them.
Around Christmas last year, I got a call from Richard Gebhard, an engineer’s engineer, who has made his living selling CAD, and training people to use it (including more than his fair share of power users), for longer than he would like me to admit. (I’m pretty sure I’ve been in the CAD industry longer than him, though.) Richard told me he had something he wanted to show me, and if I’d take the time to meet him, he’d buy me lunch.
What Richard showed me was a way of creating and structuring CAD models that made a lot of sense. It not only reduced parent-child dependencies, but it made them more predictable. And, more importantly, it made it a lot easier for a mere mortals to scan through the feature tree, and see if there were any grues (it’s a technical term. Feel free to look it up.)
Over the next several months, we had lunch several times. I made suggestions. He rejected some, accepted some, and thought about others. At the same time, he was bouncing his ideas off several of his best power users (including his son). By a couple of months ago, he had refined his system to the place where it would work impressively well with nearly any parametric feature-based CAD system. So, he went to work finalizing his presentation.
I had mentioned that Delphi, by patenting some of the elements of horizontal modeling, limited the number of people who could benefit from it. (Worse for them, they patented it, then filed bankruptcy. That didn’t help much.) Richard’s goal wasn’t to monetize his process. His goal was to evangelize it. To help CAD users—both power users and mere mortals—to get their jobs done better.
Richard and I had talked, over time, about what he should call this process. At first, I liked the word “robust.” In computer science, it is the ability of a system to cope with errors during execution. In economics, it is the ability of a model to remain valid under different assumptions, parameters and initial conditions. Those are good connotations. But, then I thought of one of my favorite examples of robustness. The first time I visited Russia, I noticed that the apartment buildings were built of thick poured concrete. Very robust. And nearly impossible to remodel.
Richard’s system wasn’t robust. It was resilient. So, he has named it the Resilient Modeling Strategy. RMS.
So far, I’ve written over 2,600 words, to provide some background on the problems of parametric modeling, and some of the solutions that have been offered over the years. But, after all that, I’m not going to tell you anything more about RMS. At least, not yet.
Tomorrow, Wednesday, June 26, Richard will present RMS for the first time ever, at Solid Edge University, in Cincinnati, Ohio. His presentation will start at 9:00AM local time, and will be in room 6 of the convention center. If you’re there, put it on your calendar. If not, you’ll need to wait until Richard gets back to Phoenix, and I publish a follow-up post.
RMS is not anything difficult, or fundamentally new. It’s just an elegant distillation of best practices, designed to work with nearly any parametric CAD system, and simple enough that it doesn’t get in the way. It’ll help you make better CAD models faster.
Yet another way to capitalize in the cottage industry based on the designed in shortcomings of CAD software. Thanks!
This is a great idea. CAD and CAM have had decades of organic growth when it comes to functionality. The sprawling capabilities make it more and more difficult to create models that are easily manipulated. This approach sets some ground rules that can be universally applied to all parametric modelers. Good job!