What is Design Intent?
I come from a family of musicians and performers, so I’m the kind of person who cannot stand to listen to bad singing. Or people making fools of themselves on talk radio. I cringe in empathy, taking on myself the public shame that these people should feel. American Idol is out. I can’t watch most reality tv shows. Karaoke is nothing short of torture. And reading a bunch of non-history CAD developers tweet about “design intent” makes me fidget uncontrollably.
Some of these people are folks I respect, so I won’t do them the disservice of repeating what they think “design intent” is all about. It might turn out that I’ve got it all wrong, and everyone reading this is cringing for the public shame that I don’t feel. Who knows. I’m sorry if I make you cringe.
Who knows what design intent is?
First of all, if you were to look for an answer to what design intent is, who would you ask? A virtual reality addict? A general 2D/3D CAD programmer? A direct edit software salesman? An advertising salesman who used Pro/E 10 years ago? Prolly none of those, for the first round anyway. I’d ask people who are down in the trenches, making models that get changed a lot, a lot, a lot. People who take advatage of the “design intent” concept and people who get bitten by it. My guess is that the best way to learn to use it to your advantage is to get bitten a few times. I guess its ok for people who are not necessarily the “go to” people to talk about the topic, but then there’s a huge difference between singing in the shower, and singing on the capitol steps.
So what is it?
First of all is the longstanding public misuse of the word “design”. Design happens in your head. Design is developing the concept of how something looks or works. This is the kind of thing that cannot happen on a computer. It has to exist somewhere before it can be developed on the computer. The computer just records, organizes, or helps others visualize the design. The design was in your head before it was in the computer. If such a thing as “design intent” exists, it consists of a reason for geometric elements or selection of material or manufacturing process. The reasons would be the intent. And the design is the design.
When CAD people use the word “design”, they usually mean “model”. Modeling, to me, is just representing the design in some way, either a set of equations or geometry shown on a computer screen. If the design is the concept, then the model is the digital prototype. Ok, whatever, you get it.
Design for Change
In my books, I have had to address the concept of “Design Intent” because over the years, it has worked itself into the mindset of all CAD developers, and you can’t take a basic SolidWorks training class without hearing it. It’s kind of like the non-word “refudiate”, which kind of sounds like it should be a word, but its not, its just an accidental mashup of “refute” and “repudiate”, which mean roughly the same thing. Still, I don’t think most beginners have much of an idea of what design intent means in a practical sense.
Ok, so maybe the free association wordplay here is a bit of a stretch. Design Intent = non-word = refudiate = Sarah Palin. Design for Change. Change = Obama. The silliness of it all is quite a dance. Yeah, if you’re wondering, no, I don’t take any of this too seriously.
In the books, I side step design intent, and equate it to the phrase Design for Change. This implies that you are modeling a concept that can be flexible through changes. To me this is more straight forward, being simpler to explain and understand.
The direct edit caucus seems to want to ridicule “design intent”. We call their models “dumb”, so they resent that we think our models are smarter than theirs, especially when part of making changes to the intelligent model requires so much fixing of broken features. The truth is that most direct edit software allows you to apply dimensions and relationships to the faces of the finished model (brep), so you don’t have history, but you still have intelligence. That’s a nice advantage, to be able to forget history, but still use parametrics. I like that about direct edit.
But I don’t always like that. Sometimes the order in which features are executed is its own kind of intelligence. Like fillets. The weaknesses of history modeling are rebuild times and sometimes untangling relationships between features. The weakness of direct edit is that you have to resort to barbaric measures if you make changes beyond the capabilities of the brep, and the fact that you have to deal with the whole model as a single entity – you don’t always have the ability to break it into features. The argument is not about parametrics, its about history.
In non-history modeling, you can still have “design intent” or design for change – but in part you are limited by the ability of the brep to make changes. What I mean by that is shown above. I want to move the boss on the left, but when I move it, the fillets between the boss and the rib will not allow me to move it past the point where the boss is tangent to the rib. Individual softwares may have ways of dealing with this, but if you’re dealing with the brep as a solid, you can’t separate the boss from the rib, and the rib can’t fail because its not a feature. You would either have to move the rib with the boss, or delete the faces of the rib and the fillets. So there are certain types of changes that get really ugly in direct edit, equally as frustrating as anything in history modeling.
So, what does “design intent” mean to you? If you’ve used direct edit software, what do you see as the “design intent” advantages and disadvantages?