Should CAD software anticipate your needs or do what you tell it to do?
In a comment to my recent Awkward Modeling Situations post, Roberto Ciarloni (CTO of Think3) said:
I think that , aside from bugs , there is
an important issue emerging from this post: should CAD software evolve to become
more and more intelligent , that is anticipating users’ needs , or should rather stay as a tool that works well under the user directives ? I am in favor
of this second approach but I see the marketing appeal of the first.
Let me first say that I have a serious problem with the word “should”. When you use the word “should”, you are implying that you are some sort of an authority on an issue. You are saying that you know better than the people who “should” do what you are telling them to do. Usually the parties on opposite sides of the word “should” have different goals, and the different goals usually turn out to be the source of the difference rather than what whoever should or should not be doing. When you use the word “should”, you “should” place it in some form of a context, such as to achieve a certain goal, you should do X.
So when I put the word “should” in quotes, it means that I’m trying not to take my question too seriously. It means that I recognize that there are different possible goals for creating a CAD system, and that there may be different valid answers depending on the goals of the person answering the question.
Anyway, Roberto is using the word “should” in the form of a question. He is asking users what we would like to see, in the context of what we need our CAD tools to do.
This is a theme I keep returning to on this blog. How automated “should” automated CAD tools become? Automation almost always comes at the price of control. How much control are we willing to give up? Is it ok for CAD tools like SolidWorks to continue on this downward spiral, where they are continually aiming at a less and less sophisticated audience just so they can sell more software? At what point “should” you just split the product into two, with one half catering to “SolidWorks for Dummies”, and the other half becoming a power tool that requires expertise to use?
Some automation is welcome. Whatever it is that SolidWorks (or Parasolid) does for fillets, for example, is very welcome. Manually creating fillets would be a very tedious task of offsetting edges, trimming faces, and creating new fillet faces through one of several techniques. I guarantee I would invent a lot of reasons why models didn’t need fillets if I had to create them manually.
On the other hand the new Lip/groove feature automates things also, but is fairly limiting in what it can do. This tool is meant to reduce work, but it only does it on the most basic parts. It doesn’t work when a rib intersects the wall of the plastic part at the face that is to be broken by the Lip/Groove. So the automation takes you part way, and then drops you off.
Or look at the Hole Wizard automation. It is so highly automated that a lot of changes simply can’t be done easily. It doesn’t follow the normal rules for sketches and planes, which makes it difficult to maniplulate the sketch to angle the hole, or change the geometry of the hole.
Some of the sketch relation automation in SolidWorks is welcome, but at a certain point it sometimes starts overdefining sketches automatically. This is where automation becomes counter productive.
The new “Convert to Sheet Metal ” sheet metal functionality? Yes, it automates things, but sometimes it makes a sloppy mess of your part as well. Sometimes the manual functionality is what is needed in order to complete the job.
Mold Tools are a great example of automation gone wrong. When using the mold tools, you are frequently forced into a certain type of design. Most of the SW mold examples show mold interlocks. I haven’t seen that many molds with interlocks, but the limitations in the SW Mold Tools seem to require them. So the automated tools force you down a certain design path. To some people this is acceptable, but not to me. Design “should” not be dictated by your tools.
I’m not suggesting that we throw away all of the automation, because much of it really is wonderfully useful. What I’m saying is that automation is not the goal that must be achieved. Completing your work is the goal that must be achieved. Sometimes you cannot have both. Sometimes you need to just turn off the fancy stuff, and get down and do some good old fashioned hard work.
Surfacing work is mainly manual, although some of the functions just take over and don’t allow you enough control to do what you want to do. Tangency and c2 edge conditions for example are often a mystery. Users don’t really understand how it all works, mainly because SolidWorks does not document this stuff. How does the Fill feature determine the UV grid direction? Why can you not manipulate this directly? Why does the Fill not find the simplest result with the fewest inflection points, rather than creating a crazy egg carton surface for a simple patch? What happens when you assign c2 all the way around a patch, but the boundary is not c2 to itself?
Why can users not control rebuilds? All of this is taken care of automatically behind the scenes. If users could control rebuilds, we could probably get an honest 40% rebuild speed bonus immediately. How about all of that extra data that SW stores inside part and assembly files? Do we really need that? If users could say, yes, I need this, but I don’t need that, we could save time and disk space.
But no, CAD has to be as “intuitive as a light switch”, according to Jeff Ray. Well, I’ll tell you, a light switch only has two options, and the kind of work I do requires more control than that. If SolidWorks is so hell-bent on converting AutoCAD users that they want to make the software as “intuitive as a light switch” with only two options, I’m using the wrong software. I don’t need dumbed-down CAD. I need CAD that empowers me.
So what “should” SolidWorks become? It is headed a direction that I cannot use. It is being formed into a mass market 80/20 market maximizer to reach the stated goal of over 1 million users, not to act as a tool for me or you to create what we can envision. It isn’t getting more powerful, it’s just getting more automatic. It isn’t enabling me with more capabilities, it’s removing options and homogenizing the results.
So, I think SolidWorks “should” split into two tools, or have a set of advanced options. In one mode it enables tools like extrude and revolve, and in the other, it gives the user more control. You really can’t please everyone with a single piece of software. It’s time they realized that and stopped trying.
engineering jobs these days are on high demand as the economy recovers from recession”*:
Is automation a good thing? Well, I guess that depends.
I (less so than many others here) have certainly spent plenty of time figuring out how to obtain what I wanted from a CAD system. Many of the automation features have added useful functionality for even the “CAD professional,” although some more than others.
My bigger concern is the analogy you’ve drawn between the “dumbing down” of FEA and the “dumbing down” of CAD.
In my company, among others, automated FEA has lead to a false sense of security in bad designs. That’s incompetent engineering, and there have been expensive repercussions in both a financial sense and in the outside perception of engineering professionals.
And yet, many of those same automation features are invaluable tools for the FEA professional, assuming that the manual control is still available. (my main gripe about CosmosXpress) Are there still FEA analysts who never use automeshers? Or for that matter, who don’t use pre/postprocessors?
If the automation of CAD functionality leads to poor quality models, are the products similarly impacted? Certainly poor models can lead to non-producible or less attractive products, or expensive tooling. But is that due to the tool being too automated, or the operator being incompetent?
What you haven’t touched on here, although the title hints at it, is where draftspeople and machinists and others fit in all of this. Since the industrial revolution, machinists have taken drawings from non-machinists (designers or drafters), interpreted the 3D intent of 2D projections, and translated that into something producible. Recent access of 3D CAD and modeling has brought about a congruence of artists, technical gamers, manufacturing and marketing technicians who are able to wield 3D design as well as engineers, scientists and software writers/publishers. What is a “CAD professional”, anyway? He or she could have arrived at that position from anywhere else. A specialist, these days, is simply a professional (not necessarily from a formal background, either) who concentrates on a particular area.