In a system of a client and a server, the server stores three dimensional
CAD data in a cache. The CAD data is stored in the cache in levels of
detail further divided into tiles. When a client receives a request from
a user to view part of a CAD file, the client determines which portion of
the CAD file is being viewed, and at what resolution. The client then
checks a client cache for tiles already stored for the desired view. The
client requests the view data from the server by providing to the server
the client's resolution, the boundary of the viewing area and a list of
tiles that the client already has. The server uses the request
information to return to the client only the data that is needed for the
client's resolution and that is not already stored on the client.