3D "Sketching" Programs

CS 481/681 2007 Lecture, Dr. Lawlor

We saw last lecture how you can build 3D models using full-fledged 3D modeling programs like Blender.

But there are often times when you just want to crank out a simple model quickly.  Takeo Igarashi, at the U. Tokyo, built an interesting little Java program called SmoothTeddy that extrudes simple 2D outlines into puffy 3D shapes.  It's designed for building cartoony animals, and it works pretty well for that.  Try it!  Just don't get too attached to your models, because the program does tend to throw more and more exceptions until it stops working completely...

A more robust 3D sketching program is Google SketchUp, which is particularly natural for buildings and other shapes with lots of flat faces and right angles.  SketchUp is implemented around a very small set of primitives:
What's beautiful about this program is how the small set of primitives can be combined to generate extremely complicated shapes quickly.  The coolest tool in SketchUp is the Extrusion tool, which lets you push and pull on faces to extrude new shapes.  Definitely try out the tutorial movies (Help -> Tutorial), which explain how to use the program far better than I can.  SketchUp is also scriptable with Ruby.

SketchUp supports an interesting non-photorealistic rendering style that conveys 3D shape *better* than normal shading.  Definitely try View->Shadows, which projects some sort of vector shadows onto geometry.  SketchUp also uses real-world units (feet, meters), which is refreshing.  I couldn't get the SketchUp 6 binary to export to .obj files, although supposedly this is possible.