As the contemporary model for writing computer software, object-oriented programming substantially improves the performance and interconnectivity of computerized manufacturing systems. In conventional programming, units of code (sequences of computer instructions) remain separate from data (information by which the code operates). But in object-oriented programs, code and data are merged and encapsulated in the form of "objects" that respond according to specific messages they receive. These objects can be as complex as the software writer desires, and a single object may incorporate complete databases comprising millions of pieces of information.
In contrast to older programs based strictly on numerical functions, object-oriented architecture allows related information to be organized using classes and subclasses. When a new subclass (or "string") of the parent class is subsequently added by the programmer, it automatically inherits the message interface and behavior of that class. It's unnecessary, therefore, for programmers to periodically "reinvent the wheel" by rewriting entire database components when information is updated. Furthermore, object-oriented programs may be updated without the risk of software crashes that sometimes occur when information is altered in conventional programs.
Because object components are designed to be tamper-proof, a substantial portion of object-oriented programming involves determining the optimum method of classification. By facilitating the integration of quantitative and subjective data, object-oriented programs greatly simplify the handling of large amounts of complex information. This capability substantially speeds up software development.
The metalworking industry is beginning to reap the benefits of this approach. For the first time since introducing its original 3D CAD system for PCs in 1985, Cadkey Corporation (Marlborough, Massachusetts) has completely rewritten its CAD software products. Cadkey GraphX Version 20 software is the first commercial application based on the GeMS++ object-oriented database and memory management tools developed by Honeywell FM&T (Kansas City, Missouri) in partnership with the U.S. Department of Energy.
Despite improvements in 3D solid-modeling programs, many CAD users still require only 2D design capabilities. For this reason, GraphX is specifically designed to facilitate mechanical drafting work. The program can accept solid models from any source and quickly extract volume data, edge geometry, hidden-line orthogonal views and section views. It can also convert imported wireframe and surface models into solids and create accurate sketches or drawings.
The software's Tru-Dimensions system can be used as an automatic, fail-safe feature to prohibit the inclusion of dimensional notations that conflict with a part's geometry. In cases where non-associative dimensioning is necessary, this feature can operate in a mode that permits variations in values but still displays configurable warnings. The program also provides tools to create and manipulate all annotations used in mechanical drawings.
Incorporating a standard, Windows-style interface, the program may be easily navigated by anyone with basic knowledge of CAD programs. Cadkey's proprietary icon palette interface is a helpful alternative to the standard format. This interface eliminates back-and-forth movements of the cursor between the toolbar and the CAD image by providing pop-up icon menus beside the cursor. The program also affords users considerable latitude in customizing interface styles.
GraphX incorporates data translators that enable users to exchange many types of CAD drawings and 3D models. For example, paper or faxed drawings scanned into the forms of raster image files (TIFF, BMP) can be read and scaled, thus allowing approximate distances and areas to be calculated. CAD drawings can be exchanged using DWG, DXF, CADL and IGES files. Models may be imported and exported from IGES, STEP, ACIS(SAT), Parasolid (X_T) and stereolithography (STL) files. Whether an imported file is in the form of a 3D wireframe, a surface or solid, or a 2D drawing, it behaves like a natively created file when imported into the program. Although GraphX supports a variety of additional export mechanisms, users may also create HTML pages of their drawings and models that can be readily shared via the Internet.