Patent ID: 7747570

Claim:
A computer-implemented method, comprising: intercepting, by a first application programming interface (API), a plurality of function calls to capture a description of one or more geometric entities from a running computer-assisted design (CAD) program on a computing device, wherein the first API is not configured to perform operations specified by the plurality of function calls, wherein intercepting the plurality of function calls to capture the description of the one or more geometric entities comprises: determining that a first intercepted function call of the plurality of intercepted function calls indicates a beginning of a sequence of graphics instructions that define the one or more geometric entities, and in response to determining, identifying second intercepted function calls intercepted after to the first function call that are for graphics instructions and recording data from the graphics instructions as art of the description of the one or more geometric entities until a third function call intercepted after the second function calls indicates an end of the sequence of graphics instructions that define the one or more geometric entities; accepting the captured description of the one or more geometric entities from the running computer-assisted design (CAD) program on the computing device, the geometric entities representing two and three dimensional graphical objects in a CAD model, and the description including a plurality of data for a set of drawing operations, wherein the plurality of data is accepted from at least one instruction provided by the CAD program for displaying the one or more geometric entities on a graphic display; building an in-memory representation of the geometric entities based on the description, the in-memory representation being different from the description; converting the in-memory representation to a non-application specific format; exporting the non-application specific format to one or more files for use in displaying the one or more geometric entities on the graphic display, wherein intercepting, accepting, building, converting and exporting are performed by one or more computers; and providing the plurality of function calls intercepted by the first API to a second API that is configured to perform the operation specified by the plurality of function calls, wherein the plurality of function calls were intended for receipt and execution by the second API.