An object-oriented program shell for integrating CAD software tools

B. Bettig, J. Shah

Research output: Contribution to journalArticlepeer-review

12 Scopus citations


The number of CAD programs and their capabilities have risen greatly in recent times. As well, the number of Application Programmer Interface (API) products and the number of representation standards for display, database storage and communication has also risen. These applications, API products and representation standards are generally not compatible except through specific, individually programmed interfaces. Incompatibility of API software products arises because of: (i) different representations for the same information, and (ii) different ways of communicating with the API products. This article describes the derivation of a generic software architecture to overcome the second source of incompatibility. The derivation employs the "box structure" (system engineering) software development methodology in a generic, high level manner; by considering activities performed with current CAD software, but without going into the details. The objective is to determine the types of software objects required and the types of messages that must be passed between them. The result is an architecture in which Tool objects embodying individual software tools are plugged into a Shell object which holds the Tool's together as a single program, provides for interactions between Tool's and controls when each Tool is active. In this way separately developed software tools can be combined seamlessly into a highly graphical and interactive environment.

Original languageEnglish (US)
Pages (from-to)529-541
Number of pages13
JournalAdvances in Engineering Software
Issue number8
StatePublished - 1999


  • CAD/CAM software
  • Framework
  • Software architecture
  • Software environment

ASJC Scopus subject areas

  • Software
  • Engineering(all)


Dive into the research topics of 'An object-oriented program shell for integrating CAD software tools'. Together they form a unique fingerprint.

Cite this