CAD-neutral application programming interface

Data processing: generic control systems or specific application – Specific application – apparatus or process – Product assembly or manufacturing

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C700S097000, C700S098000, C700S180000, C700S181000, C703S001000, C703S023000, C703S026000, C703S027000, C345S418000, C345S419000, C345S420000, C345S960000

Reexamination Certificate

active

06445974

ABSTRACT:

BACKGROUND OF THE INVENTION
The present invention generally relates to computer-aided design (CAD) software and more particularly to a computer-based system and method for building generic function calls for dynamically switching between different CAD platforms.
Computer-aided design (CAD) generally refers to the application of computers to the product development process by developing computer models of those products. Almost any product, and any form thereof, can be modeled by one of a plethora of CAD systems. Products are normally modeled on the basis of certain properties, such as form, dimension, tolerance and structure. Important aspects of these properties are geometry, imagery, and spatial manipulation. Thus, CAD systems rely heavily on computational geometry and computer graphics.
FIG. 1
illustrates a simplified block diagram of a CAD platform
14
in a CAD system
10
. Examples of CAD platforms are MicroStation, AutoCAD, Visio, Intellicad, Imagineer, etc. The CAD system includes a data source
12
, including a database
18
for storing volatile or nonvolatile information, and working data
20
that may include model data representing computational modeling of entities of a product being designed. The working data
20
is usually stored temporarily in random access memory (RAM), or retrieved from more permanent memory in the database
18
. The working data represents information utilized by the CAD platform
14
for performing CAD functions on the entity and data representative thereof.
The CAD platform is a computer-based tool for performing different functions of design processes. Common functions of the CAD platform include instructions for model definition
22
, manipulation
24
of a model or model data, and generation of a picture
26
based on the model. Further, the CAD platform includes utilities
28
to assist a CAD user in carrying out CAD fiunctions, database management tools
30
for managing and controlling the configuration and organization of information contained in the database
18
or working data block
20
, and any number of CAD applications
32
. The applications
32
of the CAD platform include the specific CAD computer program code and function calls proprietary to the different CAD platforms listed above, as well as general functions performed by all CAD platforms. The applications
32
also include any applications programming interfaces (APIs) by which CAD users interact with the CAD platform. An input/output block
16
provides the conduit through which user commands and instructions are provided to the CAD platform.
The term “model” as used herein is a representation of an entity, which in turn is an abstract artifact or property of a design on which the actual product is based. Thus, a model is dependent on what property of the design is to be modeled. Each CAD platform generates model data representative of the entity, for manipulation according to computational instructions, or for display on a graphical display. Computational instructions are also known as function calls, which generally refer to a group of steps employed by the CAD platform for performing a certain manipulation on model data.
The computational and modeling methods and parameters employed by CAD systems, while having a certain degree of correspondence, are inherently different and often incompatible from one CAD platform to another. For example, a simple function such as drawing a square may involve computations of spatial geometry, coordinate functions, and three-dimensional rendering. Additional properties such as texture, shading, and illumination require many more computations and computer modeling techniques. The methods employed by one particular CAD platform for manipulating model data, or the platform-specific function calls with respect to particular model data, may vary considerably from the function calls of another particular CAD platform. The function calls generated from one of any of these CAD platforms may be different from and unrecognizable by any other CAD platform.
What is needed is a system and method for building one set of executable generic function calls on any CAD platform, which are able to be executed on any of a variety of other CAD platforms with equivalent functionality and preserve as much of the computational integrity of the product as possible.
SUMMARY OF THE INVENTION
The present invention provides a system and method for CAD platform-neutral operation in a CAD system. A CAD system includes a processor for executing one of a plurality of CAD platforms and a memory for storing a plurality of generic CAD functions, where the generic CAD functions are emulated after functions supported by a selected one of the plurality of CAD platforms. In one embodiment of the present invention, a method of executing neutral CAD functions includes the steps of determining which one of the plurality of the CAD platform is running, receiving a call to a specific CAD function via the running CAD platform, and forwarding the call directly to the running CAD platform if the running CAD platform is equivalent to the selected CAD platforms, otherwise redirecting the call to a corresponding one of the generic CAD functions in the memory.
In another embodiment of the present invention, a method is provided for executing functional manipulations of model data representing an entity, wherein specific functions of the functional manipulations are addressed by a different set of function calls between a first and a second CAD platform. The method includes abstracting functions of the first CAD platform into a generic set of function calls building a set of generic executable functions based on the generic set of function calls, translating function calls from the second CAD platform into function calls for addressing the set of generic executable functions, and executing the generic executable functions according to the translated function calls.
In yet another embodiment of the present invention, an apparatus is provided for executing CAD platform-neutral functions. The apparatus includes a generic CAD function emulator that builds a set of generic CAD functions from selected specific CAD functions, a CAD-neutral library that stores the set of generic CAD functions, and a plurality of CAD drivers coupled with the CAD-neutral library, each one configured to interact with a separate one of the plurality of CAD platforms, that receive a function call for a platform-specific function, and direct the function call to a corresponding generic function.


REFERENCES:
patent: 5481695 (1996-01-01), Purks
patent: 5682542 (1997-10-01), Enomoto et al.
patent: 5689711 (1997-11-01), Bardasz et al.
patent: 5724406 (1998-03-01), Juster
patent: 5850289 (1998-12-01), Flower et al.
patent: 5850535 (1998-12-01), Maystrovsky et al.
patent: 5852442 (1998-12-01), Morito
patent: 5905501 (1999-05-01), Kato
patent: 5912739 (1999-06-01), Flower et al.
patent: 5963451 (1999-10-01), Seki et al.

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

CAD-neutral application programming interface does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with CAD-neutral application programming interface, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and CAD-neutral application programming interface will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2899776

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.