Blast from the Past: Can Parametrics Exist Without History?
[editor]: This was a post written five years ago about the possibility of using familiar parametric design ideas with history-free models. Here I’m trying to get my head around the idea, and trying to introduce readers to the concept that maybe history-based modeling isn’t the only game in town.
What gets me is that too many people, even people who should know better, assume that Solid Edge has thrown out the idea of “parametrics” in favor of some push-pull “that-looks-about-right” interface. Somehow, parametrics and history modeling have become inseparably conjoined at the hip, and people have this incorrect association with direct editing that it’s an approximate, visual way to make changes to models. At the risk of spoiling your joy of discovering the answer to the leading question in the title, yes, you can separate parametrics from history. And yes, parametrics does exist within the Solid Edge Synchronous Technology method for modeling.
At the end of the article, I conclude with a video showing some edits to an imported part in Solid Edge using just dimensions applied to the model. To me at the time, this was mind bending stuff. I think this is becoming relevant to more people as they realize that the game has indeed changed, and it’s time to shop for CAD software again.
===========================================================
We’re closing in on it. We’ve talked about several topics surrounding the Direct Editing craze that is making its way through the blogger, press and analyst circuit. Users are not silent on the issue, but what they have to say so far sounds relatively uninformed. More on that later. For now, on with the show.
From a previous post, history modeling brings advantages as well as disadvantages. There is both downside and upside when you separate history from the rest of the attributes that we normally associate with history modeling. I think we tolerate history modeling primarily because we don’t know anything else. It isn’t clear to me that history modeling is necessarily the best way of looking at all types CAD models. This is all I’ll have to say about history modeling for this post.
Parametrics, on the other hand, I think has clearly demonstrable advantages. The ability to make geometric relations, using equations, dimensions, etc. This is the kind of thing we use to establish “design intent” or an “intelligent model”.
What interests me today is if you can separate parametrics from history, and if you can, what would the result look like? What is parametrics? It’s just the use of “parameters”, right? We have come to think of “parameters” as dimensions, numbers (for patterns), equations, relationships, stuff like that. So what if you took that information and just attached it to the finished model? Is there any reason why you can’t attach dimensions and relations – parameters – directly to the finished model instead of indirectly to sketches and in dialog boxes?
If you look at your average history-based modeler BrandX, you can put dimensions on the finished model, but they are driven dimensions, reference dimensions, they just measure, they don’t drive. I understand the interface for doing this doesn’t exist in that software, but let’s just say that you’re God for the moment, ok, maybe not God, but at least the head of a talented bunch of programmers, and you can do anything. Is there any logical reason that would prevent you from applying dimensions to a 3D model, and when the dimensions are changed, the part geometry changes to match? It’s such an obvious thing to do, why aren’t people doing this?
Let’s do a little homework. Just assume for the time being that you have a fully “intelligent” history-based model in one window, and in another window, you have that same model, exported as a Parasolid and reimported. The reimported file is what is commonly known as a “dumb” solid. It is imported. It has no features or sketches. It is dumb because you can’t edit it. So right there, side by side, one imported and one native, the same geometry, but one is intelligent and the other is not.
The funny thing about this is that the final geometry, the Parasolid body, is described inside the history-based file in exactly the same way. So the finished model is exactly the same, regardless if it is imported or native. Let that sink in. I believe it’s true, or close enough for our purposes.
BrandX currently has a feature called Move Face. It enables you to select a face or set of faces from a solid or surface model, regardless of how the face was created and translate, rotate or offset the faces (as long as there are no tangent fillets). This tool has serious limitations, and the interface is comparatively primitive, but it works, and it works on both native models and imported models.
There are some aspects of the Move Face tool that are kind of funny. First of all, it is essentially a contradiction – a direct modeling tool being used inside a history-based modeling scheme. It creates a history-based feature which resides in the feature tree, and is rebuilt along with the rest of the features. I wrote about this contradiction over a year ago in a post called Stepping outside of the parametric feature-based paradigm. (If you read that post, it might look like some of my ideas about this have evolved over the last year and a half, and there’s a reason for that – because they have.) There are all sorts of best practice concerns about mixing history-based paradigm and direct editing methods. I’ve heard some top users say bad things about using Move Face, calling it sloppy practice and worse. I don’t disagree. But the fact is that it kinda works, and when it works, it typically saves you a lot of time when compared to the monkeying around that you would need to do in order to do the job “correctly”.
I used to spin my wheels a lot trying to follow arbitrary rules. It took me a while to realize that it is better to have rules you can live with than to just follow rules because they are there. I think the same applies to this Move Face functionality. History-based best practice rules declare that Move Face is an abomination, sloppy, hack-and-whack modeling. So try to imagine a set of rules where saving time and brain power is a good thing.
Just think that if the Move Face interface were improved, and instead of it working through a PropertyManager dialog box, instead you were just able to put a dimension on the model and make changes, think of how convenient that would be. You wouldn’t have to mess with the feature order, or the FeatureManager or parent/child relations. You wouldn’t have to worry about other features failing. This would just be the interface change because the inner workings of the software using the Parasolid kernel to calculate the geometry would still be the same.
So, do you still think that parametrics can’t exist without history? Here’s the kicker. I already knew the answer before I asked the question. The answer is of course – yes, parametrics without history can and in fact does already exist. Check this out:
This model was created in BrandX, by the way, but it really doesn’t matter. This is just a teaser. And no, I didn’t use any demo jock voodoo on this. It is just what it looks like it is, putting dimensions on an imported model (in Solid Edge with Synchronous Technology), and changing the imported model.
There I hope that puts that one to rest. For now you’ll have to trust me that you can do geometric relations as well as dimensions, but if you watch you can see the sides of the rib that are tangent to the top cylinder change when the outer cylinder gets bigger, so it is maintaining tangency, which is done in the Live Rules panel in the upper left. You really can’t see that, but it’s there, and can be either added to or disabled according to your needs. Really, the video just scratches the surface. You’ll see more of this from me in various places.
I would like the CAD program to store the dimension exactly as entered. That would allow future changes to preserve that piece of design intent. I would like the dimensions of a face of a prismatic solid to be in the plane of the face and nicely done like a drafting drawing, rather like how I entered them.
The lifetime of a CAD model is a concern. I am particularly concerned about complex surfaces. These may be stored as dll in the model. Fine for now, but they will soon fail with an “upgrade” of the operating system, or the CAD software. Are SE models entirely parasolid geometry? Are all of the surfaces untrimmed surfaces?
Is the version ratchet still a threat with SE? A few local SW users have agreed to stick with SW2012 for a while to maintain bidirectional edit capability.
The SW parent child relationships are most often unnecessary. No, rather a pain in the butt. This is an unfortunate side effect of history based thinking. The definition of geometry should be organized in the manner that makes sense to the designer. I think in terms of sketches. Perhaps much of my design is done on napkins. An array of mounting holes and bosses for a fitting should be defined in one sketch. The relationship of groups of features is defined in another sketch. The dimensions in defining sketches should be exactly as entered “11/32” not the rounded decimal equivalent, it takes less space and is exact. Sometimes dimensions are best described as nominal with offset “0.500 -0.002” leave it that way. Sketches should look the way I like them, not how the CAD system wants them.
Can SE allow parameters to be added in the form of sketches that makes sense to me?
“Sometimes dimensions are best described as nominal with offset “0.500 -0.002″ leave it that way. Sketches should look the way I like them, not how the CAD system wants them.”
Rick, YES it can… if I understand you correctly. Shown is Solid Edge using Fractional Dimensions within the Part, but it can also be done in Assemblies and Draft as well.
In fact you can do dual Dimensions if need be. Also you can write 11/32 to create the driven dimension.
Bob
Matt, there was a discussion about aligning holes in an assembly on the closed newsgroup yesterday where Dan Staples introduced us to the “Create Inter-part Relationships” command. You might want to take a look at it, I sure didn’t know much about it. Look for “Holes in assembly”.
Quote:
“Technical people honestly see the flaws and wish that they were able to respond better. The ones who are out of touch are the ones who don’t use the software – people sitting in offices looking at sales reports and statistics bent this way and that.”
I think that technical and sales/marketing people should interact more. But I would not be so sure that the technical people are always so ready to respond. My two cents.
In moving to v2008 very late, I immediately noticed the dimension-input lag in the new interface. (Folks tell me it’s still there in v2009.) I HATE this. Is it really so difficult to have SolidWorks actually capture my keystrokes for dimensions as quickly as it did in v2007? It’s a terrible problem because I don’t watch as I change dimensions for a slow input window to pop up, but move along at the same rhythm I’m used to from v2007. What happens? The first digit(s) are lost, normally resulting in a lost decimal point–so my dimension is read as orders of magnitude larger than it should be. I then have to Undo, and re-enter the dimensions slow enough for the software to comprehend. What a waste of time. No one noticed this in development? Really wrecks work-flow.
@matt
Balance is good (just like symmetry!) Keep doing what you are doing!
You are out there pushing the envelope moreso than most others, and it’s your own time and money that you are on. When something works as it should I see you give it props and vice-versa. Nothing wrong with that!
An evolving user interface may have good and bad attributes. I usually try to customice the interface to make sense for me and have the tools that I need available. If the changes are too dramatic, I tend to give up, leave it stock, and quietly dislike it. I use the graphical arrangement of icons in folders to organize my work. When Mac OSX or Windows XP scrambles the icons a few days in a row I get pissed and leave them in a jumble. These things are just irritating.
My concern is what happens to the lofted shapes when changing from one version of SW to the next. We have all seen sweeps that turn into crumpled surfaces. Sometimes the translation from one version of SW to the next causes things to blow up. That is bad. The really scary idea is that a shape might look the same but deviate dimensionally, so when a mating part is built it will not fit. I do not know if this happens.
I just hate how lofts can ignore sections and squirt out between guide lines. I feel that lofts should be perfect at all sections, and maintain convexity if the sections and guides are convex, maintain symmetry if the sections and guides are symmetrical. The intermediate sections between section curves should have characteristics that are intermediate between the sections. If they ever make lofts work properly all of the old models might deviate in very subtle ways.
@cadfanatic
I may have been a little impatient with the Ribbon, but it took several minutes to find the Set Transparency, and then again to find the Master Slide, and those were the only things I used the toolbars for. I eventually just installed Office 2003, and I was instantly productive again.
Blogs get accused of everything from being shills to being overly negative. I think folks find what they are looking for. I like to show a balance of up and down. The Puffy Cube and How do you Interface posts showed off a lot of cool functionality. Other posts raise awareness of issues so they might get some attention from developers. I think that kind of balance is important, but I know some people think this blog is unbearably negative. I’ve learned that you can’t write to please others, because what they see is more dependent on them than on you.
@matt,
I did have a little trouble at first with the MS Office ribbon, but after figuring out where everything is, I feel more productive with it. I think it is generally more intuitive, especially for new users.
I do agree with you on the statistics. After all, 93,7% of all statistics are made up. 😉
What I was trying to say is that I believe that there are more people who are at least satisfied with SW than one would think looking at the forums/blogs.
I think the biggest problem with Vista perception and adoption was not as much the OS (not that it was not without problems, especially pre-SP1), but had more to do with public perception; I really think that the Apple “Mac vs. PC” ads had a big effect, and MS did nothing to answer. As can be seen in MS’s Mojave Experiment, I think most people were clueless and only going on by what they had “heard on TV”; no personal experience whatsoever. It does take a beefier machine, and I think that computer manufacturers did a disservice to both users and MS by building sub-par machines and selling them with Vista.
As for the MS Office Ribbon, I actually MUCH prefer that interface over the old one. However, I didn’t like it as much in SW and I immediately changed the SW Command Manager to only show small icons (until I switched to using only the Shortcut bar; now I have no toolbars visible!).
I for one like the new SW interface overall. I think that most of the outcry from 2008 was due to the release schedule and SW having to ship with the UI not quite finished and somewhat broken (i.e., unability to move the Command Manager, etc.).
While I have no definite information, I would submit that the SW satisfaction statistics may be more accurate than some think. Who is going to be more vocal on the forums and blogs about the changes in the software (ANY software in general; or for that matter, any issue): users who are happy or users who are unhappy? SolidWorks has access to most all users who may be willing to fill out a survey, but most all users may not visit or care about visiting the forums/blogs (or even know about them, for that matter – yes, I know folks like this!).
That being said, the squeaky wheel is usually the one who gets the grease…and the squeaky wheels out there are the power users. So y’all keep on squeaking and we can get SW molded into the tool that we want!
I have to add that when a company starts hurting in the pocketbook,they start listening. Maybe Microsoft will get back to their glory days, if they in fact, ever had any.
I’m not a computer guy nor do I play one at work but it seems to me that the real problem with the what we do is that for the most part (32 bit applications) we cannot use RAM effectively. I can load my Dell workstation up with 4 Gigs and turn on a switch to make three of them work. I think Vista (because we don’t use it here at work) is a resource hog and therefor would limit our SW usage even more. If SW would turn off some of the “fluff” stuff, would it be better?
I agree with your last paragraph and I suspect that as time goes along and more and more “techincal” people get promoted into positions that can make these decisions we will start to see differences.
Steve