| dc.description.abstract | In view of the widespread use of Computer Aided Design (CAD) systems, the problem of storing data efficiently (in terms of memory requirements and the time required to access it) is of considerable importance. This thesis addresses itself to the design and implementation of a relational database system for CAD applications called ARDBID (A Relational DataBase for Interactive Design).
The database system handles the storage, updating, and retrieval of both pictorial information such as engineering drawings as well as alphanumeric data. The database itself is decomposed into three smaller databases. These three databases have the functions of storing 2-D design data, 3-D design data, and corporate data. The DBMS is divided into four parts viz., (1) the data definition facilities, (2) the data manipulation facilities, (3) the query handler, and (4) a set of routines to aid the user during the design process, called the Design Aids. Such a database system has been referred to as an integrated one in this thesis.
The Data Definition Language (DDL) and the Data Manipulation Language (DML) have the functions of creating and modifying relations respectively. The DDL and the DML can create and modify pictures interactively on the graphics terminal screen using a light pen and menu commands. The Query Handler (QH) interprets and answers queries. The query language used in ARDBID, AQL (A Query Language), is based on the query language SEQUEL.
The Design Aids Module (DA) contains a procedure to convert wireframes to surface models (and thus aid the easy input of 3-D objects), a procedure to calculate the volume and surface area of a 3-D object, and a procedure to compute the union, intersection, and difference of two polygons. The last-named procedure employs a scan-grid algorithm, and such an algorithm has not been reported in the literature.
The ARDBID system can be employed in a wide variety of design applications, and one such typical application has been demonstrated in the thesis. The entire package has been implemented on a DEC System 1090 using the Pascal language. | |