Professional Documents
Culture Documents
CAD Software
CAD Software
CAD/CAM software
10
Formally a data structure is defined as a set of data items or elements that are related
to each other by a set of relations. Applying these relations to the elements of the set
results in a meaningful object. From a CAD/CAM point of view, a data structure is a
scheme, logic, or a sequence of steps developed to achieve a certain graphics, non-
graphics, and/or a programming goal.
1 A 4
E 6
5
B B1 D B2 F
8 7
G
2 3
C
(a) Data structure based on edges
Set of edges: A, B, C, D, E, F, G
Connectivity vertices: 1 (A & B), 2 (B & C), 3 (C & D), 5 (E),
6 (E & F), 7 (F & G), 8 (G)
11
As an example consider the object shown in Fig. 2.1. Three different types of data
structures have been identified to construct the object. They are based on edges,
vertices, or blocks. Within the context of the above formal definition of a data
structure, the set of edges, vertices, or blocks is the set of data items for each type,
and edges, vertices, or blocks are the data items themselves. Furthermore, the
connectivity vertices for the first type, the edge information for the second, and the
set operations for the third form the set of relations required by each type. As an
example, [1, A&B] indicates that vertex 1 is shared by edge A and B while [A, 1&4]
indicates that edge A has two vertices 1 and 4.
2.1.2 Database
The term “database” is commonly used and may mean different things to different
users. Formally, a database is defined as an organised collection of graphics and
nongraphics data stored on secondary storage in the computer. From a software
development point of view, a decision on the data structure has to be made first,
followed by a choice of database to implement such a structure. There may exist
more than one alternative of database to implement a given data structure.
The objective of a database is to collect and maintain data in a central storage so that
it will be available for operations and decision-making. The advantages that accrue
from having centralised control of data, or a centralised database, is manifold:
1. Eliminate redundancy. This is important for integrated CAD/CAM functions and
CIM applications. The database should be rich enough to support all various
phases of product design and manufacturing. If both design and manufacturing
departments, for example, have access to the same database, inconsistent and
conflicting decisions are inherently eliminated, and data is shared by all
applications.
2. Enforce standards. With central control of the database, both national and
international standards are followed. Dimensioning and tolerancing are examples.
In addition, company can develop its own internal standards required by various
departments. Standards are desirable for data interchange or migration between
systems.
12
3. Apply security restrictions. Access to sensitive data and projects can be checked
and controlled by assigning each user the proper access code (read, write, delete,
copy, and/or none) to various parts of the database.
4. Maintain integrity. The integrity of the database ensures its accuracy. Lack of
database integrity can result in inputting inconsistent data.
5. Balance conflicting requirements. Compromises can easily be made when
designing a model of the centralised database to provide its overall best
performance.
CAD/CAM databases must be able to store pictorial data in addition to textural and
alphanumeric data typically stored in conventional databases. The most popular
database models are:
1. Relational database. Data is stored in tables, called relations, that are related to
each other. One of the disadvantages of the relational database is that it requires
substantial sorting, which might result in slowing the system response to user
commands.
2. Hierarchical database. In this model, data is represented by a tree structure.
3. Network database. The network approach permits modelling of many-to-many
correspondence more directly than the hierarchical approaches. The prime
disadvantage of the network approach is its undue complexity both in the database
structure itself and in the associated programming of it.
4. Object-oriented database. Unlike conventional database processing, CAD/CAM
applications require object-oriented accessing and manipulation; that is, units of
retrieval and storage are design objects and not individual records in files. These
design objects also form the basis for ensuring database integrity upon the
insertion, deletion, or modification of component objects.
13
3. The iterative nature of design. CAD/CAM database management systems must
support the tentative, iterative, and evolutionary nature of the design process.
4. Design versions and levels of detail.
5. Concurrent and multiple users must be supported from the database.
6. Temporary database support. Due to the iterative nature of design, earlier
generated data may not be committed to the database until the design process is
completed.
7. Free design sequence. The database system should not impose constraints on the
designer to follow because different designs require different sequences.
8. Easy access. Application programs requiring data from a CAD/CAM database
should not require extensive knowledge of the database structure to extract the
data needed. This is important in customising CAD/CAM systems for specific
design and manufacturing procedures.
A DBMS is defined as the software that allows access to use and/or modify data
stored in a database. The DBMS forms a layer of software between the physical
database itself (i.e., stored data) and the users of this database as shown in Fig. 2.2. In
general, a DBMS is responsible for all database-related activities such as creating
files,checking for illegal users of the database, and synchronising user access to the
database.
The requirements of a DBMS for CAD/CAM are fundamentally different from those
required by commercial data processing applications. Therefore, current DBMS and
techniques that are originally designed to support business data processing are not
directly applicable to CAD/CAM databases. The latter are characterised by many
14
A pplication program s (U sers)
DBM S
D atabase
different data types and also large numbers of instances of each type; that is, these
databases exhibit very large, but static, database structures. In addition, CAD/CAM
databases must support complex relationships between data items in contrast to
business databases that are designed for record keeping and modeling of relatively
simple relationships between data types. Another fundamental difference is that
business databases are relatively stable over time. However, CAD/CAM databases
must reflect the iterative nature of design and manufacturing. Object-oriented
databases and their related DBMSs seem to be ideal for CAD/CAM and can result in
a significant improvement of CAD CAM systems.
Three types of coordinate systems are needed in order to input, store, and display
model geometry and graphics. These are the working coordinate system (WCS), the
model coordinate system (MCS), and the screen coordinate system (SCS)
respectively.
The MCS is defined as the reference space of the model with respect to which all the
model geometrical data is stored. It is a cartesian system which forms the default
coordinate system used by particular software. In a part, the model coordinate system
15
describes the geometry of the surfaces and edges. In an assembly, the model
coordinate system describes the locations and orientations of the assembly members.
The MCS is the only coordinate system that the software recognises when storing or
retrieving geometrical information in or from a model database.
16
SCS is a two-dimensional coordinate system that describes locations in a design
window. When the user zoom the view, the screen coordinate system follows the
display of the model, so that a particular point on the model always maps to the same
screen coordinate. The mapping changes only when the view orientation is changed.
Screen coordinates are a kind of nominal pixel count, so the bottom left corner of the
default window is at (0, 0) and the top right corner is at (1000, 864). Screen
coordinates are important because they are used by some of the graphics functions,
the mouse input functions, and all the functions that draw graphics or manipulate
items on a drawing.
A user interface is defined as a collection of commands that users can use to interact
with a particular CAD/CAM system. User-interface or man-machine dialogue
represents the only means of communication between users and CAD/CAM
software. The language of the interface should be simple enough for the user to
understand. It should also be efficient and complete and should have a natural
grammar, that is, the minimum number of easy-to-grasp rules. This helps minimise
user training and allows the user to concentrate on the problem to be solved. The user
interface should allow the user to undo mistakes if needed.
17
highlights in red (or is given a checkmark, depending on the function). When the
mouse pointer moves along the menu, a one-line explanation of each command is
given in yellow in the message window.
C heck B uttons
O ption B uttons
18
Pro/ENGINEER uses both “simple” and “compound” menus. A simple menu has a
menu name in the title bar at the top of the menu and one or more command or
options listed in the body of the menu. A compound menu has a menu name in the
title bar at the top of the menu and one or more commands or options listed in each
of two or more submenus. The submenus are separated by horisontal bars.
Sometimes a menu will appear with dimmed menu options. This means that the
options are “highlighted” in gray when the menu is displayed. You cannot choose
these options, either because they are not available in the current mode or because
some other option must first be chosen to make them available. Dimmed menu
options are very noticeable when you enter Part mode to create a new part; all options
except Feature and Set Up are dimmed.
There are considerable numbers of software packages for the various types of
CAD/CAM systems. Each package has its own strengths and uniqueness and is
usually targeted toward a specific market and group of users. For example, there are
mechanical, electrical, and architectural CAD and CAM software for the respective
users. Investigating an existing software on various systems reveals that it has a
generic structure and common modules. The major available modules are:
1. Operating system module. This module provides users with utility and system
command that deal with their accounts and files. Typical functions such as file
manipulations (delete, copy, rename, etc.), managing directories and
subdirectories, using editors, programming, and accounts setups are supported by
the OS module.
2. Graphics module. This module provides users with various functions to perform
geometric modelling and construction, editing and manipulation of existing
geometry, drafting and documentation.
3. Applications module. The creation of a geometric model of an object represents a
means and not a goal to engineers. Their ultimate goal is to be able to utilise the
19
model for design and manufacturing purposes. This module varies from one
software to the other. However, there are common applications shared by most
packages. Mechanical applications include mass property calculations, assembly
analysis, tolerance analysis, sheet metal design, finite element modelling and
analysis, mechanisms analysis, animation techniques, and simulation and analysis
of plastic injection moulding. Manufacturing applications include process
planning, NC, CIM, robot simulation, and group technology.
4. Programming module. Typically, this module provides users with system-
dependent and standard programming languages. The former is provided for
graphics purposes while the latter is used for analysis and calculations.
5. Communications module. This module is crucial if integration is to be achieved
between the CAD/CAM system, other computer systems, and manufacturing
facilities. It is common to network the system to transfer the CAD database of a
model for analysis purposes or to transfer its CAM database to the shop floor for
production. This module also serves the purpose of translating databases between
CAD/CAM systems using graphics standards such as IGES.
Geometric modelling and simulation via computers have reached a level to replace
the real-life prototypes or tests. A geometric model is defined as the complete
representation of an object that includes both its graphical and nongraphical
information. Objects can be classified into three types from a geometric construction
point of view. These are two-and-a-half dimensional, three dimensional, or a
combination of both (Fig. 2.5). Two-and-a-half-dimensional objects are classified to
have uniform cross sections and thicknesses in directions perpendicular to the planes
of the cross sections. Constructing such an object via wireframe modelling requires
only constructing the proper entities (faces), projecting them along the proper
directions by the thickness value, and then creating the proper edges along these
directions. This is a much more efficient way of construction than calculating and
20
Two-and-a-half dimentional
Two-and-a-half dimentional
Three dimentional
inputting the coordinates of all the corner points of the model. The construction of a
true three-dimensional object requires the coordinate input of key points and then
connecting them with the proper types of entities.
While model construction involves the creation of the model database, viewing
affects the way the model is displayed on the screen. Modelling and viewing are
interrelated but yet display techniques and approximations do not affect the object
representation inside the database. Views are defined by the various angles from
which a model can be observed. Essentially, the observer changes position in the
21
MCS, while the model maintains its original orientation. An infinite number of views
can be defined for a model. In Pro/Engineer, all models appear on the screen in
default view orientation when they are first created, and whenever they are retrieved.
The default view orientation can be set to: isometric or trimetric. The system will
default to a trimetric view if no other orientation is set. While working in Pro/E the
default view orientation can be changed using options under the ENVIRONMENT
menu (see Fig. 2.4).
22