It is the pervading law of all things organic and inorganic,
Of all things physical and metaphysical,
Of all things human and all things super-human,
Of all true manifestations of the head,
Of the heart, of the soul,
That the life is recognizable in its expression,
That form ever follows function. This is the law.

- Louis Sullivan, 1896

Let me ask you a question. If I were to ask you to describe the design of something—say, for example, a coffee cup on your desk—how would you respond? Would you describe its form, its function, or both?

If you told me the coffee cup was 4” tall and 3.5” in diameter, you’d be describing form. If you told me it had a handle and a rim, and could hold 8 ounces of liquid, you’d be describing function.

You can’t really talk about design (at least, in the context of useful artifacts) without considering both form and function.

CAD systems provide tools to derive form from function for many common engineering problems. Even the most basic CAD systems have bolt circles, for example. High-end CAD systems do even more. Want to design an airplane wing spar? CATIA’s likely got you covered. (On second thought, it might be a little bit more involved than I thought.)

Yet, no CAD system provides a general solution to deriving form from function.

Consider this example: A reconfigurable clamp, used in an automotive factory to hold workpieces during manufacturing operations.

One of its most important functional requirements for this sort of clamp is that it not interfere with the workpiece, or with any tooling operating on the workpiece. It may touch the workpiece only at the clamping points, and may not touch the tooling at all.

Determining interference is a conceptually straightforward process:

  • You compute the envelopes of allowable motions for the workpiece, tooling, and clamp, for all configurations.
  • So long as those envelopes don’t intersect at any point in time (except for where they are supposed to), the clamp meets the funcional requirement of non-interference.

Piece of cake.

Except I don’t know of any CAD system that can do it.

(Technomatix or Delmia might be able to pull it off, but they’re not actually CAD systems. And, in any event, I’m not even sure they can do it. More than likely, they can alter the motion of the tooling to avoid interfering with the clamp, but I’d be surprised if they could derive the allowable envelope of the clamp from the envelopes of the tooling and workpiece.)

This automotive clamp is an example of a configuration problem. (The term configuration means, loosely, the six-dimensional space of possible positions and orientations of a rigid body) It is a difficult design problem because the clamp, the workpiece, and the tooling all have multiple configurations (the latter two being time variant.)

There is a reason that modern CAD systems have a really hard time with configuration problems. It is because they are optimized for dealing with 3D geometric objects, and treat configurations and motion as second-class objects.

As much as I’d like to be able to make fun of CAD vendors for not supporting configuration modeling, it wouldn’t really be fair. Here’s what someone who really knows what he’s talking about says:

While configuration space is a widely used theoretical concept, it has not been utilized directly in computer aided design systems for the purposes of modeling, analysis, or synthesis of mechanical systems: missing unifying theoretical foundations and lack of formulation for non-trivial problems are reinforced by a general belief that computations in configuration space are impractical.

Tomorrow, I’ll give you the name of the person who said that, and tell you about the work he’s doing to try and make configuration modeling more practical. (If you were at COFES 2011, you might have already met him.)

CAD vendors do have tools for solving some configuration related problems, but they’re limited. They don’t handle anything but special cases. In most cases, users need to either use simplified requirements, design around what their software can do, or punt and hope for the best.

For CAD vendors, there is still much to be done.

  • http://www.spaceclaim.com bcourter

    Nice post. Although there is some CAD software that can compute articulation envelopes for a range of motion, I am not aware of any than can calculate swept volumes at modeling precision.

    We investigated some of these ideas in the earliest days of SpaceClaim, but for some reason the potential solutions didn’t resonate with customers. I recall, in particular, a conversation I had with a progressive die designer who I thought would just at it. Other points in the presentation jumped out, but solving problems on multiple configurations simultaneously didn’t resonate with anyone.

    Or maybe I just couldn’t explain it well.

    Look forward to reading more.

    -B

  • http://twitter.com/alistardean al dean

    Hate to be the pedant Evan (I think we can both safely assume that’s your job, ;) ) BUT, you said “If you told me the coffee cup was 4” tall and 3.5” in diameter, you’d be describing form. If you told me it had a handle and a rim, and could hold 8 ounces of liquid, you’d be describing function.”

    Well. No.

    What you’ve done is make the same mistake yourself. The handle and rim are also form derived from the function. The function of a coffee cup is to “hold about 8 ounces of coffee (less if you’re European) and deliver tasty beverage that to your orifice”.

    At a push, the handle is functional, but you’re confusing the expect device with which a hand might hold and maneouvre the cup with the need to get coffee in your mouth. Could be a straw, could be a slide, could be an Archimedes screw, whizzing it up into your chops. Could be in one of those space pouches they have in space. You know?

    So… umm… yeah, it’s complex and it’s confusing.

    That’s why designers and engineers are typically smart folks that can work around the tools they have, and could design things like with a napkin and a pencil given the right inputs and required output. That’s the agility of the human mind, the ability to imagine something that doesn’t exist. Something that sits in the spaces where nothing exists.

    Hmm..

    Ok.

    I’m not too sure what my point is. Or indeed, what your point is Captain.

    Can we start again?

    Much love

    Al, DEVELOP3D

  • Anonymous

    >>You compute the envelopes of allowable motions for the workpiece, tooling, and clamp, for all configurations.

    Or you do what engineers do each and every day. Instead of spending 100s of hours computing exact workspace envelopes you do some basic calculations, throw in a couple of swept shapes, add in a fudge factor and you are producing clamps before lunch. Most of the time you do not have the time, nor the requirement, to optimize these things to the Nth degree.

    Those clamps are designed day in and day out. You stated that the CAD package could not produce this geometry. Clearly it can. You are wanting the CAD package to do the design work FOR you. I don;t want my CAD software having that much control.

  • http://evanyares.com Evan Yares

    Like I said, In most cases, users need to either use simplified requirements, design around what their software can do, or punt and hope for the best.

    That works most of the time. But there are cases where it doesn’t work. And that’s when it gets interesting. More tomorrow.

  • Anonymous

    I could see some special cases. But this clamp is not, I believe, one of them.

  • http://evanyares.com Evan Yares

    Sorry my point wasn’t clear.

    It was this: “Here is a class of problems for which CAD programs provide no good solutions.”

    I’ll point to some more examples of configuration problems tomorrow.

  • BBennett

    If you extend the definition of “form” to cover aesthetics, consider also the materials that your coffee cup example is made from (or coated with). Today’s software can give you quite an accurate picture (e.g. rendering) of what “ceramic” or “tin” looks like. But if we use your suggested lens of “examining what cannot be done” then one quickly realizes that software is not as good at telling us whether the material will stain, show fingerprints, fade in the dishwasher, be too hot to the touch etc. Some of these material selections can certainly affect “function” to the point where the cup becomes unsuitable for the task. Your topic of what CAD systems cannot do is certainly deep, but the trick is deciding what is really expected from the tool and what is beyond scope and handled (no pun intended) by other means (e.g. expert material selection). There is a counter argument to yours which would suggest that a simple claw hammer is still useful even if it does not “straighten nails”.

  • http://evanyares.com Evan Yares

    My belief is that CAD tools should make life easier for their users.

    You can get there any way you want: I’m perfectly thrilled with tools as different as SpaceClaim and CATIA — to the extent that, at the end of the day, their users are happy and productive.

    I used the example of form versus function to try and relate geometric form (as typically rendered by CAD systems), and functional requirements (or, by another name, design intent.)

    I love the example of a “simple claw hammer.” Today’s claw hammers may look simple, but it’s a simplicity evolved from decades of refinement.

  • R.Paul Waddington

    Design is, in part, an extension of need coupled with imagination. It is not confined to those who are “smart”, trained or those who only have access to CAD systems.

    This discussion, I hope, will be interesting as it has the promise of putting software, including CAD software in its place. Hopefully it will bring to the fore the considerably more important fact software may/will always be subservient to individuals wishing to create something new or better; individuals with the flexibility/creativity of the brain not rules, something software will always follow.

    The mistake, if there was one, behind to push for 3D CAD, over 2D, was the belief “computer 3D modeling” was an answer to the problems of design/visualization when in fact it just highlighted the deficiencies of CAD.

    “The problem of 3D CAD modeling software is it attempts to provide design tools for things designer have not yet thought of”; it is almost the same as asking a toolmaker to make a jig for an item without knowing what item is to be made. This means, for some, the limitations of their 3D CAD tools have “steered” their design; it has not given them – and may/never will – the freedom/flexibility of the combined tools of need, imagination and a stick in the hand reshaping sand – or an equivalent.

    Do we really want to try and make software to design for us? Where is the fun/value in that as an outcome when it would clearly mean design would/could become the province of those who set the rules for software to follow?

    Even if it was achieved, what would it mean for innovation? Are we chasing an ability to make jigs before trying to work out what item(s) we are to make with them?

    Evan you are correct, there are “problem types” CAD is not good at but that is precisely what people are good at: what we, humans/some designers, are not good at knowing what to chase and what is more productive to leave to our own abilities.

  • http://evanyares.com Evan Yares

    CAD is just a tool. I don’t think it can design for us any more than a car can drive for us. At the same time… I’d like it if my CAD system had cruise control, power windows, and a killer sound system.

    My most important goal in this post was to make people think. Thanks for taking the time to make such a thoughtful comment.

  • Matt

    The main thing that drives the form of machine design components is the economics of manufacturing. Function is secondary. Stock comes in plate, so most components are shapes that can be made from plate. Sure you can have castings, but the decision of whether you use plate or castings is volume, or again economics.

    I believe in the future at some point when manufacturing methods are less limiting, even machine design shapes will be more organic.

    http://solidthinking.com/InspiredFeaturesStart.aspx
    http://web.mit.edu/deweck/Public/SMO/Literature%20Review/Integration%20of%20design%20and%20manufacturing%20for%20structural%20shape.pdf

  • Anonymous

    Evan, I think the problem you described is actually even broader. How you define (or identify) relations between function and form, between requirements and design, engineering, manufacturing, etc. Even if we use various tools, they are not communicating well. Let’s dream about some “dream-can-do-everything-computer-system”. The first thing you will be thinking about is how to connect information dots. I can see some elements of these information models in heavy implementations of aero-industry or maybe automotive configuration. However, it still very complicated… Even so, you’ve made me think! Thanks. Oleg

  • Anonymous

    I agree with many of the comments here. I think there are some functions within many CAD systems that could help in calculating relationships between form and function, but I think it comes down to economics. There just isn’t time, and the product gets out the door without it. If it were easier and quicker to do these sorts of calculations, then it might be more common, but a focus on the bottom line has often been the limiting factor on adoption of any kind of technology.

  • http://www.shapespace.com drewsherlock

    Really interesting, some great stuff comes out of the Spatial Automation Lab.

    I know you were teasing us, but your title oversells it a bit. I don’t think it’s a “general solution to deriving form from function”.

    I think computers are good for exploring a space of possibilities (see algorithms for topology optimization, shape optimization and now for exploring configuration space). They still need a human to give a machine understandable definition of the function required and a design space through which to search. They can then be used as a tool to help identify a form to meet the required function. It’s a few steps less than ‘automatically’ deriving form from function.

    However, it’d be very powerful to have this buried in your CAD system, just as having a constraint solver or a modeling kernel are.