An overview is given of a pattern data preparation system which changes computer-aided design (CAD) data to data which drives the pattern generator of a vector scan electron beam system. The software described is basically independent of the particular CAD system or electron beam system, and is joined to these two systems by custom formatting modules. Internally, the pattern data preparation system performs a series of functions on the original design data, with the functions falling into two general classes — those which operate on individual shapes (such as etching), and those which depend on shape–shape interrelationships (e.g. dose correction, overlap removal, etc.). The design data may be described in a compacted ’’nested’’ form, or in an extended ’’unnested’’ form. Shape interrelationship manipulations cannot be simply applied to nested data, which implies that CPU time efficiency may suffer if certain operations are performed. Within this framework we describe the importance of performing manipulations in a particular order, methods for removing overlaps and for shape breakup prior to dose correction, and sorting techniques for optimizing electron beam writing performance. We also discuss methods for renesting data which has previously been unnested, and for dealing with memory arrays. The overall structure of such a software package is shown to permit system independence, and also to permit the path from CAD system to electron beam system to include only those functions which are appropriate to the device technology to which the vector scan system is applied.