The assembly planning problem has received significant attention due to its importance in autonomous manufacturing. Typical assembly planners assume that parts have nominal shapes, while in reality their geometry varies according to the tolerance specifications. To account for toleranced parts, an assembly plan must be feasible for all possible variations of its components. Despite its practical importance, very few works address this problem. This paper presents a general framework for mechanical assembly planning with toleranced planar parts and shows how to incorporate it into existing planners. Our framework uses a general tolerancing model for parts: vertices are standard elementary functions of the part dimensions, which are allowed to vary within tolerance intervals. The relative position of parts is uniquely determined by an assembly graph, which defines constraints between features of neighboring parts. The assembly graph supports placements of parts with rotational degrees of freedom, cyclic relations, and conditional constraints, which occur in non-nominal contacts between edges. Using this framework, we show how to augment existing algorithms for useful motion types, including single and multiple step translations, and infinitesimal rigid motions. We demonstrate the dramatic reduction in the number of valid assembly plans when tolerances are introduced.