Direct Modeling vs Parametric Modeling... I have some reservations about engaging in such a religious topic, which is why I haven't chimed in sooner. It might be safer to comment on the US elections... As you can tell from the discussion in these threads, there are strong beliefs here.
The answer, of course, has been stated many times in both of these threads: Each technique has its own benefits and costs, and places where each is useful. Fusion offers both, so you can choose whichever is better for your own use, or even mix them in the same design. This is, in fact, where the "Fusion" name comes from. We envisioned Fusion as a "fusion" of the parametric and direct worlds.
Specific to Fusion, I can shed some historical light on the topic. Originally, Fusion was a pure direct modeler. When SpaceClaim was first released, it reignited interest in direct modeling, which was seen as a bit of an "old technology" at that point. But, with new UI, direct modeling was suddently seen as having a valid place in CAD. So, we implemented the first versions as a pure direct modeler. But, soon, we realized that it was easy to get to the limits of what direct modeling can do. Global changes (where you want to change the overall length of a design) are very difficult in pure direct modeling - you sometimes have to select an awful lot of faces in order to change the overall length of a part. So for traditional mechanical parts, it was easy to run into the limits of direct modeling. There are also cases where modification in direct modeling is very difficult to achieve, such as a global finish fillet radius. If you have a bunch of features that all want to share the same fillet radius, it is hard to modify this in a direct model. There are no parameters in a direct model, so you cannot just change one value and have all the fillets update. So, we started a project to bring traditonal parametrics to this product. That project, if you are interested, was called "Polaris". We introduced parametrics and joints at the same time.
From a development point of view, I loved direct modeling. It is so much easier to implement a direct modeler than a parametric modeler. But, as a user, I did quickly hit the limits of direct modeling. I created a few designs that, while they were easy to create, were a big pain to edit later.
Parametric modeling has its own challenges from a user point of view. That parametric power does not come for free. All those relationships have to be understood and managed. In fact, @TrippyLighting and I taught a class on this topic at AU this year. And, as has been pointed out in both threads, unless you really understand your parametric design and how it is built, it is very easy to break a parametric design with what appear to be small changes. So, it's no cakewalk, either.
The topic of SolidEdge/NX has come up in these threads, as well. Yes, I have to admit, this product has achieved what appears to be a nice blend of direct modeling with "parameters and constraints". From a development point of view, this appears to be a very nice implementation. I have a lot of respect for that development team, to be completely honest. @PhilProcarioJr: I usually agree with most of what you say. However, I have to disagree with your statement that "having a direct modeling environment work in a parametric way is actually not that hard to achieve". I know this because we did try to achieve it. In the very first, direct-only incarnation of Fusion, we did try to implement "geometric constraints in a DM model". We were able to get it to work in a few cases, but it actually turns out to be pretty hard to get a good, general, implementation. I have not used NX a lot, but it would be interesting to use it in a large design, to see how it reacts, and what the limits are. Anyway, in the end, we decided to put our resources behind traditional parametrics instead.
On the topic of the mixed modes in Fusion, I admit that this is not as smooth as I had hoped it would be. We had a lot of passionate internal debates about this: What should the "boundary" of a direct modeling "island" in a parametric design be? At the component level? At the Body level? At the feature level? We decided on what you see today: A document can be entirely direct or parametric. Within a parametric design, you can have a "Base Feature" which is a body that is a direct modeling body. When you edit that feature, you are in a little direct modeling mode, within a larger parametric design. You can have a Base Feature with downstream parametric features. You can convert a series of parametric features into a new Base Body. It's pretty flexible, but as mentioned here, can be a bit "clunky", I admit.
@Anonymous mentions the fact that in Fusion direct modeling, patterns are associative. Yes, this is true. We found, fairly early on, that patterns was one weakness in "pure direct modeling". So, we added some very basic associativity to Fusion DM patterns. It works OK. There are limitations to that associativity. But, as we went onward, we discovered that there were more and more areas where "associativity" was needed to smooth the workflow. Edit Feature was another case. In DM, you can do some limited feature editing (assuming that the feature was not modified by other geometry). So, you can "edit" a fillet that was applied recently. You can "edit" a hole, unless some other feature has modified the hole geometry. What we found was that it became a slippery slope, and, for all the work we were putting into this "associativity", we might just as well go all the way to parametrics.
Anyway, this is a fun and healthy debate, but in the end, it comes down to personal preference. I like and use both. My top-level design is almost always parametric. If I am creating a component that is very simple, and which I know is not likely to change, I'll do it as a Base Feature in a parametric design. Or, I'll create it as DM design, and XRef it into my top-level parametric design. I find that this techinque results in a shorter, more stable timeline, and less compute time. But, for the more complex parts of the design I find that parametrics is the way to go. I know how parametrics, work, though, so I can avoid the pitfalls that others run into.
Jeff
Jeff Strater
Engineering Director