Software for Pre-CAD systems design

Modeling Ideas

Engineers don't often talk about why they do what they do. For instance, the heavy preference for wanting to see something work, whether that be physically in a prototype or virtually in a CAD model. What's obvious but unstated is that this preference is the most direct way to communicate a mental model of a potential system from one person to another. That is, mechanical design engineers are very visual, preferring to think in those terms so much so that communicating certain ideas non-visually is a significant challenge.

When I'm modeling something new, I have an idea in my mind that I think will work. This idea is not fully formed, I generally frame it as a suspicion which needs to be fleshed-out. I typically explain this as a balance; for my mind to be able to imagine something new I have to ignore certain obvious constraints, like the precise form of parts or their exact connections. Modeling, in the generic sense, is where I get to express these constraints because a sketch or computer can remember them and make them available to me for further mental simulation.

On the first pass I try to get the most basic parts of the idea down, typically the novel part of a mechanism or a graph I think is true. As soon as I'm able to see some representation of the idea, my mind jumps to imagining the mechanism in motion or the implications of the graph. I usually have a palpable sense that possibilities have been lost in this first expression, necessitating further takes. The challenge is that these later sketches are adding details to the preceding attempts, judged both by their consistency with the other sketches and by their honesty/truthfulness to the original, fading idea. Too often I have to include details that are incompatible with the original idea and preceding representations.

The resulting model is one of notions and compromises, it is always afflicted with a sense of loss, that this is only a crude representation of my first idea whose possibilities have been tempered by my instantiation. And I generally blame its crudity on my tools, my sketching or software. CAD software is especially though necessarily limiting here and only works one way: the holes line up or they don't. This forces engineers to waste time on trivial things like mates and fasteners rather than at some more abstract level. Hence the continued utility of sketching.

Breaking a complex problem into pieces is an essential skill, but engineers need help expressing the non-visual aspects of their ideas, especially when the idea is on the border of their understanding and experience. They need to write something down, but need to do so in a sufficient form that allows the idea to be communicated and explored by others with differing experiences without getting bogged down in irrelevant details.

And this is where our ideal2real modeling approach comes in, that in both Modelica and Julia we employ hierarchical modeling techniques that allow ideal models to be added and used to quickly get a first graph of the imagined performance, then for these to be replaced with more physically-realistic models that further develop the idea. We're looking forward to sharing more details on our approach and how it influences the design of some upcoming libraries...stay tuned. And please discuss on twitter or email.

— Ben Conrad