We show that any simply connected (but not necessarily convex) polyhedron with an even number of quadrilateral sides can be partitioned into O(n) topological cubes, meeting face to face. The result generalizes to non-simply-connected polyhedra satisfying an additional bipartiteness condition. The same techniques can also be used to reduce the geometric version of the hexahedral mesh generation problem to a finite case analysis amenable to machine solution. Work supported in part by NSF grant CCR-9258355 and by matching funds from Xerox Corp.