← Quora archive  ·  2011 Jun 06, 2011 12:54 PM PDT

Question

Is there a mechanical engineering analogue to "Hello World"? (or: What's a good starter project?)

Answer

First, one of the MOST useful things you can do to develop your mechanical engineering instincts is to look at classic mechanisms. The world's biggest collection is called the Realeaux collection at Cornell. They have been gradually putting the entire collection online in the form of machinable designs that can be directly plugged into rapid prototyping/3d printing machines. Think of these as the analogue to design patterns in programming.

http://kmoddl.library.cornell.ed...


The question is somewhat ambiguous, since there is no analogue to "languages" in mech. engr. (discrete and separated ways of doing the same thing). The various design elements and manufacturing methods are usually all in the same soup of process knowledge. You could say there really is only one language in mechanical engineering. Variety comes from different conceptual ways of solving a problem. i.e., there is an analogue to say bubble-sort vs. q-sort type distinctions, but not one comparable to C vs. Java. Different manufacturing methods/models come close, but they have such radically different (and non-universal) expressivities (eg. lathe vs. milling machine vs. sand casting vs. continuous casting vs. die-casting...) that it's not useful to (say) think of "hello world" artifacts created by different machines.

Or to put it another way, there is no specifically mechanical notion of Universal Turing machine. UTMs and the notion of Turing-completeness is what makes the diverse universe of programming languages meaningful. This is because you are dealing with atoms rather than bits.

There are such things as fully programmable CNC machines or rapid-prototyping/3D printing machines/manipulator robots that can basically "make anything" (not theoretically, but "anything" in the sense of "90% of useful ideas you can dream up"). But this is a much weaker kind of capability than Turing completeness. It also covers only creation of basic geometry. Material properties, heat treatment etc. are also part of mechanical engineering, but most hobbyists never get that far.

That preamble aside, some pointers.

Any good junior/senior year design project type course is a good place to look. In my case, the challenge was to design a pencil lifter (a device that would lift a pencil 15 cm and then drop it). Here is a little blog post I wrote that talks about it tangentially (it should also give you a sense of what design thinking is like in mechanical engineering).

http://www.ribbonfarm.com/2009/0...

It's a pretty good basic challenge, and forces you to think about all the different concepts you learn in more basic courses about the kinematics and dynamics of machinery, and synthesize that stuff with design insight.

As with computer science, it is possible to be a mechanical engineering "hacker" and do a whole lot of very sophisticated stuff, all the way to building your own car for instance, without knowing much about the theory. But even a bit of theory really helps you appreciate the fundamental principles. Try something like http://www.amazon.com/Schaums-Ou...

If you are more mathematically inclined, try a Kinematics of Machines textbook (search for the phrase on Amazon. If you have basic high-school trig and geometry, plus some basic calculus, you know enough).

In mechanical engineering, instead of new languages, you have new classes of processing techniques, or new regions of design space opened up by new classes of materials. For example, the elasticity of certain plastics opened up the whole field of compliant mechanisms (mechanisms based on bending/snap-fit designs that use far fewer parts than equivalent ones that require fasteners).

Also for no good reason other than it being cool, check out this great Kickstarter project:

http://www.kickstarter.com/proje...

(HT: Craig Montuori (Quora user))