Generating geometric dimensioning and tolerancing (GD&T) specifications for mechanical assemblies is a complex and tedious task, an expertise that few mechanical engineers possess. The task is often done by trial and error. While there are commercial systems to facilitate tolerance analysis, there is little support for tolerance synthesis. This paper presents a systematic approach toward collecting part and assembly characteristics in support of automating GD&T schema development and tolerance allocation for mechanical assemblies represented as neutral B-Rep. First, assembly characteristics are determined, then a tentative schema is determined and tolerances allocated. This is followed by adaptive iterations of analyses and refinement to achieve desired goals. This paper will present the preprocessing steps for assembly analysis needed for tolerance schema generation and allocation. Assembly analysis consists of four main tasks: assembly feature recognition (AFR), pattern detection, directions of control, and loop detection. This paper starts with identifying mating features in an assembly using the computer-aided design (CAD) file. Once the features are identified, patterns are determined among those features. Next, different directions of control for each part are identified and lastly, using all this information, all the possible loops existing in an assembly are searched.