THE MICROPROCESSOR AND COMPUTER-AIDED DESIGN AND MANUFACTURE

by

Suneel Kumar Khurmi, B.Sc.(Eng), A.C.G.I.

September 1982

A thesis submitted for the degree of Doctor of Philosophy of the University of London and for the Diploma of Membership of the Imperial College.

Department of Mechanical Engineering Imperial College of Science and Technology University of London - 2 -

ABSTRACT

The thesis describes the design, implementation and

application of software for a low cost based

Computer-Aided Design and Computer-Aided Manufacture

(CAD/CAM) system.

The CAD workstation consists of a Motorola 68B09 8-bit

microcomputer, a floppy disc, a Hewlett-Packard graphics

^ VDU, a printer and a plotter. The Numerical Control system

consists of a hierarchical multi-microcomputer control

system on a retrofitted Student Colchester lathe and a

Bridgeport milling machine. t

The CAD and NC part-programming software consists of

several packages which assist the operator through the

conceptual realms of product design and manufacture. They

assist in the storage of the geometrical and technological

information associated with the product, geometrical

t editing, draughting, design analysis, cutter path

derivation, NC simulation and part program generation.

These packages are executed sequentially to produce

2/2^ dimensional NC part programs for a variety of machine

tools, for example the Colchester and Bridgeport machines.

Most of the packages are modular and have been developed in

* , the high level language Pascal to maintain system

modularity, flexibility and expandability. - 3 -

ABSTRACT

The thesis is subdivided into four main sections. The

first section introduces the reader to microprocessors, CAD,

CAM and the implications associated with CAD/CAM

integration. The second section describes the importance of

the selection and usage of microcomputer languages and

operating systems in conjunction with CAD/CAM hardware. The

selection is supplemented by the proposals of an ideal CAD

workstation and a CNC system. A detailed description of the

software packages and their capability is presented in the

third section with two detailed examples illustrating the

use of the system. The first illustrates a turned component

and the second a pocket milled component. Finally, in the

fourth section, a comparison between the CAD/CAM system

described and those commercially available is presented. The

advantages and limitations of the current system are

discussed with particular reference to development into a

commercial system.

ft

ft ACKNOWLEDGEMENTS

The author wishes to acknowledge the guidance and support of his supervisor Dr. C.B.Besant.

He also wishes to acknowledge the assistance and guidance of his fellow collegues. In particular Dr. H.A.Pak for his help in the writing of some of the early software used in this work, S.Ahmad, O.Alankus, D.Dalzell,

L.Daneshmend, D.Etela, T.Jin, G.Kartsounis, C.Lui, F.Maali,

S.Premi and N.Zarimpas for their useful criticisms at various stages of the project.

This project was sponsored by Science and Engineering

Research Council.

Finally, thanks are also due to his parents and other members of the family for their moral and financial support. - 5 - NOTATION

A/D Analogue to digital ft Baud Baud rate (bits/second)

Bit One binary digit

Bus Media for interconnection betwee

Byte Eight bits ft CAD Computer-aided design

CAM Computer-aided manufacture

CLDATA Cutter location data 41 CMC Computer numerical control

CPDR Cutter path derivate

CPU Central processor unit ft CR Carriage return

- CRT Cathode ray tube

DB Database

ft D/A Digital to analogue DBMS Database management system

DOS Disc operating system

DNC Direct numerical control

ECL Emitter coupled logic

EPROM Erasable programmable read only i

FMS Flexible manufacturing system

ft IC Integrated circuit

IEEE Institute of Electrical and Elec

I/O Input/Output

3 ft K Kilo (10 ) LSI Large scale integration

M Mega (10**)

MCU Machine control unit NOTATION

Million instructions per second

Machine tool

Machine tool languag

Numerical control -9

Nano seconds (10 sec)

Original equipment manufacturer

Printed circuit board

Part program generate package

Random access memory

Read only memory

Transistor-transistor logic

Voltage controlled oscillator

Visual display unit

Very large scale integration micro (10 - 7 -

CONTENTS ABSTRACT 1 a ACKNOWLEDGEMENTS 3 NOTATION 4

Chapter 1 : INTRODUCTION 11 m 1.1 Introduction to the integrated circuit and the microcomputer. 11 1.2 Impact of the IC in the manufacturing industry. 12 1.3 Evolution of Computer-Aided Design (CAD) and 21 Computer-Aided Manufacture (CAM). Chapter 2 : COMPUTER-AIDED DESIGN (CAD) 28 2.1 Conventional manual design techniques. 29 * 2.2 Computers in mechanical design. 32 2.3 Advantages of CAD. 38 2.4 Social implications of CAD. 40 » Chapter 3 : COMPUTER-AIDED MANUFACTURE (CAM) 41 3.1 Computer-Aided Manufacture. 41 3.2 Numerical Control in CAM. 46 a 3.3 NC Computer management. 49 3.4 Computer Numerical Control (CNC). 50 3.5 Direct Numerical Control (DNC). 53 3.6 as an aid in part programming. 54 * 3.7 Use of microprocessors in CAM and NC hardware. 56 Chapter 4 : CAD/CAM INTEGRATION 60 ft 4.1 CAD-CAM data link. 61 4.2 Hardware and software savings in integrated microprocessor 66 based CAD/CAM systems. 4.3 Implications of CAD/CAM integration. 69 CONTENTS

Chapter 5 : CHOICE AND USE OF MICROCOMPUTER LANGUAGE S70 5.1 Selection of software development tools. 71 5.2 Influencing factors in choosing low and high level microcomputer 73 languages for CAD/CAM applications. 5.3 Structure of the high level language PASCAL. 76 5.4 The precedence of a microcomputer's operating system. 81 Chapter 6 : PROPOSALS AND ARCHITECTURE OF THE MICROCOMPUTER BASED CAD I CAM WORKSTATION 82 6.1 Proposal for a CAD/CAM workstation. .82 6.2 Proposal for a NC system. 96 6.3 Description of the current M6809 based CAD/CAM system. 106 6.3.1 The CAD/CAM workstation. 106 6.3.2 The operating system. 113 6.3.3 The NC turning system. 115 6.3.4 The NC milling system. 120 Chapter 7 : DESCRIPTION OF THE WORKSTATION'S SOFTWARE 123 7.1 Software hierarchy. 123 7.2 The CREATE package. 128 7.3 The EDIT package. • 146 7.4 The DISPLAY package. 149 7.5 The PLOTTER package. 172 7.6 The DESIGN Analysis package. 175 7.7 The Turning Cutter Path Derivate TCPDR package. 180 7.8 The Milling Cutter Path Derivate MCPDR package. ' 194 7.9 The Part Program Generate PPGP package. 216 7.10 Machine Tool Interpreter Language (MTIL) and CAM. 217 - 9 - CONTENTS

Chapter 8 : THE USE OF THE SYSTEM TO CAD/CAM 220 APPLICATIONS 8.1 An example of a turned component. 220 8.2 An example of a milled component. 241 Chapter 9 : EVALUATION AND ECONOMIC ASPECTS OF THE 249 CAD/CAM SYSTEM 9.1 Evaluation of the geometrical repertoire of the current system. 249 9.2 Arithmetic precision of the current system. 255 9.3 Data processing for the current system. 259 9.4 Comparison of the machine tool control codes output by the 261 current system with those of APT and COMPACT. 9.5 Analysis of the MCPDR package with reference to the GNC, 262 Polysurf and Surfset packages. 9.6 Diagnostics and program debugging. 264 9.7 Economic aspects associated with NC and the current system. 266 Chapter 10 : CONCLUSIONS, DISCUSSION AND SUGGESTIONS 271 FOR FUTURE WORK 10.1 Conclusions and discussion. 271 10.2 Suggestions for future work. 274 REFERENCES 280

4 •

4 CONTENTS

APPENDICES A : CREATE package command repertoire. B : Primitives' database organisation. C : CREATE & EDIT packages' error messages. D : DISPLAY package command repertoire. E : PLOTTER package command repertoire. F : Varignon's theorem. G : Moment of inertia of composite bodies. H : Determination of the centroid of composite bodies. I : Description of the TCLDATA and MCLDATA files. J : TCPDR and MCPDR packages' command repertoire. K : PPGP package's command repertoire. L : Paper presented at CAD82 conference. M : Paper presented at MICAD82 conference. CHAPTER 1 INTRODUCTION

1.1 Introduction to the integrated circuit and the

microcomputer

The ever diminishing size and cost of microelectronic

devices has brought about two technological achievements.

Firstly, in the integration of two technologies - Computer-

Aided Design and Computer-Aided Manufacture into unified

CAD/CAM systems, whereby a design is developed and the

manufacturing process controlled from start to finish with a

single system. And secondly, in the feasibility of low cost

CAD/CAM systems on an economic scale which can be related to

small sized manufacturing industries.

Though still in their infancy the 1980s are well on

course to become the decade of the silicon chip, Fig. 1.1.

During the next few years microelectronics will develop

rapidly from being a source of intense popular interest to

emerge as a pervasive force with a direct impact on an

everwidening area of our daily lives. One of the

controversial aspects of the new technology is the effect

that it will have on employment. It is clear that the

displacement of labour will involve not only the man on the

shop floor but line management as well. Furthermore,

computers can probably come out with much better programs

for optimum cash flow strategies, payroll and so on, and therefore some middle-line management will be obviated as well. - 12 -

10 Components/Chip 1M / RAM O / / / / 10 256K q ' RAM . '

64K rQ 32 Bit 105 H RAM ji-processor 16K RAM 16 Bit ji-processor 104 H

8 Bit ji-processor

10 h

Calculator Chip

10 2 J

io h

l

-« Subcircuit Circuit System o.i 1960 '65 '70 75 80 '85

FIG. 1.1 PROGRESS IN MICROELECTRONIC INTEGRATION - 13 -

INTRODUCTION

The potential applications of the new technology are m almost limitless, from the washing machine to the fully automated shop floor to the most sophisticated space

research developments, such as the NASA space shuttle. It

will permit functions which have previously been performed

* mechanically or by laborious techniques to be executed more

quickly, efficiently, reliably and most importantly at a

lower cost. As an example, compared with the world's first

• large computer, ENIAC, microprocessors in the late 1970s

were a thousand times more reliable, consumed a millionth

the amount of energy, twenty times faster, had a larger

memory, occupied only one thirty-thousandth the volume, and

perhaps most importantly, cost only one ten-thousandth the

price of ENIAC. Hardware and software have also advanced to

such ah extent that it is difficult to find an application

where manual methods are more cost-effective than those of

computer systems providing that the user's volume of work is

sufficient to keep the system busy. The main factors

• retarding the introduction of microelectronics in industry

are the time, cost and social implications associated with

the replacement of traditional skilled labour forces such as

^ machinists, draughtsmen, secretaries, quality control

inspectors and stock controllers with a new generation of

skilled computer system programmers, analysts and operators

as well as with the introduction of computer numerical

control machine tools. The new technology also makes it

feasible to produce new products which previously belonged

to the fantasy world of science fiction. - 14 - i

INTRODUCTION

These marvels have only been made possible with the

introduction of microelectronics and in particular microcomputers. A microcomputer can be defined as a computer whose (CPU) is a microprocessor .

Furthermore, a microprocessor is defined as a digital

integrated circuit contained on one "chip" of semiconductor material that can perform a task by following a series of

instructions provided by a programmer. Those instructions that a processor must perform to accomplish a task are called a program and the processor executes a program by

executing the instructions sequentially as they appear in the program listing. The great power of a microprocessor

lies in its programmability and the number of instructions

it can process in a given unit of time. To change the

function of a microprocessor only the program must be changed.

The miniaturisation of integrated circuits (IC) is a marvel of precision engineering. The latest generation of memory chips pack the equivalent of more than 100,000 transistors onto a sliver of silicon smaller than the size of the little fingernail.

Miniaturisation is important for three reasons. The first is speed. Modern computers require components which operate in a fraction of a second. The shorter the distance which electrons have to travel around a chip, the faster they reach their destination. For example, data stored in a modern memory chip can be retrieved in as little as 120 billionths of a second. Second, compactness allows INTRODUCTION

integrated circuits to be used conveniently in applications

for which valves and transistors would be far too m cumbersome. Hence they consume less power, do not need

severe environmental control and utilise very little floor

space. Finally, a reduction in size saves on the cost of raw

* materials.

The first commercial microprocessor was produced by an

+ American electronics company, Intel Corporation, in 1971 and

was called the Intel 4004. It could only accept 4-bit words,

4 binary digits, in a single processing operation and was

classified as a 4-bit microprocessor. Faster, more compact « and more powerful 8-bit, 12-bit and 16-bit commercial

devices followed, with the latest generation handling 32-bit

instructions, Fig. 1.2. These 32-bit technological marvels

are already on the horizon. They are based on a single

silicon chip or a set of silicon chips which could rival the

speed and power of a small mainframe. At present the most

* powerful microprocessor is undoubtedly the Intel iAPX 432, a

32-bit device [1]. It is made up of just three very large

scale integrated circuits (VLSICS) containing over 250,000

electronic devices and offers the smaller size and lower

cost of a microprocessor, along with many of the advanced

computing features of a mainframe. The "micromainframe" as

Intel calls it, is aimed at applications that are mainframe * in scale, but require the size, cost and dependability

inherent in the microprocessor technology. HARDWARE APPLICATION PP/MC ARCWTECTURAL AREAS' LEVEL' LESS MORE THAN MINI THAN MINI MINI ) VA X + SEMICONDUCTOR MINIMUM NO OF IC PKGS REQ'D TECHNOLOGY' FOR END LOGI C SPECIA L PDP- 8 POINTE R NOV A PDPH ( 360/370 , SYSTEM/3 6 CALCULATO R PDPH(- ) PRODUCT MOS BIPOLAR MC14500 3 CMOS TT] PPS-4/1 X 1 PMOS fc 1872 X 1 PMOS I TMS 1000 X 1 PMOS, CMOS F, S2000 X 1 NMOS Ua COP400 X 1 PMOS, NMOS, CMOS S: MSM5840 X 1 CMOS = yCOM-42 X 1 PMOS IS MPD75XX X 1 PMOS, CMOS Z MN1400 X 1 PMOS, NMOS, CMOS ;0.f PIC 1650 X 1 NMOS j >j •' 8048 X 1 NMOS, CMOS 5 8051 X 1 NMOS O 3870 X 1 NMOS NMOS 2; F8 X 2 or more ! i mCOM-87 X XX 1 NMOS f I Z8 X X 1 NMOS i i 2650 X 2 NMOS I i 8060 X 2 NMOS 8070 X 1 NMOS • ! 1802/04 X 3/1 CMOS 8080/85 X 5/2 NMOS, CMOS I Z80 X 3 NMOS O I NSC800 X 2 or more CMOS -! 6800/02 X 5/2 NMOS ' 6805 X 1 NMOS, CMOS v- • 6801 X 1 NMOS cq I 6809 X 3 or more NMOS 80 W 6500/1 X 1 NMOS 650X X 2 or more NMOS, CMOS '-12- IM6100 1 CMOS I ; 9940/95 . 00 X 1 or more KlMOS ® MicroNova 5 NMOS •• ^^ 9900 <8> X 3 or more NMOS j . 8086/88 X X 5 or more NMOS I 8089 X 5 or more NMOS ! . Z8000 X X 5 or more NMOS ! 68000 X X 5 or more NMOS • NS16000 X 6 or more NMOS Z jAPX 432 X NA3 NMOS • 8X300 X 3 Schottky TTL ' cc 9440/45 5 or more l2L -2 9400 XXX®X XX 6 or more Schottky TTL :0 2900 XX XX 6 or more Schottky TTL Schottky TTL 'S 2900C XX X 6 or more 6 or more ECL • L 10800 X X ^ - F10022X X 6 or more ECL I 1 2920 X 1 NMOS (ANALOG^ 2811 X 1 or more NMOS fVMOS) 7720 X 1 or more NMOS

NOTES 1. The symbol(X)signi(ies an exact correspondence between thenP'nCand the specifiea Otherwise, the correspondence is only rough 2. All technologies in which the >JP'MCIS available are noted. 3. NA = Information not available 4. The division into application areas is only approximate. because some 1-chip devices tall outside the primary 1-chip realm.

fig. 1.2 technological advancement in microprocessors FIG. 1.3 AN EXAMPLE OF A HIERARCHICAL CONTROL SYSTEM - 18 - i

INTRODUCTION

With several microprocessors and microcomputer systems being commercially available it is very important that a product survey be performed so that the correct microcomputer hardware and software combination be utilised for a particular application. For example, in a distributed hierarchical micro based CAD/CAM system, such as the one illustrated in Fig. 1.3, it is very important that cheaper

8-bit microprocessors be used for the dedicated control of peripherals whilst leaving the complex control and mathematical tasks to be performed by the more powerful microprocessors.

1.2 Impact of the IC in the manufacturing industry

The impact of integrated circuits will be felt in three main ways. First, some entirely new or considerably modified products are made possible only by microelectronics. Second, the new technology will have a considerable influence on the provision of services and thirdly, microelectronics will be used in the manufacture of traditional goods. The latter being the most widely affecting industry with the introduction of CAD/CAM in the form of Direct Numerical

Control (DNC) machine tools aimed at increasing productivity with lower manufacturing costs.

All manufacturing processes include a number of tasks which can be undertaken by microelectronics in conjunction with other devices. Among the most important of these tasks we might include: - 19 - i

INTRODUCTION

(1) the controlled movement of materials, components

and products;

(2) the control of process variables such as

temperature, pressure and humidity;

(3) the shaping, cutting, mixing and moulding of

mater ials;

(4) the assembly of components and products;

(5) the quality control of the products at all stages

of manufacture;

(6) the organisation of the manufacturing process,

including design, stock control, dispatch,

invoicing and production planning.

The essential feature of microelectronics is that it performs tasks of logic - a given input of information is transformed, in a predetermined way, into an output. As

illustrated in section 1.3, from the time the customer places an order until it is dispatched the entire process can be computer-assisted. In some areas, such as machining operations, the process can be totally computer controlled.

Alongside CAD/CAM the othef main field of current interest is that of robotics. Although robotics is not the subject of this thesis a few words must be said concerning - 20 - i

INTRODUCTION the use of microelectronics in robotics and its role in the

fully automated factory.

The industrial robot has recently been given a considerable boost by the ability of microelectronics to provide control and memory devices of unprecedented capacity and flexibility. In the past, automation has been applied to

industrial processes in a variety of ways, although this has usually been achieved through the saving of labour by

technology designed to perform a job in a manner not necessarily similar to the one used by humans. By contrast, a robotic approach to automation follows human performance much more closely. With a potentially large market for

standard machines as well as numerical control machine

tools, ' the design and development costs can be spread. The versatility of the robot encourages robot automation to be

applied to smaller batch production and short-life product design. The integration of a robot with a single or more machine tools in a fully automated factory are often called

Flexible Manufacturing Systems (FMS) cell and can lead to

lower manufacturing costs and higher productivity.

Furthermore, there will be reduced hardware costs with the sharing of resources such as the hydraulics and supervisory

computer processing units. - 21 - i

INTRODUCTION

1.3 Evolution of Computer-Aided Design (CAD) and Computer-

Aided Manufacture (CAM)

Evolution of CAD/CAM technology initiated from developments in the mid and late 1950s in the field of computer graphics, and will ultimately result in the integration of many diverse technical areas that have developed separately for the past thirty years, such as design, production control, stock control, draughting and machining.

Computer graphics originated in 1950 at Massachuttes

Institute of Technology when the first computer-driven display, linked to Whirlwind 1 computer, was used to generate simple pictures on a cathode-ray tube (CRT), similar to those in current existence in domestic television sets. During the mid 50s little progress was made in the field of computer graphics mainly because hardware costs were too high for a serious application together with non- existent utility and application software and very poor system reliability. The only application of CRT's at the time were in the display of military command and control problems.

During the late 50s, a number of computer programs were being developed to define sketches and to produce output in the form of refined plots. A program which was to gain a lot of attention was developed at MITs Lincoln lab and was named

APT, Automaticaly Programmed Tooling [2]. APT became a universally known standard numerical control (NC) - 22 - i

INTRODUCTION because of its importance in the machining of three-dimensional curved components (e.g. sphere, cylinder, paraboloid and lofted surfaces) and its influence on many other programs. APT III (APT I was never completed, APT II was developed at MIT's Lincoln lab) was developed for use in the US aerospace industry by the

Illinois Institute of Technology Research Institute (IITRI) under research contract from the US ministry of defence which recognised the importance of numerical control manufacturing as a means of producing complex components and reducing the the lead time needed to place new types of aircraft into production.

The APT language is a facility for describing the geometry of a component and the sequence of operations to be performed by a numerically controlled machine, whereas the

APT computer program is implemented on a general-purpose digital computer, the computer can accept a set of statements in the APT language, perform certain required computations and produce a set of numerical commands for successive use in a numerically controlled machine.

APT is a composite language with a vocabulary of over

300 'English-like' words and provides the same flexibility of expression to part programmers that standard programming languages provide to computer programmers. With APT the part programmer can define tool shapes, tolerances, geometric definitions, tool motions and auxiliary machine commands.

The part program generated comprises of two types of statements: - 23 - i

INTRODUCTION

• definition statements, which define the symbols used,

• motion statements, which define the required tool

movements.

The current version of APT, written in Fortran, occupies a core store of 50-60K computer words in addition to additional backup storage. The program is sub-sectioned and runs under the control of a modified Fortran monitor,

Fig. 1.4. The part program, usually in the form of punched cards or tape, is translated and compiled by a Translator.

It reduces the definitions of the various geometric shapes to a standardised form, and also writes the part program and error -statements.. The part program statements are then further pre-processed whereby the arithmetical functions are evaluated and the cutter location data (CLDATA) computed.

Earlier versions of APT used a definition of a cutter location tape (CLTAPE). The CLDATA is then modified if rotation or translation of the axes is required and a print out of the updated CLDATA produced. The post-processor then converts the CLDATA into a form compatible with a particular machine tool.

Since the preparation of software and programs for three-dimensional components with up to five axes of control involves a considerable financial and manpower effort, most other countries have not attempted to repeat this effort but have joined in collaboration wth IITRI to evolve their own versions. Consequently, there are several custom built - 24 -

fig. 1.4 the apt processing system - 25 - i

INTRODUCTION versions NELPT in the UK, EXAPT and AUTOPIT in Germany,

ADAPT, AUTOSPOT, FMILL, APTLFT, PMT2 and FANUC1s FAPT, to name a few.

Also during the mid to late 50s, many people gave thought to the use of existing CRT's, keyboards, typewriters, and computers to facilitate the more automated use of graphic or visual techniques. This lead to the invention of the "light pen" again at MIT's Lincoln lab when a military project SAGE, the Semi-Automated Ground

Environment system was being developed on the Whirlwind computer. The light pen introduced a flexible and powerful degree of interaction between the computer and the operator, which is even used today in interactive CAD/CAM systems.

The next major event was in 1962 with the publication of a thesis by Ivan Sutherland entitled "A Man-Machine

Graphical Communication System" using a system called

Sketchpad again at MIT's Lincoln lab on the TX-2 computer.

Sketchpad was the first presentation of interactive graphics to the general public. For this reason and others, many people believe that Sutherland is the human catalyst that started practical interactive graphics on its way.

Since then a great deal of effort has been devoted in industrial and research establishments to develop low cost

CAD/CAM systems for use in manufacturing firms whose financial budgets are severely limited. CAD/CAM systems became more appealing as were introduced in the early 1970s. The advent of the minicomputer saw a - 26 -

INTRODUCTION

solution to the cost problem of CAD/CAM systems with

minicomputers costing only a fraction of mainframe

computers. Also, with the introduction of low cost, compact

microelectronic technology the part programmers dream of an

idealised CAD/CAM system, Fig. 1.5, whereby the entire

design to production cycle information can be stored in a

single computer database is no longer science fiction but

science fact. This ideal database structure is the one

adopted by the author and its novelties, structure and

implementation are discussed in Chapter 7.

4 - 27 -

CAM CAD

Automated Drafting

* FIG. 1.5 AN INTEGRATED COMPUTER-AIDED ENGINEERING (CAE) SYSTEM - 28 -

CHAPTER 2 COMPUTER-AIDED DESIGN (CAD)

* Design is a complex and iterative process which

requires a high degree of human involvement in order to

initiate ideas and to reduce design conception to

g development times. It is one of the three major activities

within a manufacturing industry. The other two being

marketing (sales) and production. As we have seen from

Chapter 1, computers and especially microcomputers are now

being extensively used in almost all departments in

industry. Initially they were used mainly for design but

recently they are used in a wide array of areas such as

draughting, accounting, inventory control, operational

research, process engineering and production management.

• There is often a misconception that the main activity

within industry is the manufacture of a product. The main

activity in industry is, however, the field of data

processing. Design is the creation and processing of

technical information which then becomes the main stream of

the firm's information activity. This is a very important

point in that it brings out the interdependence between ft design and the rest of the firm's activities. Thus, CAD will

undoubtedly have an important part in revolutionising the

firm, but no more importantly than the computer aids in

0 other activities such as management, marketing and

production. - 29 -

COMPUTER-AIDED DESIGN (CAD)

With the introduction of integrated microelectronics and special purpose dedicated control chips, such as the AMD

9511, AMD 9511A and AMD 9512 floating-point arithmetic chips

[3], industrial transformation rates will not become faster but more importantly lower in cost. The latter fact now makes it feasible for small manufacturing industries to invest in computer technology, despite current economic cash-flow problems.

In order to investigate how computers and microelectronics can be of benefit in the design process one must first look at the conventional manual techniques and then analyse them to see which processes can be either computer-assisted, entirely computer controlled or eliminated.

2.1 Conventional Manual Design Techniques

The initial stage of the design cycle, Fig. 2.1, is the creation of a conceptual design. Sometimes it is the creation of information, but much more often it is the process of selection, whereby previous designs are consulted and amended at the sake of design time, cost and reinvention. Whether it is creation or selection the design process is usually performed by very highly skilled and highly qualified design engineers. They not only design the highest quality that the design can attain, but also the greatest profitability that the firm can achieve. - 30 -

fig. 2.1 flow diagram of an iterative design process - 31 -

COMPUTER-AIDED DESIGN (CAD)

• The second phase of the iterative design is the

expansion of information. Here design analysis and detail

designing including tolerancing, machinabilty and careful

^ material selection is achieved with the aid of several

resources of information from a variety of data banks. This

phase is usually the most important, time consuming and

tedious of the phases. The success of this stage depends ft largely on the availability and compatability of the sources

of information. For example, in the selection of a stepper

motor one has to analyse tens of manufacturer's catalogues ft only to find that one does not exist which exactly meets the

cost, performance, relability or size requirements. This

often leads to a lesser optimal design and often at a higher

* cost.

The third stage is the dissemination of information

whereby detailed assembly and sub-assembly drawings are

produced so that all the relevant information can be

conveyed from the draughtsman to the machinist.

* The next stage is the development stage. Here the

product is machined -and tested for performance and

reliability. Often small modifications need to be performed

• and this involves changing the drawings and recalculating

some design and geometric parameters.

Thi s i te rative design process is not only time

consuming but is very wasteful of manpower and material COMPUTER-AIDED DESIGN (CAD)

resources. These severe implications were realised in the early 1960s and computers were then employed in some of the design process tasks as will be described in the next section.

2.2 Computers in Mechanical Design

Four main phases of design activiy have been identified in Section 2.1. They are:

• Conceptual design, which initiates with the product

specification and involves innovation and decision

making processes leading to the evolution of a product

outline.

• Expansion of information, whereby a detailed design

analysis is performed on the individual components of a

product.

• Dissemination of information, whereby detailed

drawings of product assemblies and sub-assemblies are

produced for manufacture.

• Development and design documentation stage, whereby

a product is tested and a design process records

produced for the customer and for the firm's future

references. - 33 -

COMPUTER-AIDED DESIGN (CAD)

All of the above mentioned phases can be computer-

0 assisted, though the level of human-computer interaction

varies from phase to phase. This section discusses some of

the major uses of computers in the design process.

ft The main area of employment of the computer in design

is in the interactive application division, in which a form

of dialogue is conducted between the designer or operator

* and the computer. The complexity and language of the

dialogue is determined by the CAD command repertoire. The

command repertoire being a range of characters or codes

% which perform a predetermined function. For example, the

command

SCA 10

meaning set the scale to one tenth full size. Careful design

of the repertoire reduces the number of commands necessary

to design a part, and is particularly important for

interactive graphical programs.

Besides command languages there is one other language

used in CAD applications. This being the programming

language in which the application program is written. In

microcomputer based CAD/CAM systems it is very important to

choose the correct language for a particular application.

Chapter 5 discusses in detail some of the factors which must

be considered in order to make the correct choice of the

CAD/CAM programming languages. - 34 -

COMPUTER-AIDED DESIGN (CAD)

The development of CAD software relies very heavily on

the existence of good operating systems mainly due to the

necessity of interaction in CAD applications. In some

engineering disciplines and most certainly in mechanical

engineering interaction is a necessarity for several

reasons. Firstly, since design is an interactive process, in

which the design is repeatedly optimised until a

satisfactory result is achieved, it is natural for the

computer to perform it. Secondly, the computer can either

detect errors in the data itself, or by graphically

displaying several views of the design in a three-

dimensional form such as isometric and perspective the

errors will be perceived and corrected by the designer

before 'the work is submitted for manufacture.

Despite the need for good operating systems many mini

and microcomputer manufacturers do not provide an operating

system which is ideally geared towards CAD/CAM. Hence, several firms either laboriously develop the CAD/CAM system

routines themselves or reluctantly purchase computer systems and software which do not exactly meet their CAD/CAM

requirements. This then leads to undesirable features such as entering data in the format dictated by the software and not by the operator's logical way of thinking.

Another major application of computers in design is in the field of computer graphics. This field can be considered as the 'corner stone' of design visualisation, since almost - 35 -

COMPUTER-AIDED DESIGN (CAD)

all engineering industries rely very heavily on drawings

both for communication and as a means of information

storage. The cost of preparing, modifying and storing

drawings is high and is increasing rapidly. Computer

graphics has helped some branches of industry to cut these

costs significantly. Drawings input in the form of digitisers, light pens, tablets and keyboards and outputs

from plotters, printers, visual display units and microfilm devices are being used today heavily in place of manual drafting, Fig. 2.2.

Besides the hardware aids to engineering design, software plays a very important role in the design process, as mentioned earlier in this section. Some of the software aids are hereby discussed mainly in the order that they would be encountered by a designer.

During the initial design phase, the formulation of a conceptual design, it is often the case that a previous design is consulted and modified. This usualy involves firstly searching through stacks of drawings and manuscript papers until all the relevant documents have been collaborated. As one can appreciate this is a long, costly and laborious task lasting up to several months by several people. Modern CAD methods greatly reduce the storage costs and also more importantly reduce the design process time, the time taken to evaluate, draught, develop and manufacture a product. Previous designs can either be recalled from in- house or transmitted over the telephone telecommunication INPUT DEVICES OUTPUT DEVICES

fig. 2.2 some common input and output devices - 37 -

COMPUTER-AIDED DESIGN (CAD) network from another branch, even overseas. This greatly reduces waiting time and the costs associated with it.

Having recalled previous designs, via the computer, they are often modified and new components added. Creation and modification of new components are greatly aided with a specially formulated 'edit' package whereby entire components as well as their geometrical and technological attributes can be easily amended.

One of the greatest development aids is by allowing the user to define macros (i.e. sequences of commands) at run time. This has been found invaluable in NC machine tool controlling languages and in operating systems command languages. One difficulty associated with macros is that their definition is not just a series of independent commands but is a description in which internal structure has to be represented. Hence, the syntax of a 'define macro' command has to be distinct from that of other commands.

Despite the importance of macros they are not implemented in the current version of the CAD software packages. This is mainly due to the current development system's operating system and Pascal 's limitations.

This would most cetainly be implemented in the proposed

CAD/CAM system, discussed in Chapter 6. However, a simpler form of macros in the form of symbols is implemented. They are discussed in Section 7.2. - 38 -

COMPUTER-AIDED DESIGN (CAD)

Once the conceptual design has been formulated several other packages including design analysis, computer finite element, simulation, rotation, sectioning and hidden line removal can be accessed to aid in the analysis and synthesis of a design.

2.3 Advantages of CAD

There are several advantages that can be gained with the implementation of CAD systems. They can be summarised as follows:

increased productivity - this is by far the most

important reason. According to Tektronix [4]

productivity gains can be grouped into four main

categories: hardware, software, type of drawings and

the user. Thus the actual gains in productivity will

depend not only on the CAD system, but also on how and

by whom it is used.

cheaper design - it is the author's opinion that this

is the ultimate goal in the design program. In the

present world economic recessions more and more

customers are looking for manufacturers who can supply

them with parts and products at the best competitive

prices.

reduced design times - with the aid of input devices - 39 -

COMPUTER-AIDED DESIGN (CAD) such as tablets, digitisers and menu tables in conjunction with the use of symbols and macros the geometry can be easily and quickly entered into the computer. Fast and effective picture manipulation and visualisation algorithms will assist in the verification of the design.

reduced development times - computer-assisted testing and quality control will lead to reduced development times.

better design optimisation - with the aid of design analysis packages unnecessary overdesigning can be eliminated.

much more product reliability - with computer- assisted material selection geometry optimisation and quality control inspection the product should be much more reliable.

reduced lead time - the time elapsed between the engineering design and the start of production.

ease of product modification - previously stored products can be easily recalled, analysed and modified.

This results in a large time saving by avoiding searching through stacks and stacks of drawings. - 40 -

COMPUTER-AIDED DESIGN (CAD)

2.-4 Some social implications of CAD

The author believes that not only will draughtsmen as we now know them be gradually phased out, but some of the most satisfying and skilled work will be eliminated by the resultant CAD and NC equipment. However, it is possible to minimise these redundancies by using computerised equipment in a symbolic way, to link it to the skills of a human being. For example, consider the effect on a skilled machinist. By using a dynamic visual display of the entire working area of the machine tool including the workpiece, the fixturing, the cutting tool and its position, the skilled craftsman can directly input the desired tool motions to 'machine' the workpiece in the display. By providing a system whereby the information regarding a cut can be specified in a manner closely resembling the conceptual process of the skilled machinist no knowledge of part programming languages would be required. Thus it would be necessary to maintain and enhance the skill and ability of a range of people who would work in parallel with the system.

Furthermore, as far as the operator is concerned, a great deal of drudgery will be removed, particularly at the expansion of information and information and representation stages. This will hopefully lead to 'non-designers' such as craftsmen, technicians and even managers to come forward and design their own products, thus leaving the designers to concentrate on the more sophisticated and demanding design proj ects. - 41 -

CHAPTER 3

COMPUTER-AIDED MANUFACTURE (CAM)

3.1 Computer-Aided Manufacture

Computer-aided manufacture, as the term indicates, is a ft process whereby the complexity of the manufacturing process

is greatly reduced with the aid of computers and dedicated

microelectronics. Thus by introducing a form of automation,

m whether it be partial ot total, machine set-up, machining

and material handling times can be greatly reduced.

The introduction of microcomputers at the heart of the

machine tools' control system also allows one to design and

manufacture very complex and intricate parts whose machining

operations may be very complicated and demanding the highest

of tolerances, such as those in the aerospace industry. For

machining parts which do not require phenominal tolerances,

such as those in common engineering practice where

tolerances of 0.001mm or more are acceptable, less

sophisticated machine tools and control systems can be

employed. Which ever system is employed the essential

structure of the CAM hardware should not differ appreciably.

This thereby greatly reduces hardware and software

development costs leading to a cheaper machine tool. By

careful design and organisation of the hardware and software

in terms of modularity, flexibility and expandability the

CAM system can be effectively and economically operated for

the manufacture of a certain.part. If, as is often the case,

an extra axis is desired, say for the internal threading of - 42 -

COMPUTER-AIDED MANUFACTURE (CAM) a bore on a milled part, then a supplementary turret can be attached to the machine tool. This obviously saves time in transferring the workpiece from one machine to another. This type of machine tool is currently being designed and built as a research project by O.Alankus [5], at Imperial College upon which the proposed CAD and CAM hardware and software will be implemented.

Pressman and Williams [6] postulate that ideally a CAM system should have three attributes applicable to each phase of the manufacturing process. They are: that however complex the individual process tasks may be they should require a minimum amount of human intervention. Secondly the system should be flexible so that processes can be individually programmed, and finally that the CAM system should be integrated with the field of CAD so as to achieve a smooth transition from design to manufacture.

3.1.1 The CAM Hierarchy

The basic structure of a CAM system is illustrated in

Fig. 3.1. Due to its hierarchical nature it is very well suited for a hierarchical computer control system, whereby two or three levels of computers can be utilised to control and monitor the individual process tasks. These levels are of the master/slave configuration and are similar to those discussed earlier in section 1.1 and illustrated in Fig.

1.4. * ft f * ft * ft

FIG. 3.1 COMPUTER-AIDED MANUFACTURING (CAM) HIERARCHICAL STRUCTURE COMPUTER-AIDED MANUFACTURE (CAM)

Once again there will be a hierarchy of 'computer power' whereby larger microcomputers would be responsible not only for the overall management of the design-production cycle but also with the issuing of managerial information to the 'smaller' microcomputers. These smaller microcomputers will be responsible for the management of a single process such as production, engineering or finance. At the lowest end of the CAM hierarchy there exists small microcomputers, such as the 8-bit family of microcomputers, acting as slaves whose only tasks would be dedicated interpolation, control, adaptive control feedback, or some form of numerical computation.

3.1.2 Intercomputer Communication

In a hierarchical CAM system, such as the one discussed above, intercomputer communication plays a very important role in the successful flow of data and information in both directions. This is very important especially in the case of a fully automated factory or a Flexible Manufacturing

System.

In general, the following intercomputer information flow requirements can be stated.

As far as the master microcomputer is concerned it will receive management instructions, decode them and issue the - 45 -

COMPUTER-AIDED MANUFACTURE (CAM) relevant instructions to the other microcomputers further down the hierarchy. They would themselves issue specific instructions to the slave microcomputers who will perform the specified task. In the case of production control, the production control computer would receive instructions to produce a certain batch quantity of a certain component by a certain date. It would then decide on what machines or in which machining cell to produce the component. It would also prepare a production schedule so that the component's schedule fits in with all the other schedules, thus minimising machine idle times.

Resides up and down communication some horizontal communication may also be necessary so that data and information ' may be transmitted between two computers of similar responsibilities. For example, in linear interpolation the X and the Y axes computers need to communicate with one another so that the two axes are in synchronisation. This sideways or horizontal communication could either be direct or via the hierarchy.

One interesting aspect of the CAM hierarchy is that the upward flow of information would have to be condensed as it moved up the hierarchy and conversely the downward flow of information would have to be more detailed.

Another important element of the CAM computer and control hierarchy is the CAM database. This is what allows the information to become more detailed as it passes down - 46 -

COMPUTER-AIDED MANUFACTURE (CAM)

the hierarchy. The database will contain geometric

descriptions of all the products and their components that

the firm is able to produce, as well as the part programmes

which specify the machining sequences. The various computers

at the various stages of production can then access this

information. Thus, besides having a hierarchical CAM system

it is also beneficial to employ a hierarchical database

management system (DBMS). Such a system has been designed

and is discussed in greater detail in Chapter 7.

3.2 Numerical Control in CAM

The use of NC machines in a computer based

manufacturing system can be viewed in terms of automation

and integration. Referring to Fig. 3.2, four levels of

manufacturing automation can be defined. The stand alone NC

machine tool represents an automated operating cycle. An NC

machining centre automates the entire machining process. A

cluster or group of externally controlled NC machines

represent a fully automated-manufacturing task, and finally,

the CAM system itself integrates all lower level methods in

an automated process.

Fig. 3.3, illustrates the main elements of a numerical control system, and the flow of information from the design preparatory process through to the machining process

regardless of whether each individual process is performed manually or by computer. In practice, however, manual - 47 -

* No external computer required

** An external control computer is required

*** One or more external CAM System computers required

Cluster of NC machines

NC machining centre

Integration

FIG. 3.2 INTEGRATION AND AUTOMATION FOR NUMERICAL CONTROL IN CAM

CAM Database

Design Machinability Production data data data

Production NC computer Post-processor engineering part program processing

Manufacturing specifications

FIG. 3.3 ENGINEERING INFORMATION FLOW TO AND FROM THE DATABASE COMPUTER-AIDED MANUFACTURE (CAM) preparation is not only likely to prove tedious but is also subject to error for all but the simplest of programs.

The initial process in the NC system is the preparation of component drawings. These are traditionally produced manually by design engineers and draughtsmen, although, as already discussed in Chapter 2, graphical computer techniques are nowadays very appealing. The next stage is to analyse these drawings and to determine information about the geometry of the component and also about the particular machine to be used and the speeds and feeds required

(production planning).

The mathematical and production engineering information is then extracted and combined into a cutting sequence and entered onto a programming sheet. The information from the programming sheet is then transferred, by teletyping, onto punched tape which is then fed into the machine tool.

The control system of the machine tool contains interpolators, decoding units, and feedback control devices.

In the case of point-to-point programming there is no need of the interpolators but ' for continuous path machining straight-line interpolators or curve generators may have to be summoned. - 49 -

COMPUTER-AIDED MANUFACTURE (CAM)

3.3 Numerical Control Computer Management

4 Numerical control computer management is a term used to

define a specially modified NC machine which can receive its

instructions directly from a computer and also communicate 4

process information outside its own feedback loop. Thus, NC

computer management provides a two-way communication

capability that is required in a computer based 4

manufacturing system. It uses a digital computer to replace

some or all of the logical functions performed by the

conventional logic circuitry. The introduction of a computer

? enables the following benefits to be realised [7]:

(1) The computer managed system receives its

instructions directly from computer storage,

thereby eliminating paper tapes and tape readers

at the machine site.

(2) Data concerning the ongoing machining process is

fed back to the computer, where it can be stored

or passed to a higher level management system.

(3) NC logical functions are modularly designed using

programmable software hence, are easily expandable

and maintainable.

(4) NC part programs, stored in the computer's memory,

can be easily edited on site. - 50 -

COMPUTER-AIDED MANUFACTURE (CAM)

(5) The NC machine tool may be located many miles from

the control computer.

Analysis of the above mentioned benefits together with

several other essential features, such as local

intelligence, lead to the development of an initial multi-

microcomputer based NC turning system by Dalzell and Pak. It

is discussed in Chapter 6. This system architecture proved

to be very economical, flexible, expandable and efficient. A

considerable amount of software has been developed by the

author for the graphical representation and NC part program

generation of parts compatible with the CNC system.

In the design of such a CAM system the various forms of

NC have to be carefully examined. The two most common ones • are Computer Numerical Control (CNC) and Direct Numerical

Control (DNC) and are hereby briefly discussed. ft

3.4 Computer Numerical Control (CNC)

ft According to Electronic Industries Association (EIA)

[8] the definition of CNC is as follows: a numerical

control system where a dedicated stored computer program is

used to perform some or all of the basic numerical control

functions in accordance with control programs stored in the

read-write memory of the computer. - 51-

COMPUTER-AIDED MANUFACTURE (CAM)

With the recent advances in LSI technology leading to

low cost computers with large computing powers, CNC has

become more favourable over the last few years and can offer

the production engineer several advantageous features such

as: -

. greater capability

. better usage of the operator's skill and experience

. improved quality

. better control of operations

. programs readily available

. greater versatility

. increased reliability

. and finally, reduced costs.

3.4.1 Greater Capability

Greater capability can be achieved with the ability to perform non-standard operations, such as adaptive control, which were not possible earlier because of the dedicated logic units. Due to the software's flexibility and versatility over conventional hardware logic circuits these non-standard operations can be performed.

3.4.2 Better usage of the operator's skill and

experience

Utilisation of the operator's skill and experience, - 52 -

COMPUTER-AIDED MANUFACTURE (CAM) such as machining tricks and short cuts, will ultimately result in improved machining times.

3.4.3 Improved Quality

Improved quality will be achieved since additional measurement and control facilities, e.g error compensation, are more readily incorporated.

3.4.4 Better Control of Operations

The improved communication between various production department levels, i.e the management, operators and the machines, will ultimately result in better control of the operations.

3.4.5 Programs Readily Available

The abiliy to quickly and easily correct and modify part programs will be enhanced since they will be stored in magnetic storage devices which have fast access times.

3.4.6 Increased Reliability

Reliability is a very important feature when investigating a product. The reduction in the solid state - 53 -

COMPUTER-AIDED MANUFACTURE (CAM) hardware together with the reliability of the software makes a product much more reliable.

3.4.7 Reduced Costs

Reduced costs will be encountered since the capital costs of micro and mini-computers are on the decline, and the prospect of time sharing offers the possibility of one computer controlling several machines.

3.5 Direct Numerical Control (PNC)

Direct numerical control is a relatively recent development based on the use of a larger computer to control and manage several machines on a time-sharing basis. Besides overall machine control it has an additional duty of controlling management functions such as production planning and work scheduling.

Like CNC, direct numerical control is amenable to the hierarchical aspects of CAM and hence can be used as an integral unit in the design and development of a hierarchical CAM system. COMPUTER-AIDED MANUFACTURE (CAM)

3.6 Microcomputers as an aid in Part Programming

Computers and in particular microcomputers are

increasingly being involved in the preparation of part

programs in NC. Traditionally, this was done manually by

highly skilled part programmers. The manual method was not

only rather slow and very tedious but it was highly subject

to human error. As an improvement, automatic programming was

employed resulting in only a limited amount of success. The

drawbacks were that automatic programming worked only on

particular kinds of machine tools and involved considerable

amount of precalculations. With the introduction of low cost, powerful mini and microcomputers the task of part programming became a relatively easy one. Due to the speed of the' computer the calculations can be carried out much more quickly than if done manually, and because a computer system is much more flexible a variety of programs can be handled. Fig. 3.4 summarises, diagrammatically, the advantages of computer part programming over the other two methods discussed above, namely manual and automatic.

Several NC part programming languages were discussed in

Section 1.1 and it is worthwhile reminding the reader that they are all based around the universally standad APT language. However, the current trend is to introduce much more intelligence into the cutter path derivate (pre- processor and processor) part programs so as to initially reduce the amount of human-computer interaction (which is time consuming and hence costly) and eventuLally to make them Manual Automatic Computer

Slow, tedious Limited application Easy, fast, flexible

Error prone Precalculation Link to DMM

Limited application Universal application

Only way for continuous path

FIG. 3.4 PREPARATION OF NC TAPES - 56 -

COMPUTER-AIDED MANUFACTURE (CAM)

fully automatic. This strategy of introducing a form of

intelligence into the part program has been employed and is

discussed in detail in Chapter 7 in the CAD/CAM linking

software.

For example, in the milling cutter path derivate

(MCPDR) package (Section 7.8) only the technological and

material specifications are required to automatically

generate the milling cutter path. Compare this with the

conventional APT technique of laboriously specifying the

cutter path either by point-to-point or by contours.

3.7 Use of Microprocessors in CAM and NC Hardware

The emergence of low cost microelectronics and hence microelectronic devices (e.g microcomputers, machine tools,

VDUs, plotters and other such peripherals) has resulted in the wide application of microelectronics in CAD, CAM and NC systems.

Besides using microcomputers in NC part programming, and in CAM peripherals they can be used to compensate for mechanical inaccuracies such as backlash, tool wear and workpiece misalignment. Furthermore, they can be used in numerical machine tool controllers and are generally classified under four categories [9]: - 57 -

COMPUTER-AIDED MANUFACTURE (CAM)

(1) Numerical controllers using a single microcomputer

based on a standard metal oxide silicon (MOS)

microprocessor to execute all NC functions;

(2) Numerical controllers using a single microcomputer

based on a standard MOS microprocessor to execute

non-time critical NC functions;

(3) Numerical controllers using a single microcomputer

based on a bit-slice special purpose

microprogrammed microprocessor; and

(4) Numerical controllers based on a number of

microcomputers.

Another way in which microprocessors can be successively used in NC systems is by using intelligent peripherals and thus artificially boosting the speed of the microprocessor. An example of this technique is described by

Hilford [10]. The system is based around an 8-bit parallel- processing CPU plus intelligent peripherals. Although a microprocessor is inherently slower than either a minicomputer or hard-wired logic by assigning "routine" chores to the intelligent peripherals the result is an economical system whose speed is comparible to that of a minicomputer.

Fig. 3.5 illustrates the flow of information of an 8- bit microcomputer in a 3-axes milling machine tool's INSTRUCTION/DATA BUS

Indicates mode. axis, position, remaining travel, and measurement units

FIG. 3.5 FLOW OF INFORMATION OF AN 8-BIT MICROCOMPUTER IN A 3-AXES MACHINE TOOL'S ENVIRONMENT - 59 -

COMPUTER-AIDED MANUFACTURE (CAM) environment. The theory behind the discussion is as follows.

Conventionally hard-wired logic or a fast mini computer were employed in the numerical control of a complex machine tool, such as the one illustrated. But by utilising a slower but less expensive 8-bit microcomputer in conjunction with intelligent input-output (I/O) controllers the machine's functions can be equally well controlled. This is mainly because the CPU is not bogged down with routine control and housekeeping tasks. It is therefore free to perform complex tasks such as generating position data for circles, parabolas and hyperbolic functions for either absolute or incremental table movement. The control speed is adequate because the system's intelligent peripherals can process the control programs simultaneously without heavy CPU involvement. - 60 -

CHAPTER 4

CAD/CAM INTEGRATION

The integration of two technologies namely, CAD and CAM has long been envisaged by managers and designers. Despite the diversity of the two technologies, as discussed in

Chapters 2 and 3, great efforts are being made to combine them into unified CAD/CAM systems, whereby from the initial design concepts to the dispatch of the finished product the entire process can be controlled with a single system. Many experts point out that CAD/CAM is still in its infancy and must be greatly refined before its full potential is realised [11]. This refinement is basically reviewed as twofold. Firstly, the present knowledge and integration of the various CAM functions must be fully understood and further, developed to such an extent that it is at an equal level with the present knowledge of the CAD technology.

Secondly, individual CAD and CAM functions - which have essentially developed separately - must be concatenated into a pure integrated system which will be faster and more powerful than an equivalent system whose functions have merely been interfaced together. Cooperative efforts to achieve this level of refinement are underway on several fronts and some of them are discussed in section 4.2.

One of the simplest tasks in the efficient integration of CAD/CAM is the concatenation of the CAD with the CAM hardware. The most difficult of all tasks is probably the design and development of the software. Some tasks can be clearly defined as being entirely of a CAD nature or CAD/CAM INTEGRATION entirely CAM whereas others cannot. For example, design and draughting are pure CAD tasks, tooling and machining are pure CAM tasks, while cutter path derivation and simulation tasks belong to the two. When a task entirely belongs to one or the other of the technologies the software is well established and straight forward. This basic task of data manipulation and concatenation is known as Data Management and is hereby discussed.

4.1 CAD-CAM Data Link

As mentioned earlier, by integrating the various functions and departments within a manufacturing industry considerable productivity gains can be achieved. Successful integration of the various activities of a firm is highly dependent on the hardware and software employed. Detail description of the hardware configuration is beyond the scope of this thesis and apart from a brief description of the microcomputer-aided engineering workstation, the NC system, and the proposed hardware architecture (Chapter 6) little else will be discussed. However, the other major area which influences the success of the CAD/CAM integration is software. By careful design of a common database, such as the one illustrated in Fig. 4.1, all the departments within the industry can be interconnected [12]. This common thread, or database, contains information about the product, the data needed in so many different forms by the draughtsman, the machinist, the inspector, the salesman, the production line manager, etc. INFORMATION f ROM CUSTOMER ( REQUIREMENT

INf ORMAT ION elc. TO CUSTOMER:

COMPU1EH A101 II OISK.N

I ST IM AUNG i _ i

MARKETING ci CO

USER OF OAT A HASC

OAFA BASE

= INFORMATION TO. FROM. ANO IN DATA BASE

AISO: STANDARDS. PREVIOUS DESIGNS. DESIGNS IN PROGRESS I MANUFACTURE. PAYMENT SYSTEM. COOES OF PRACllCI

MATERIALS A COMPONENTS. PRODUCT Pi ANT S'ATUS. MANAGEMENT ACCOUNTS » INFORMATION

HePRoDUCEb FROM F.T 8/a/FWo

FIG. 4.1 THE INTEGRATED BUSINESS SYSTEM - 63 -

CAD/CAM INTEGRATION

In order to appreciate the importance of a comprehensive DBMS two successful systems are illustrated and their dominating features discussed. The first is an

American system based on a joint NASA/industry project [13] entitled Integrated Programs for Aerospace-Vehicle Design

(IPAD). It was realised as a result of IPAD that the absence of appropriate technology and software tailored to manage engineering and scientific information had been a major stumbling block to the development of an integrated CAD/CAM system. As a result IPAD developed a DBMS with the capability of handling design and manufacturing information.

It conforms to the following functional requirements:

Accommodate multiple views of data from a variety of

users and computing storage devices,

Allow multiple levels of data descriptions to support

wide varieties of engineering organisations and tasks,

Permit easy changes in data definition as work

progresses,

Allow data to be distributed over networks of

heterogeneous computers,

Permit data definitions to be readily extended as needs

arise,

Support definition and manipulation of geometry - 64 -

CAD/CAM INTEGRATION

information,

Contain adequate configuration management features,

And finally, provide extensive capability to manage

information, describing the data.

The IPAD software is written for a computer network

configuration and has the capability of defining and manipulating information through a variety of schemes or

formats. Although the current software is single computer

(i.e. CDC or IBM) based plans have been made to expand the

IPAD DBMS to provide a unified data management capability

which will merge together the various departments within a manufacturing industry, Fig. 4.2.

PHIDAS, a German database management system [14], is

another example of a successful DBMS centred around a common

database. PHIDAS is implemented on a graphical 16-bit minicomputer (CDC 1700) and is responsible for the management of application-independent databases. It is used

in conjunction with PHILIKON, an integrated CAD/CAM system, and the result is a very powerful yet versatile development

system capable of not only designing a product but also generating NC programs for subsequent manufacture.

The above two examples illustrated the necessity and

functions of a DBMS. In a successful design of a CAD/CAM

system the structure and implementation of a DBMS is a high priority task. - 65 -

FINAL PERFORMANCE 1 CONCEPTUAL DRAFTING MANUFACTURING INSPECTION SPECS DESIGN DESIGN

f SHARED DATA BASE J T

INTERACTIVE GRAPHICS AUTOMATED DRAFTING COMPUTERIZED INSPECTION

FIG. 4.2 ELEMENTS OF A COMMON DATABASE - 66 -

CAD/CAM INTEGRATION

4.2 Hardware, and Software Savings in Integrated Microprocessor

Based CAD/CAM Systems

Careful hardware and software design and implementation can often lead to tremendous cost savings not only in the initial cost but also in the running costs of CAD/CAM systems. This can be best illustrated by analysing the individual elements of an ideal CAD/CAM system, suitable for small to medium sized industries, Fig. 4.3. Each workstation consists of a 16-bit microcomputer, a data tablet, twin VDUs and backup storage peripherals. It has access to shared peripherals such as digitisers, printers, plotters, and central Winchester disc storage. The CPU and the workstation's memory were chosen of bi-polar technology since 'they offer several advantages over conventional MOS technology [15]. A brief description of bi-polar technology is presented to highlight its advantages over MOS technology.

Bi-polar or bit-slice components consist, essentially, of several functional units connected together to form a bit-slice product of any desired wordlength. To combat most of the limitations of MOS based devices the designer can buy off-the-shelf bit-slice components and, together with a moderate amount of TTL logic, create a microprocessor with the necessary level of performance. They execute much faster than MOS devices because they are fabricated with Schotty n

TTL, ECL or I L techniques. An example of this type of device is Ferranti's M700/40 16-bit bi-polar microprocessor

[16] operating at 20 MHz clock rate. - 67l -

FIG. 4.3 AN IDEAL 16-BIT CAD/CAM SYSTEM - 68 -

CAD/CAM INTEGRATION

Bi-polar devices, unfortunately, possess three major

disadvantages which outweigh their tremendous speed

capabilities. They are large in size (relatively in microelectronic scales) due to the limited amount of chip

integration possible and hence consume alot of power. They are, therefore, costly since large heat sinks and cooling fans have to be utilised. And thirdly, an intimate knowledge of the hardware and software is required to produce them resulting in high development and testing costs. Thus, bi- polar technology is usually utilised in specialised operations (e.g. defense) where computational speed and compactness are absolutely critical.

In' order to enhance the arithmetic computation of the workstation 16K bi-polar PROMs as well as dedicated arithmetic processor units (APU), such as the Intel

8086/8087 combination, can be utilised. The arithmetic processor unit should be used for very fast number crunching operations whereas the bi-polar PROMs can be used as look-up tables for repetitive arithmetic functions. Bi-polar PROMs have typical maximum access times of about 45ns [17] , and consequently, can be used effectively in both high speed memory and logic replacement applications. Thus, by utilising bi-polar PROMs in a CAD/CAM system it is possible to greatly reduce the amount of software, mainly arithmetic routines as well as some of the hardware logic circuits. CAD/CAM INTEGRATION

4.3 Implications of CAD/CAM Integration

The previous two sections have illustrated the need of

an integrated CAD/CAM system. With careful consideration of

the hardware and software the overall cost of the CAD/CAM

system can be greatly reduced. The implications of CAD/CAM

integration is that the CAD/CAM users will in the next few years benefit tremendously from interactive graphics systems which provide far more capabilities, operate faster and are cheaper than those currently available.

One can successfully speculate that in then next few years some of the significant advances that will emerge are: the distribution of processing power will also continue, with workstations and CNC systems becoming progressively more intelligent, the cost of mass storage will also fall substantially so that increasing volumes of data will be stored on-line, and the major software development will be to make CAD/CAM systems easier to use for the non-technical, and non-programmer user. 70 -

CHAPTER 5

CHOICE AND USE OF MICRCOMPUTER LANGUAGES

We have seen, from the discussion in Chapter 4, that

hardware plays the major role in the selection of a suitable

CAD/CAM system. It was also pointed out that the development

of a CAD/CAM system not only depends on the hardware

configuration but also depends on its interaction with the

operating system, as well as a variety of programming

languages. From a development workstation to a dedicated

system several high level languages should be available

together with at least one low level language. The low level

language is usually the natural language of the computer,

although several others are advantageous in order to develop

programs for another computer on a host computer.

As this thesis is mainly concerned with the design and

development of software written for CAD/CAM applications

this chapter investigates the importance of low and high

level languages as well as illustrating the structure of the

high level language Pascal. It discusses, briefly, why

Pascal is a very good language for use in microcomputers,

its structure, capabilities and limitations in CAD/CAM

applications.

• - 71 -

CHOICE AND USE OF MICROCOMPUTER LANGUAGES

5.1 Selection of Software Development Tools

With diminishing microprocessor hardware costs and with

the widespread use of microprocessors in thousands of

applications software development has not only become more

demanding but now continues to represent a greater

proportion of the total system cost [18], Fig. 5.1. Several

software development tools and techniques already exist

which could reduce these development costs whilst still

maintaining or improving software quality. Unfortunately,

information about them is frequently inaccessible and their

relative merits can be difficult and costly to evaluate. It

can be safely predicted that with the ever reducing memory

costs together with the increase in processing speed of

microcomputers, high level language programming will become

much more appealing over assembly language programming.

Consequently, program transferability will merely be

achieved by simply cross compiling the program from one

system to another. Furthermore, with the vast amount of

microcomputer systems, operating systems, and high level

languages available, it can be a relatively expensive task

of purchasing several software development tools for the

various systems that the user might have.

ft For instance, if a user has three different

microprocessor systems then in order to assist program

development on all the systems three development tools are

required. This is one of the reasons why users tend to stick

to a product of a particular manufacturer. For example, as - 72 -

8 16 32

PROCESSOR WORD SIZE

FIG. 5.1 ESCALATION IN SOFTWARE COSTS IN COMPARISON WITH HARDWARE COSTS

ASSEMBLY LANGUAGE PROGRAMING HIGH-LEVEL LANGUAGE

Advantages Advantages •Symbolic references • Better control of software •Revisions easily incorporated with reassemblies • Reduced programing cost •Symbolic code easier to read • Faster programing •Programing aids included • Well suited to program solving •"Values can be parameterized (table sizes, input/output • Self-documenting port assignment) • Easier maintenance • Error checking included • Transferability avoids reprograming ®advantaqes Disadvantages •Assembler system required (development hardware, • Bigger programs — compilation efficiency terminal) • Cost of compilation • Some assembly processes are slow • Programing experience required for good results •Assembly language rules and formats must be learned When to use ftfien to use • For larger programs — 1,000 bytes or more • Usually recommended for instruction-level coding • For low-volume products or prototype systems • For production systems when experience warrants

FIG. 5.2 COMPARISON BETWEEN LOW LEVEL AND HIGH LEVEL LANGUAGES - 73 -

CHOICE AND USE OF MICROCOMPUTER LANGUAGES

in the CAD/CAM system at Imperial College, several

microcomputer systems based on the Motorola 6800 series were

purchased. Thus, system improvement can be achieved by

simply upgrading from a M6800 microprocessor based system to

a M6809 and then to a very powerful 16-bit M68000 based ft system. Besides, utility programs can simply be transferred

(with the minimum of modification) from one system to

another, either by cross assembling or by rewriting a few ft lines of the source program.

As mentioned above, users conventionally tend to expand

their number of systems by purchasing better and more

superior microcomputer systems from the same manufacturer in

order to maintain modularity and compatability. However,

with an increase in the number of systems produced by ft individual companies who purchase OEM (Original Equipment

Manufacturers) products and incorporate them in their own

packaging many users are attracted to purchasing systems

• from such suppliers. As is often the case, the operating

system and low level languages are custom written for that

particular system and a careful evaluation of their m capabilities is essential for the efficient use in serious

applications [19].

5.2 Influencing Factors in Choosing Low and High Level ft Languages for CAD/CAM Applications

In CAD/CAM applications certain processes are time

critical (e.g machining, simulation and display) whereas - 74 -

CHOICE AND USE OF MICROCOMPUTER LANGUAGES others are not (e.g plotting and editing). Thus, careful decisions have to be undertaken when to use a low level language over a high level language.This section discusses the advantages and disadvantages of both low level and high level languages as well as when to use one over the other.

The merging of information of several engineering departments into a unified CAD/CAM system has considerably increased the demand of longer and more sophisticated programs over the past few years. With this increase in demand it is becoming more impractical to program in assembly language and more appealing to use high level languages. As far as program development time is concerned, programmers write the same number of lines a day regardless of the language they use. Thus, in terms of development time, there are no advantages gained by programming in low level languages over high level languages.

It then appears that high level languages should be utilised more often since they make more efficient use of the programmer. For one thing, they more directly represent the logical flow that the programmer has in his mind once he has figured out an initial algorithm. Also the use of

English-like commands not only makes the program easier to write but more importantly allows either the author or other readers to follow the structure of the program more easily and hence painlessly debug and update it. 75 -

CHOICE AND USE OF MICROCOMPUTER LANGUAGES

Some of the advantages of low level (assembly) languages over higher level languages, Fig.5.2, are that they make more efficient use of the microcomputer by relating each operation with the hardware elements of the microprocessor. Hence, they execute much faster than high level language programs and occupy much less memory space.

From the programmer's viewpoint, lengthy high level language programs often take a long time to compile from the source code form into an intermediate code or .

About the only way to speed up this compilation process is to cross-compile on a larger computer, but often this is a tedious and costly task.

In the attempt of producing a versatile language which incorporates some of the features of low level as well as high level languages, development system manufacturers nowadays provide high level languages which are capable of mixing high and low level modules. Thus, the majority of the program, especially that portion requiring large mathematical data transformation, can be written in a high level language leaving portions requiring memory manipulation, time critical procedures and peripheral handling' routines to be written in assembly language.

Such high level development languages now often come as an integral part of extensive software packages supplied with major development systems, and should be investigated before purchasing a system. Besides high level languages i - 76 -

CHOICE AND USE OF MICROCOMPUTER LANGUAGES

several other development languages and software tools are

necessary in a typical microcomputer system used for the

task of CAD/CAM. Fig. 5.3 illustrates the hierarchical

structure of the software tools which are desirable on such

a system.

5.3 Structure of the High Level Language Pascal

When embarking on a software task the programmer must

make two decisions. Firstly, whether a low or a high level

language should be used and, secondly, if a high level

language is to be used then which is the optimum one for the

particular application and microcomputer system.

Several high level languages exist and usually the ones

available on a particular microcomputer system are analysed

and selected according to the software task. Amongst the

high level languages available Pascal has emerged to become

an important language for the future of programming small

and large systems alike. Pascal was developed by Niklaus

Wirth [20] in 1968 mainly for teaching purposes but its

versatility and structure have lead it to become the

language of the decade with a variety of applications,

including the industrial domain [21] . It supercedes Fortran which has been well established as the ideal programming language for scientific and engineering computations on mini and mainframe computers. -li-

ft

*

FIG. 5.3 HIERARHICAL STRUCTURE WITHIN A DEVELOPMENT SYSTEM

t

SYSTEM EXAMPLE:- .LEVEL 0_

PROGRAM PR0G1;, .LEVEL! ft PROCESS PR0C1;_ LEVEL 2

BEGIN (PROCESS BOOY) ENO; 1 J

BEGIN (PROGRAM BODY} ENO; 1

ft PROGRAM PR0G2; LEVEL 1 _

PROCESS PR0C2; LEVEL 2 _

PROCESS PR0C2A; LEVEL 3 ,

BEGIN (PROCESS BODY} ENO; k J

BEGIN (PROCESS BOOY} ENO; E J

PROCESS PROC3; — LEVEL 2 ft BEGIN (PROCESS BODY} END; L J

BEGIN (PROGRAM BODY} ENO; L J

BEGIN (SYSTEM BODY) ENO; 1 J

FIG. 5.4 NESTED STRUCTURING WITHIN A PASCAL PROGRAM 78 -

CHOICE AND USE OF MICROCOMPUTER LANGUAGES

The three main features of Pascal are, firstly, it is

^ suitable for both system and application programming.

Secondly, it is relatively new, having been written just

over 10 years ago, thus incorporating many valuable and

desirable features not found in older languages such as

Fortran. And finally, it is a highly structured language, as

illustrated in Fig. 5.4. Other benefits of programming in

Pascal are often those that are associated with other high ft level languages, namely maintainability and extendability.

In discouraging "tricky programming" by offering legitimate

alternatives in its data structuring and control statements,

^ Pascal furthers each of these goals. Furthermore, much of

the dynamic nature of a Pascal program can be reflected in

its static code. Hence, a well-written Pascal program is

synonymous with a well-documented project. ft

One of the greatest features of Pascal is its data

structuring facilities, and it is this that set the language

* apart from its forerunners and made it so attractive for

serious programming as well as industrial and control

applications. Pascal greatly expands the concept of the data

* type and allows the construction of more complex types from

the primitives. Furthermore, the language allows the user to

define new data types and to name these with his own

identifiers. For example, a data type of the form of a

record can be declared representing all the information

about a particular machine tool as: - 79 -

CHOICE AND USE OF MICROCOMPUTER LANGUAGES

MT : record

manufacturer: packed array [1..10] of char;

age: 0..50;

horsepower: 0..1000;

axes: 0. .10;

operational: boolean

end;

and can be accessed as :

MT . manufacturer := 'Colchester1;

MT . age := 2;

MT . horsepower := 100;

MT . axes := 2;

MT . operational := false;

Thus, a single record can store several pieces of information regarding a particular product (in this case a machine tool).

Each variable must be declared to have a type and during compilation the compiler checks their consistency.

This strong type checking pervades the language. It increases program relability as well as generating fewer machine code instructions.

One of the serious limitations of Pascal on 8-bit microcomputers is its deficiency in handling large programs.

On most 8-bit, single-user, microcomputers many high level CHOICE AND USE OF MICROCOMPUTER LANGUAGES languages, including Pascal, incorporate an upper limit on the size of the program. This is usually 32K, i.e the source text must not generate more than 32K (32000 bytes) of machine code or P-code. This limit results from the largest positive or negative integer number that can be addressed by the compiler and is determined by the word size of the computer. In an 8-bit microcomputer the word size is 16-bits

(i.e 2 bytes) and hence the largest possible number that can be stored in 2 bytes is +32767 or approximately 32K.

Unfortunately, this limitation is present on the current Pascal compiler by Lucidata [22]. Hence the programs have to be carefully structured to minimise the limitation.

Chapter 7 describes the CAD/CAM software and the precautions taken in overcoming such limitations. However, as mentioned in Chapter 10 on future work, in order to produce a commercially viable CAD/CAM system with fast number processing speeds for tasks such as geometric modelling, interactive graphics and NC part-programming a transfer from the current 8-bit to a faster 16-bit microcomputer is essential. With this in mind, most of the software was developed in Pascal so as to ease the task of transferring from one system to another.

Besides adopting for a high level language and a 16-bit microcomputer it is very important to choose an ideal operating system (OS) so that the interaction between user written programs and the OS is a smooth and easy one. - 81 -

CHOICE AND USE OF MICROCOMPUTER LANGUAGES

5.4 The Precedence of a Microcomputer's Operating System ft As illustrated in Fig. 5.1, in systems based on 16 and

32-bit microprocessors, software will account for the bulk

of the development costs. As more and more logic is squeezed ft onto a single chip, the hardware development process is

being simplified and its cost reduced. Simultaneously,

however, more complex and hence more expensive software is

going to be required [23].

The most important member of the software family is the

41 operating system [24] since it handles almost all the

program communication and task scheduling. The operating

system plays an ever greater role in multi-tasking systems

since it has to supervise and satisfy not one but several ft users working on the system simultaneously in a time-sharing

mode. The operating system on the CAD/CAM workstation was

developed by Technical Systems Corporation Limited (TSC) and ft is known as FLEX. It is discussed in detail in Chapter 6.

The superiority and power of an operating system is

• enhanced by the capabilities and the ease of use of its

individual members. They are the editor, assembler, monitor,

debugger, and linkage editors. The operating

system, thus highly relies upon its elements in order to

perform routine tasks such as manipulation, storage,

retrieval, loading and executing system and utility programs

as well as creating and deleting data files. CHAPTER 6

PROPOSALS AND ARCHITECTURE OF THE MICROCOMPUTER BASED CAD/CAM WORKSTATION

6.1 Proposal for a CAD/CAM Workstation

As we have seen from the earlier chapters, the demand for increased, uninterrupted processing support at the lowest possible cost and the smallest incremental expansion capabilities, combined with the ease of interaction between the operator and the computer, are factors influencing the' trend towards microprocessor and multimicroprocessor based computers. Also, software development and computer utilisation costs are increasing all the time, thereby not only making the initial cost of the larger computers beyond the budget of many small and medium sized firms but also the running, costs associated with them. Consequently fewer companies purchase large computers. Instead, they hire a computer, buy computer time or manually perform some of the simpler calculations whilst leaving the complex calculations to be performed by a smaller computer, or finally, the firm might even discard the task completely. This final option, although it sounds to be a trivial one, is one which should be avoided if better and new products are to be designed and manufactured.

Fortunately, the rapid deceleration of microprocessor and microelectronics costs together with the diminishing size and the escalation in the number of devices that can be incorporated on a single chip has resulted in the wide application of microcomputers and microelectronic devices. - 83 -

PROPOSALS AND ARCHITECTURE OF THE MICROCOMPUTER BASED CAD/CAM WORKSTATION

This obviously implies that not only are they low cost and ft versatile enough to be purchased by individuals, small as

well as medium sized companies, but also that a large number

of computer systems can be purchased and spread around the

* various departments of the company to perform repetitive and

cost-effective functions.

P By utilising several computers, they can be

interconnected in one of the several forms so that a complex

task, which is beyond the capability, or is too slow, for a

single dedicated microcomputer, can be successfully ft performed on a multimicrocomputer system. Some of the common

multimicro system configurations are briefly discussed

followed by the proposals of an ideal CAD/CAM workstation

* and a NC system.

In general, there are two basic system configurations,

0 namely "tightly coupled" and "loosely coupled" systems, as

illustrated in Fig. 6.1. The major features of tightly

coupled systems are that all processors in the system access

a common memory and input-output and other system resources ft (i.e peripherals) are shared by the processors. However, a

major disadvantage of this configuration is that the

interprocessor communication latency is low due to the ft potential access time only being limited by the actual

memory access time. In a loosely coupled system each

processor has its own individual primary memory and hence

concurrent processes can be performed asynchronously whereas - 84 -

TIGHTLY COUPLED SYSTEM LOOSELY COUPLED SYSTEM 4

FIG. 6.1 COMPARISON BETWEEN A TIGHTLY AND A LOOSELY COUPLED SYSTEM

4

FIG. 6.2 TYPICAL STAR-TECHNOLOGY BASED MULTI-PROCESSOR SYSTEM < - 85 -

PROPOSALS AND ARCHITECTURE OF THE MICROCOMPUTER BASED CAD/CAM WORKSTATION

tightly coupled systems generally require synchronisation

between cooperating processes. One of the major advantages

of loosely coupled systems is that all processors virtually

operate independent of one another. Thus, "mixed" or

heterogeneous computers can be incorporated into such a

system configuration.

There • are several other multimicrocomputer

architectures besides tightly and loosely coupled systems.

Two of the most popular ones are the "star" and the

hierarchical system configurations.

In a system based on a star configuration the central

computer acts as a system controller (master) which

coordinates several slave computers, workstations, or machine tools, as illustrated in Fig. 6.2. Star

configurations can be expanded in one of two ways. Firstly, by adding additional slaves to the star architecture, and secondly, by expanding into hierarchies, where one slave computer can be a master computer for a different star.

A hierarchical configuration, Fig. 6.3, consists of several computers arranged in a tree or a pyramid structure.

In general, the capability of the processor increases as the top of the pyramid is reached. This is often due to practical rather than theoretical reasons. Similar to a corporate organisational structure, the capabilities at the base are generally application - dependent, with a special- - 86 -

Hierarchical Level 1

Hierarchical Level 2

Hierarchical Level 3

FIG. 6.3 HIERARCHICAL CONFIGURATION

ADVANTAGES OF MULTIMICROS AND MINIS DISADVANTAGES OF MULTIMICROS AND MINIS

Increased reliability Increased software complexity

Increased survivability More difficult system test and failure diagonis Increased distributed processing power More dependence on communicatins technology Increased responsiveness

Unique expertise needed during design Increased modularity and development phase

System expandability in smaller increments

FIG. 6.4 ADVANTAGES AND DISADVANTAGES OF MULTIMICROS AND MINIS - 87 -

PROPOSALS AND ARCHITECTURE OF THE MICROCOMPUTER BASED CAD/CAM WORKSTATION

purpose capability, dedicated to performing well-defined, * specialised tasks, whereas the top of the organisation has a

more general-purpose capability controlling and coordinating

the entire system. Thus, such a system also encourages the

* use of distributed processing functions.

Of the various system architectures that exist, the one

^ most suitable for the solution of complex tasks, such as

CAD/CAM, is generally the hierarchical configuration. It

freely allows the integration of several heterogeneous

computers (as well as microprocessors) of different

wordlengths. Thus, powerful microcomputers can be utilised

at the upper portions of the pyramid structure whilst using

less powerful, and hence cheaper, 8-bit microcomputers as

* the lowest level slaves.

In general, each system configuration has certain

^ attributes that affect its suitability for a particular

application. These attributes are related to cost,

reliability, responsiveness, speed, throughput capacity,

ease of development, modularity, reconfigurability, logical * complexity and physical dispersability. All of the above

mentioned systems are multi-computer based and initially one

must decide whether to opt for a single computer or a

* multicomputer based system for the particular application

concerned. The pros and cons of such system configurations

are thus summarised in Fig. 6.4. - 88 -

PROPOSALS AND ARCHITECTURE OF THE MICROCOMPUTER BASED CAD/CAM WORKSTATION

6.1.1 Choice of the elements of a CAD/CAM workstation

There are six basic elements which constitute to the

design of a CAD/CAM workstation. They have to be analysed in

terms of reliability, cost, function requirements,

modularity and interchangeability as well as replaceability.

They ares-

choice of microprocessors;

primary memory;

secondary (backup) memory;

I/O peripherals including special purpose arithmetic

chips ?

inter-peripheral and inter-processor communication

bus;

and system software.

6.1.1.1 Choice of microprocessors

Since microprocessors form the heart of the computer system (by executing the arithmetical and logical operations as defined by the program) the success, the overall system's capabilities and processing speed are all dependent on the choice of the microprocessor(s). PROPOSALS AND ARCHITECTURE OF THE MICROCOMPUTER BASED CAD/CAM WORKSTATION

Although the speed and the memory capabilities of 8-bit

microprocessors is sufficient for dedicated control

applications or relatively simple tasks they impose too many

restrictions for serious CAD/CAM applications. Thus, for a

dedicated CAD/CAM workstation capable of handling 3D

geometries at least a 16-bit microprocessor architecture is

required for three main reasons. Firstly, to directly

address a large amount of memory, due to its wordlength.

Secondly, to manipulate data in the shortest time possible,

due to the larger instruction set. And finally, to be able

to store high precision numbers.

Most of the currently available 16-bit microprocessors

(e.g Motorola's M68000, Intel's 8086, and Zilog's Z8000

series) have the processing power to be nominated for use within local CAD/CAM workstations. However, for complex

CAD/CAM tasks a system architecture (such as the hierarchical one discussed in the previous section) would have to be considered comprising of several 16-bit and 32- bit microcomputers possibly linked to mini or mainframe computers.

For such a system architecture comprising of several computers, not necessarily heterogeneous, the author believes that from the currently available microprocessors

Western Digital Corporation's WD9000 Pascal Microengine chip set should be utilised in at least one of the workstations.

The Microengine is a 16-bit MOS/LSI chip set that executes - 90 -

PROPOSALS AND ARCHITECTURE OF THE MICROCOMPUTER BASED CAD/CAM WORKSTATION

programs written in Pascal at speeds at five or more times

greater than equivalent systems using conventional

architectures. This is because the Microengine chip set is

designed to be the ideal P-code machine. Its machine

language is the P-code produced by the universal UCSD Pascal

compiler.

Thus, several workstations can be formulated using the

Microengine as the CPU. claim it to be ideal

for all applications requiring 16-bit performance, assembly

language efficiency, high level language, speed of program

development and ease of use [25] . Besides the Microengine

the MC 68000 processor could also be utilised within a

workstation. Its power, versatility, instruction set and

peripheral backup chip support make it an ideal CPU for a

workstation.

6.1.1.2 Primary memory

The primary memory of a microcomputer based CAD/CAM workstation is mostly random access read/write memory (RAM),

and is used for the temporary storage of programs and data during the execution of a program. Since one of the speed

factors of a workstation is the rate at which data can be accessed and manipulated fast RAM is essential, with typical access times of approximately 100ns. Another factor is the amount of RAM available. Obviously program execution \ - 91 -

PROPOSALS AND ARCHITECTURE OF THE MICROCOMPUTER BASED CAD/CAM WORKSTATION

efficiency increases the more RAM one utilises, since fewer

overlays will have to be performed. The fact that 16-bit

microprocessors can directly address upto 16M bytes of

memory, compared with 64K bytes for 8-bit microprocessors,

further nominates them to be utilised within CAD/CAM

workstations.

6.1.1.3 Secondary (backup) memory

Backup memory is essential for the permanent storage of

programs and data since it is non volatile. The most common

types of backup storage for microcomputer systems are

flexible discs, providing about 1.25M bytes storage on an 8

inch floppy disc. For greater and much faster storage

Winchester discs should be used. They can store a few

hundred Mega bytes of data with access times tens of times

faster than floppy discs. Unfortunately, Winchester drives

are much more expensive than floppy discs and so are

commonly used in 16-bit systems, where their cost does not outweigh the cost of the microcomputer.

6.1.1.4 I/O peripherals

The careful selection of I/O peripherals (such as

VDU's, plotters and graphic tablets) as well as scientific processor chips enhances the flexibility and the processing - 92 -

PROPOSALS AND ARCHITECTURE OF THE MICROCOMPUTER BASED CAD/CAM WORKSTATION

speed of a CAD/CAM workstation, as already discussed in

Section 2.3. Thus, in the development of a CAD/CAM

workstation one should make use of intelligent peripherals

as well as special purpose arithmetic (scientific) and logic

chips. By doing so, firstly, the amount of system software

can be greatly reduced, and secondly, a particular task will

obviously execute much faster by the mere virtue that it

will be performed in hardware instead of software. For

example, Intel claim that their '8232* and '8231' arithmetic

processor units can increase the performance of a

microcomputer system by a factor of upto 100 times when

performing mathematical operations [26]. As far as the CPU

is concerned they are dedicated peripherals and so

installment is no problem.

For interactive graphical communication between the

operator and the workstation a raster scan VDU is highly

recommended. The raster scan provides an additional

dimension, over the storage tube in graphical visualisation

in that vectors can be selectively erased and objects can be

rotated and displayed in real time. This implies that, for

example, a dynamic simulation of the machining operation can

be obtained. The VDU will then appear to operate as a TV monitor, displaying the chuck, with the workpiece

dynamically rotating and the cutting tool removing material

from the workpiece. This requires very fast processing power by the display computer and represents a step closer to the

ultimate CAD/CAM system. 93 -

PROPOSALS AND ARCHITECTURE OF THE MICROCOMPUTER BASED CAD/CAM WORKSTATION

• Furthermore, utilisation of dedicated microelectronic

chips, such as the NEC Display Processor [27], should be

incorporated within VDUs. Not only does the display process

^ become faster but tremendous software economies can also be

made.

6.1.1.5 Communications bus

On-line communication between one computer and another

in a distributed environment normally imposes a major

problem to system designers. There are various ways [28]

that this problem can be solved:

synchronous or asynchronous

serial or parallel

The choice will depend on the distance of the communicating

equipment and the required speed of transmission. More

importantly from a software point of view is the development

of communication protocols which attempt to standardise the

control mechanism for handling communication signals.

With the emergence of standard interface buses, such as

the IEEE-488-78 (HP-IB) and RS422/5 the task will be greatly

simplified. For relatively slow (1M bit/sec) transmission

speeds over a distance of less than 30 metres in an area of 94 -

PROPOSALS AND ARCHITECTURE OF THE MICROCOMPUTER BASED CAD/CAM WORKSTATION

low electrical noise the serial asynchronous RS232 and RS422

buses provide a simple and reliable mode of communication.

However, for very high data transfer rates parallel buses

are required.

For example, in a multi-microcomputer based CAD/CAM

system a RS232 bus is sufficient for the communication

between most of the I/O peripherals and the workstation. For

interprocessor communication as well as communication

between a local workstation and a remote or host workstation

whereby complex analytical data manipulation is executed,

fast bus transfer is required. One such bus is the Ethernet

whereby data can be transmitted at speeds upto 10M bits/s.

For 8-bit or 16-bit microcomputer based workstations the

combination of the Ethernet bus and the Local Area Network

Controller, Lance (MK68590 VLSI 48 pin DIL chip) provide an

excellent solution.

6.1.1.6 System software

The design and capabilities of a workstation are mainly

* ^dependent on two technologies namely, hardware and software.

The choice of the hardware has already been discussed above,

and the importance of the operating system highlighted in

# Chapter 5. It is appropriate at this stage to present a

summary of the system software of the proposed system. - yb -

PROPOSALS AND ARCHITECTURE OF THE MICROCOMPUTER BASED CAD/CAM WORKSTATION

In all computers the processor is controlled by an

operating system that consists of two types of software:

1. Control programs

2. Processing programs

The efficiency of the user written utility programs is

highly dependent on the nature of the operating system, and

hence requires careful choice and analysis of the operating

system.

The task of control programs is to manage the use of

the system resources, provide easier access to and provide

more efficient use of the physical resources (the user

interface), and to perform data management.

Processing programs, on the other hand, are much more

closley related to the user. They include application and

support software, such as text editors, assemblers and

compilers, file management utilities, diagnostic software,

etc.

Thus, by utilising a powerful operating system the task of the programmer in terms of program development, testing, and debugging, is not only easier but also faster, resulting

in lower product costs. - 96 -

PROPOSALS AND ARCHITECTURE OF THE MICROCOMPUTER BASED CAD/CAM WORKSTATION

6.2 Proposal for a NC System

Section 6.1 discussed some of the common architectures of multicomputer based systems and concluded that one of the most versatile configurations was the hierarchical one.

Hierarchical system architectures can also be utilised in a

NC system by virtue of their three major advantages.

Firstly, due to their modular architecture the system can be easily expanded by simply adding additional modules, with very little software modifications. Secondly, they allow heterogeneous microcomputers and peripherals to be incorporated within the system structure. This is because the only form of communication between the master and the slaves, and between the slaves and the peripherals, is through a standard communication bus. Thirdly, by allowing

8-bit and 16-bit microprocessors to simultaneously work together the overall cost of the system is thereby reduced.

This reduction in the overall system cost is due to the fact that the complex tasks are handled by the 16-bit microprocessors, whilst utilising cheaper 8-bit microprocessors to perform the simpler tasks, such as feedrate control, linear interpolation and adaptive control.

Thus, in a hierarchical system one can subdivide the hardware into four distinct sections:

basic structure and mechanical hardware;

master microcomputer hardware; - 97 -

PROPOSALS AND ARCHITECTURE OF THE MICROCOMPUTER BASED CAD/CAM WORKSTATION

slave microcomputers hardware;

I/O and data storage peripherals.

6.2.1 Basic Structure and Mechanical Hardware

This constitutes to the bulk of the overall hardware of

NC system, and is the only section whose hardware contents are substantially related to the classification of the type of machine tool. Since the mechanical hardware will form the basic structure upon which the control system will be implemented it should possess very good mechanical characteristics. The most important specifications are that the machine tool structure should be rigid to minimise vibration, modular to allow for several axes to be added, the drives should be reasonably quiet and be infinitely variable so that constant cutting speeds can be achieved and finally, the various lead screws should possess the minimum amount of backlash.

Thus, either by choosing a machine tool which possesses these characteristics or by mechanically redesigning and thereby improving certain aspects of an existing machine tool, the first stage in the development of a highly accurate machine tool is reached. The second stage is the installation of the control system onto the mechanical hardware. The control system serves two main purposes.

Firstly, it allows communication between the operator and 98 -

PROPOSALS AND ARCHITECTURE OF THE MICROCOMPUTER BASED CAD/CAM WORKSTATION the machine tool, and secondly, it can be used to minimise most of the errors inherent in the machine tool such as backlash by feedback techniques.

6.2.2 Master microcomputer hardware

The master microcomputer, as previously stated, is responsible for the communication from either the operator or the CAD workstation. As the information is received it is either stored in RAM or on back-up storage. Subsequently, the task of the master microcomputer is to interpret or decode the information and to distribute it to the various slaves.. For such a requirement the main components of the master microcomputer's hardware can be classified as:

A microprocessor which will execute the logical and

arithmetical instructions. Ideally, a 16-bit

microprocessor (e.g MC68000) is required for four main

reasons. Firstly, at least a 16-bit architecture is

required to manipulate the vast amount of computations

in real time. Secondly, the onboard memory can be

expanded upto 16M bytes. Thirdly, high precision

arithmetic can be easily handled. And finally, several

machine tools can be served (if desired) by the one

delegator. - 99 -

PROPOSALS AND ARCHITECTURE OF THE MICROCOMPUTER BASED CAD/CAM WORKSTATION

Arithmetic Processor Units, to assist in arithmetical computations.

RAM memory, for the dynamic storage of the part- program as well as the storage of intermediate data.

The size of RAM memory will obviously depend on the application of the machine tool. The diminishing cost of memories encourages system memory to be expanded instead of writing sophisticated overlay routines.

ROM memory, for the permanent storage of the executive programs and data. Since this type of memory is non- volatile it is ideally suited to the permanent storage of programs which are commonly used, such as

interpreters and run-time control and monitoring programs.

Input/Output chips which are necessary for the microcomputer's communication with the NC system's monitors and front panel control switches.

Back-up storage such as magnetic cartridges,

cassettes, or bubble memories for the permanent storage

of part programs, data and other programs.

Global communication bus controller. This provides

the control of the information flow between master and

slave, and between slave and slave microcomputers. - 100 -

PROPOSALS AND ARCHITECTURE OF THE MICROCOMPUTER BASED CAD/CAM WORKSTATION

Since fast communication between two microcomputers is

* essential it is important to choose either a standard

communication bus or to configure one oneself.

Fortunately, for the type of intercomputer e communication that is required in a NC system a

standard bus exists. This is the standard IEEE-488

communication bus and is specifically developed for

communication with groups of up to 15 instruments or ft computers, with an 8-bit data highway providing

transfer speeds of up to 1M byte/sec. Thus by using

this standard bus not only are the transfer rates fast 4h enough for most CAD/CAM applications but also a wide

variety of data communications protocols exists, thus

making the implementation task much easier and cheaper. #

6.2.3 Slave Microcomputers hardware ft The task of slave microcomputers is to act as an

intermediatary controller between the master computer and

the NC variable control s or axes. For example, each NC

variable, such as spindle speed, feedrate and coolant on or

off, is controlled by a slave microcomputer which is

dedicated to that task.

ft

The overall hardware configuration of slave

microcomputers obviously depends on the function and the

complexity of the task to be performed. But this does not PROPOSALS AND ARCHITECTURE OF THE MICROCOMPUTER BASED CAD/CAM WORKSTATION necessarily imply that each slave microcomputer should be custom designed and built for a particular task. Only one type of slave microcomputers is required. It should contain the essential hardware for controlling the simpler NC tasks such as coolant on or off, automatic tool change, and positioning of the tailstock, etc. By further populating it with additional ICs and changing the control software additional control tasks such as interpolation and adaptive control can be performed. There are several advantages in utilising only one type of slave microcomputers in an NC control system. Firstly, the overall cost of the control system is greatly reduced due to standardisation, secondly, only the one type of slave microcomputer card needs to be stocked, and finally, the introduction of an axes only involves the addition of a standard slave microcomputer card. Thus, there are several advantages gained by using only the one type of slave microcomputers using the philosophy of standardisation in the form of expanability and flexibility over the utilisation of dedicated slave microcomputers where there, are no component redundancies which are individually configured to a particular NC function.

The basic hardware architecture of all slave microcomputers should consist of the following four elements: - 102 -

PROPOSALS AND ARCHITECTURE OF THE MICROCOMPUTER BASED CAD/CAM WORKSTATION

microprocessor(s);

RAM memory;

ROM memory for the permanent storage of the executive

NC function program;

input/output communication devices.

For the more complex NC functions the following additional hardware components are also required:

Digital to analog convertors (DACs)

Analog to digital convertors (ADCs)

Voltage controlled oscillators (VCOs)

Timer/counter devices, and

Interpolation chips.

6.2.4 I/O and data storage peripherals

For the interactive input and output communication between the operator and the NC system the most convenient and economical I/O peripherals are the raster scan VDU and a simple menu data input panel. The presence of a combined graphics/alphanumeric VDU (which forms an integral part of the control system) allows it to be utilised for two functions. Firstly, for the graphical verification of the component's geometry and secondly, for a simple visual simulation of the cutter path's locus before or even during the machining operation. Furthermore, old NC programs can be examined. - 103 -

PROPOSALS AND ARCHITECTURE OF THE MICROCOMPUTER BASED CAD/CAM WORKSTATION

The permanent storage of data and part programs requires the aid of backup storage peripherals. Depending on the amount of storage required and the data transfer rate backup storage peripherals such as magnetic cartridges, audio cassettes or bubble memories can be utilised.

Alternatively, data can be transmitted back to the

CAD/CAM workstation, via the standard CAD-NC communication bus, and stored on floppy or Winchester discs. Thus, by utilising the existing workstation's storage peripherals considerable NC hardware cost savings can be achieved.

6.2.5 Proposal for a low cost NC information transfer media

Besides the direct transmission mode, whereby NC part programs can be directly transmitted, via a standard communication bus, from the CAD/CAM workstation, an alternative information transfer media needs to be

implemented on a dedicated CNC system. It is required for two main reasons. Firstly, to allow existing NC part programs to be executed. And secondly, to relieve the

CAD/CAM workstation so that it is free to perform other

tasks. There exist three main input media. They are:

punched cards,

punched tape,

magnetic tape. PROPOSALS AND ARCHITECTURE OF THE MICROCOMPUTER BASED CAD/CAM WORKSTATION

Punched cards, such as the ones associated with data processing systems are used in a few installations. They are rarely encountered today.

Punched tape, is by far the most widely used input media. The EIA tape coding is considered as a universal

standard for punched tapes, Fig. 6.5, and thus would be

sensible to use.

The magnetic tape stores information digitally and

pertains several advantages over punched tapes and cards.

They are illustrated in Fig. 6.6.

With reference to Fig. 6.6, for a very low cost NC

system which is to be employed for relatively simple

machining operations the punched tape offers the best

solution. The major advantage of the punched tape over the

magnetic tape is its low cost.

The use of the magnetic tape is only recommended on

systems where the cost of the magnetic tape control unit is

not an appreciable cost of the NC hardware. There are some

very logical reasons for the use of magnetic tape over the

punched tape, especially when computer-assisted part

programmining is used to prepare data. In this case, the

magnetic tape used at the machine tool can be the same one

that is prepared by the digital computer, thus eliminating - 105 - i

8 7 6 5 4 - 3 21 TAPE PUNCH a X 0 CH 8 4 2 1

1- - 3

7- • •

e -f - — - - 9 iit- _—— ....

mn— . 1 COMPLETE BLOCK OF INFORMATION. CONSISTS OF 5 COMPLETE WOROS

H/N G M SECL PREP. DIMENSION DIMENSION MISC. E NO. FUNCT. 0 B 0 0 G 8 1 X 1 2 3 4 5 Y 0 8 7 8 9 M 5 1 FOR A .. y- TABULATED J T PRINT OUT 1 A (PERIOO) B (COMMA)- ONLY ^ 7 EDB + IPIUS) / X (MINUS) 0 SPACE - - - OELETE _fc - . • • • • • ••• • ••• •• • • • CH CARR. RET. OR ENO OF BLOCK 8 BACKSPACE ' TAB"-""" o o ooooooooooooooooooooooooooo• • •• ••• •• ••• o • SPK. HOLES ENO OF RECORD - 4 LEAOER BLANK TYPE - • ••• • •••• • ••• • • ••• • • •• • 2 UPPER CASE- i 1 LOWER CASE •TAPE FEED

FIG. 6.5 ELECTRONICS INDUSTRIES ASSOCIATION STANDARD CODING FOR A 1" WIDE TAPE (LEFT). COMPLETE BLOCK OF INFORMATION ON A TAPE (RIGHT).

MEDIUM DENSITY RECORDING RATE READING RATE BINARY BITS BITS/MIN BITS/MIN PER IN ft Punched Cards 45 1600 16oo

Punched Tape 100 300 ' lOOO

Magnetic Tape 3500 20000 20000

FIG. 6.6 COMPARISON OF INFORMATION MEDIA - 106 -

PROPOSALS AND ARCHITECTURE OF THE MICROCOMPUTER BASED CAD/CAM WORKSTATION the process of converting magnetic tape instructions to punch tape. Possible conversion errors can be eliminated resulting in large time savings.

6.3 Description of the current M6809 based CAD/CAM system

6.3.1 The CAD/CAM workstation

For complex CAD/CAM applications involving full 3D graphics and sophisticated design analysis programs, such as finite element analysis at least a two level hierarchical configuration of the type illustrated in section 6.1 is required. The master/slaves configuration should consist of

(typically) 16-bit microcomputer based local workstations and a much more powerful master computer such as a 32-bit microcomputer, a 32-bit super minicomputer, or a mainframe computer.

Although the architecture of the above proposed CAD/CAM workstation is a viable one, practically it involves an initial large capital investment in order to form the basis upon which dedicated software can be developed. With the severe financial restrictions imposed on the academic institutions together with the fact that at the time of commencement of the project (1979) 16-bit microcomputer based systems were just emerging into the market, it was decided that an existing 8-bit microsystem be used. Funds - 107 -

PROPOSALS AND ARCHITECTURE OF THE MICROCOMPUTER BASED CAD/CAM WORKSTATION only permitted an 8-bit microsystem to be used for CAD/CAM research. Consequently, most of the software was developed in a modular architecture and wherever possible a high level language used. By adopting such a technique software transferability to a 16-bit microsystem as well as flexibility and expandability for both the hardware and the software were maintained.

The initial workstation was centred around a Motorola

M6800 based microsystem but was soon superseded by the more powerful and faster M6809 based microsystem.

The basic elements of the current CAD/CAM workstation consist of:

1. A Southwest Technical Product's (SWTP) 8-bit single-

user microcomputer system, Fig. 6.7. It incorporates a

Motorola M6809 2MHz microprocessor as the CPU, 64K of

dynamic RAM of which 56K is available to the user (8K

is utilised by the FLEX9 operating system) and 8 I/O

communication ports to a maximum of 16 peripherals,

Fig. 6.8. For CAD/CAM operations these peripherals can

comprise of VDUs, plotters, printers, tablets,

digitisers and machine tools. The present system has

five I/O communication links. They are as follows: - 108 -

FIG. 6.7a THE HP2648A VDU - 109 - i

EIGHT I/O PORTS

POWER TRANSFORMER

POWER SUPPLY BOARD

fir*-.i c a •• J ) POSITION FOR jVIP-HD HARD DISK- CONTROLLER * 1 • •»< - •m X—i\ J MP-09 PROCESSOR SMS 3509-A SMS 3S09-C DMF2 DISK DYNAMIC MEMORY .DYNAMIC MEM OR Y_ CONTROLLER - xi. - -. ARRAY CONTROLLER

FIG. 6.8 PLAN LAYOUT OF THE M6809 SYSTEM CIRCUIT BOARDS PROPOSALS AND ARCHITECTURE OF THE MICROCOMPUTER BASED CAD/CAM WORKSTATION

(i) RS 232 serial bus to VDU

(ii) RS 232 serial bus to plotter

(iii) RS 232 serial bus to NC lathe

(iv) RS 232 serial bus to NC mill

(v) Centronics parallel bus to the text printer

The approximate cost of the above described

microcomputer is £1800.

2. A dual drive, double density, double sided 8 inch

floppy disc unit providing up to 2.5M bytes of usable

(formatted) storage, Fig. 6.7, costing approximately

£2750 (including a DMA disc controller board).

3., An intelligent combined alphanumeric/graphics VDU - a HP 2648A terminal, Fig.6.7a. It is a refresh raster scan VDU [29] and has the ability to selectively modify portions of the screen without completely erasing and

redrawing the entire screen. This minimises the system software overhead, user wait-time and communication costs. It possesses independent graphic and alphanumeric display memories thus allowing either the graphic or the alphanumeric memory display to be suppressed without disturbing the other, improving the readability of the display. Inbuilt hardware zoom and pan features allow the graphics display to be magnified incrementally from one to sixteen times allowing the user to make full use of the 720 by 360 pixel resolution. - Ill -

PROPOSALS AND ARCHITECTURE OF THE MICROCOMPUTER BASED CAD/CAM WORKSTATION

Supplementary features include 8 special user-

definable function keys (softkeys) which can be easily

used to issue a user-defined string of up to 80

characters long. They allow the keyboard to adapt to

specialised applications, and can considerably simplify

use of the keyboard and result in greater efficiency -

each softkey performs the operations of several

sequences. For example, the softkeys could issue

frequently used programming sequences, search for

files, aid data entry, or issue instructions to the

operator/computer/or both. The approximate cost of the

VDU is £4500.

4. A flat-bed A0 size plotter, Fig. 6.9, for the

# graphical visualisation of the component's geometry and

the cutter path's loci. The plotter (which was designed

and built at Imperial College) utilises a similar

control system to the one used in the NC system

(section 6.3.3). The control system is a hierarchical

one whereby the master computer accepts commands and

data, via a standard RS232 communication bus, from the » microcomputer and distributes the task between the

slave axes microcomputers. The resolution of the

plotter is 0.05mm. The approximate trade cost of the

* plotter is under £3000.

5. A text printer, Fig. 6.7, for the generation of a

hard copy listing of the programs and data. The %

FIG. 6.9 THE WORKSTATION'S A0 SIZE FLATBED PLOTTER

4 - 113 -

PROPOSALS AND ARCiilTECTURE OF THE MICROCOMPUTER BASED CAD/CAM WORKSTATION

approximate cost of the printer is £2000 but equally

efficient printers are now available for a few hundred

pounds.

4 The overall cost of the current CAD/CAM workstation's

hardware is approximately £14K. However, the cost of a well

configured 16-bit workstation would only be about 2-3 times

^ 'that of the cost of the 8-bit workstation. This still

remains very competitive when compared with equivalent

minicomputer based CAD/CAM systems costing an order of

magnitude more.

6.3.2 The Operating System

In conjunction with the workstation's hardware the

operating system determines the "power", i.e the processing

speed and the capabilities of the system.

It controls the microcomputer and acts as a mediator

between the computer and the user. In addition to

supervising the system's operation it provides a collection

of user programs, assemblers, compilers, loaders, editors,

floating-point routines, etc. Thus, for software development

the system designer must choose a suitable hardware

configuration as well as a versatile, flexible and powerful

opera.ting system. - 114 -

PROPOSALS AND ARCiilTECTURE OF THE MICROCOMPUTER BASED CAD/CAM WORKSTATION

Regarding the choice of an operating system there are two main categories namely single-user or a multi-user. The choice between a single-user and a multi-user operating system depends on the task to be performed as well as the capital cost of the computer. Sometimes it may be more convenient to utilise several microcomputer based slave workstations operating in a single-user mode rather than to employ a fewer number of multi-user systems.

For the above proposed CAD/CAM workstation a multi-user system should be adopted since it allows several users to simultaneously use the system as well as reducing hardware costs by sharing peripherals such as the Winchester disc, printers, plotters, digitisers and system memory.

Furthermore, the multi-user arichecture naturally makes it an ideal element for a hierarchical CAD/CAM system.

The operating system pertinent to the M6809 based microsystem is called FLEX9. It is single-user and provides the user with a powerful set of system commands to control all disc operations directly from the user's terminal [30].

The FLEX9 Operating System comprises of three parts, the File Management System (FMS), the Disc Operating System

(DOS), and the Utility Command Set (UCS). Part of the power of the overall system lies in the fact that the system can be greatly expanded by simply adding additional utility commands, such as user written CAD/CAM routines. - 115 -

PROPOSALS AND ARCiilTECTURE OF THE MICROCOMPUTER BASED CAD/CAM WORKSTATION

* Amongst the software development aids available are the

Assembler and high-level Basic and Pascal languages.

Assembler produces a 1:1 ratio from the source text to the

0 machine code and is therefore very fast in program

compilation and execution. High-level languages, on the

other hand, produce far more machine code than the

equivalent assembler written routines but are faster to

develop since they more clearly resemble the English

language and the logical way of thinking. Programs written

in a high level language are transportable since they are

* system independent and thus are often preferred.

0 6.3.3 The NC Turning System

The fundamental and essential elements of a NC system

were collaborated and highlighted in section 6.2. The

majority of these elements were analysed and an initial

experimental NC machine tool developed. This work was

undertaken by Dalzell [31] and Pak [9] who designed and 0 built a control system which was retrofitted to an existing

Student Colchester Lathe located in one of the departmental

workshops. It is necessary at this stage to briefly describe

4 the above mentioned NC turning system as it forms the NC

hardware necessary to test and develop the CAD/CAM software

described in Chapter 7. - 11.6 -

PROPOSALS AND ARCHITECTURE OF THE MICROCOMPUTER BASED CAD/CAM WORKSTATION

The standard Student Colchester Lathe was retrofitted 4 with two stepper motors (type: Astrosyn 34PM-C205) which

control the movement of the X and Y directions of the tool

turret. The stepper motors provide a positional accuracy of

* 0.0005 inch (~0.01mm). The spindle speed is controlled by an

infinitely variable hydraulic closed-loop circuit with

feedback obtained from an optical encoder mounted on the

^ rear of the spindle shaft.

The NC turning system is illustrated in Fig. 6.10 and

the multi-microcomputer control system is illustrated in 4 Fig. 6.11. The control system's architecture is one of a

hierarchical configuration comprising of a master computer

(delegator) and several variable (slave) controllers and a

4 Perex cartridge disc perifile for the permanent storage of

MTIL programs and data, Fig. 6.12.

The delegator consists of four cards. They are a CPU

card, an I/O card, a memory card containing the MTIL on a

4K EPROM, an IEEE controller card to provide communication

between the master computer and the slaves. 4

The slave microcomputer cards consist of two basic

configurations, namely feed pulse generators and machine

4 tool variable controllers. The feed pulse generator cards

are responsible for the synchronisation of the vector

interpolations which are generated by the variable

controllers. FIG. 6.10 THE NC TURNING SYSTEM

FIG. 6.11 THE NC (TURNING) CONTROL SYSTEM - 118 - i

LOCAL OPERATOR

FEED PULSE GENERATORS

VARIABLES /

| 1 I DC POWER MAINS \ | i •| OTHER VARIABLES I J

FIG. 6.12 ARCHITECTURE OF THE TURNING NC SYSTEM - 119 -

PROPOSALS AND ARCiilTECTURE OF THE MICROCOMPUTER BASED CAD/CAM WORKSTATION

The slave microcomputers are similar in architecture

and consist of:

1. main processor unit (M6802) and 128 bytes of RAM;

2. 4K bytes of ROM;

3. delegator interface integrated circuitry;

4. interface IC to motivation unit;

5. digital I/O channels;

6. a counter-timer IC for the generation of

feedrates.

The hardware for the delegator card is similar to that for

the slaves with the following additions:

1. RAM for the user; at least 4K. bytes for the storage

of the part program and data;

2. an additional 4K bytes of ROM for the MTIL program;

3. an interface to the CAD system or user terminal;

4. and an interface to the slave microcomputers.

As an indication of the economics of the NC turning ft system the approximate hardware cost of the delegator cards

is £80 and £30 for each of the slave controller cards. This

undoubtedly represents a low cost way of developing a

• versatile and expandable NC machine tool. - 120 -

PROPOSALS AND ARCiilTECTURE OF THE MICROCOMPUTER BASED CAD/CAM WORKSTATION

6.3.4 The NC Milling System >

A three axes, two horsepower, Bridgeport milling

machine is currently being retrofitted in the department. It

0 will form the hardware for the production of milled

components designed by the CAD/CAM software packages

described in Chapter 7. It is endeavoured that the control

^ system will be implemented and fully operational by Autumn

1982.

Retrofitting of the milling machine involved replacing 4 the bed lead screw with a recirculating ball screw with

anti-backlash nuts, providing a positional accuracy of —6

5m . . The recirculating ball screw has a pitch of

4 5mm/revolution. Two DC motors provide the main X and Y

direction drives with encoders of resolution 1000

pulses/revolution. The Z direction of the bed is not

0. controlled, instead a DC motor mounted on the mill head

provides the vertical movement of the quill.

The NC control system is similar to the one described

for the NC turning system. It is a hierarchical multi-

microcomputer structure linked together by the 16-bit

standard IEEE-488 interface bus [32]. The system is modular

and capable of simultaneously controlling up to 12 axes. The

minimum configurations is for 2 axes continuous path

control. The minimum configuration consists of five

microcomputer cards in "Double-Euro" size. They consist of: - 121 -

PROPOSALS AND ARCiilTECTURE OF THE MICROCOMPUTER BASED CAD/CAM WORKSTATION

delegator card,

feedrate controller card,

spindle controller card,

X-axis controller card, and a

Y-axis controller card.

Hardware specification of the delegator

MC 68B09 2MHz 8-bit microprocessor,

AMD 9511 arithmetic processor chip,

16K of static RAM with an access time of 150ns,

16K of EPROM expandable up to 32K for the permanent

storage of the control algorithms,

3 RS232 serial interfaces. One for the DNC link, another

for a tape unit and a third of the control VDU,

8 digital TTL output lines, and a

IEEE 488/1978 bus interface for interprocessor

communication.

Hardware specification of the feedrate controller

MC 68B09 microprocessor,

programmable Voltage Controlled Oscillator (VCO) for the

generation of acceleration/retardation profiles,

real-time counters for interrupt generation,

multi-channel A/D convertor for general monitoring tasks,

10 digital TTL output lines, - 122 -

PROPOSALS AND ARCiilTECTURE OF THE MICROCOMPUTER BASED CAD/CAM WORKSTATION

10 digital TTL input lines, and a

IEEE 488/1978 bus interface.

Hardware specification of the spindle controller

MC 68B09 microprocessor,

closed loop velocity servomechanism control,

spindle motor power control via motor current control,

10 digital TTL output lines,

10 digital TTL input lines, and a

IEEE-488/1978 bus interface.

Hardware specification of the axis controller

MC 68B09 microprocessor,

closed loop position servomechanism,

24-bit interpolation,

DC servo motor current control,

10 digital TTL output lines,

10 digital TTL input lines, and a

IEEE-4S8/1978 bus interface.

The controller cards are all on one PCB performing different functions according to what ICs are plugged in and what software is used. CHAPTER 7

DESCRIPTION OF THE WORKSTATION'S SOFTWARE

7.1 Software Hierarchy

Successful design and development of CAD/CAM software packages on a microcomputer require careful evaluation of

the architecture, capabilities and limitations of the

system. The awareness of these features to the CAD/CAM system designer has been mentioned throughout this thesis.

To summarise, there are three most obvious limitations that are inherent to most microcomputer systems, especially 8-bit microcomputers [33]. They are, firstly, they possess

relatively slow processing speeds compared with minicomputer based CAD/CAM systems. Secondly, they lack software backup from the manufacturer as well as the lack of existing commercially available software packages. And thirdly, they have severe low cost fast-store restrictions. Most 16-bit and a few 8-bit microcomputer systems possess very fast storage devices (e.g. Winchester discs) but often their cost accounts for a large proportion of the system's cost, sometimes more than the cost of the processor unit.

Despite these limitations the author adopted several techniques for minimising these restrictions for the development of a microcomputer based CAD/CAM system. Some of the most important are: - 124 -

DESCRIPTION OF THE WORKSTATION'S SOFTWARE

development of modular software in high and low level

languages to optimise processing speed and software

development times,

utilisation of a powerful operating system,

selection of the most appropriate high-level languages

for a particular operation,

utilisation of intelligent peripherals,

and provide an I/O interprocessor communication

facility to allow two way communication between the

CAD/CAM workstation and the CNC system or host

processors.

As a result of these recommendations the software

packages (described in sections 7.2 to 7.10) were formulated ft not only to be modular but be executed in such a manner as

to optimise the flow of information from the design stage to

manufacture. Since the process of product design and

manufacture is a systematic one following a standard design

sequence, whereby first the design is formulated, analysed

and then the cutter path movements generated followed by the

# machining operations. The sequence of the CAD/CAM software

must adhere to it. However, it does not necessarily imply

that all the packages should be resident in memory at the

same time during the various stages of the product design. - 125 -

DESCRIPTION OF THE WORKSTATION'S SOFTWARE

Thus, in order to minimise on-board storage the software

packages were sub-divided into three main classifications:

1. Creation and visual display programs.

2. Cutter path derivation and simulation programs.

3. Part program generation programs.

The sub-division of the software packages into the above

mentioned classifications permits quite large scale CAD/CAM

programs to be developed on microsystems.

The inter-relationship between the CAD/CAM packages is

illustrated in Fig. 7.1. It is clearly visible that they are

executed sequentially. This has two major advantages.

Firstly, optimising the use of the on-board memory by minimising overlaying operations. And secondly, individual packages can easily be modified or expanded, due to modularity.

The various packages which constitute to the CAD/CAM workstation's software are the CREATE, EDIT, DISPLAY,

PLOTTER, DESIGN ANALYSIS, CUTTER PATH DERIVATION AND

SIMULATION, and PART PROGRAM GENERATE PACKAGE.

A brief description of their responsibilities and interactions is hereby presented so that an overall concept be attained before a detailed description of the individual packages is presented. - 126 - i

BEGIN

V input via keyboard

EDIT PACKAGE CREATE PACKAGE Backup Storage

f DB format

PLOTTER PACKAGE DISPLAY PACKAGE

w DB format

CAD/CAM WORKSTATION RESIDENT PROGRAMS

DB format

COTTER PATH DERIVATE AND SIMULATION PACKAGE

CU)ATA format

PART PROGRAM GENERATE PACKAGE J

interprocessor V 7 high level oanmunicatian machine tool bus language format

INTERPRETER

MACHINE TOOL

> NC RESIDENT NC camiands

I CFINISHE D COMPONENT j

FIG 7.1 MACRO INTER-PACKAGE COMMUNICATION DIAGRAM 127 -

DESCRIPTION OF THE WORKSTATION'S SOFTWARE

The design to manufacture sequence initiates either

from a sketch being prepared of a new design or the

recalling of an existing design from disc. If a new product

is to be manufactured then its geometrical and technological

information is entered via the keyboard. It is then encoded

by the CREATE package and stored in the DB. Up to four orthographic views of either the product or its individual components are displayed. The component can then be geometrically edited or a hard copy obtained via the PLOTTER package.

During these initial design stages at least three and possibly four packages are memory resident simultaneously.

They are: CREATE/EDIT/DISPLAY

or CREATE/EDIT/DISPLAY/PLOTTER

Subsequently only one or possibly two packages are memory resident at any instant in time during the design analysis and the cutter path generation stages.

Having stored the geometrical and technological information regarding a product it can then be analysed by the DESIGN ANALYSIS package for its mechanical properties

(section 7.6). This is then followed by the derivation and simulation of the cutter path locus. The tools and materials are selected from tooling and material libraries. The output is the generation of a CLDATA file. Subsequently, the PART

PROGRAM GENERATE package converts the CLDATA file from an integer binary format to an ASCII format and transmits it directly to the NC system for machining. 128 -

DESCRIPTION OF THE WORKSTATION'S SOFTWARE

7..2: The CREATE package m The CREATE package is responsible for the interactive

creation, storage and general management of data within the

^ system's database. The Motorola 6809 assembly language was

used for the development of this package. A low level

language was utilised due to its speed and ease in

interacting with the workspace, which resides in RAM. Memory ft management, data and record decodings require very fast

execution times and are only possible with assembly language

programming on micro and minicomputer based systems. ft

The main disadvantage of low level language

programming, as discussed in Section 5.2, for software

development is its lack of transportability between two

heterogeneous computers. Due to the phenominal rate of

progress of the electronic industry, structured high level

language programming should be adopted so that the ft workstation's hardware can be kept abreast with the latest

technological hardware developments, requiring the minimum

amount of software modifications. For certain applications

where low level language programming is unavoidable the

software should be developed in a modular structure so as to

minimise the regeneration time on other makes of CPUs. DESCRIPTION OF THE WORKSTATION'S SOFTWARE

7..2.1. Database Structure

Whatever the shape or size of the CPU successful

implementation of a CAD/CAM system depends in part upon the

successful design structure of a database. It could be

envisaged as the heart of the software aspect of a CAD/CAM

system. The database should contain all the information

pertinent to the design and manufacture of the product.

Furthermore, by employing a single common DB, whereby the

information is stored in a compact and logical form, various departments within the industry can easily and methodically

access the one DB. These departments range from draughting offices, production planning, inventory control and stores to marketing and even sales.

Several sophisticated CAD/CAM DB structures exist

[13,14,34] but they do not yet involve the integration of several departments. Consequently, a CAD/CAM DB structure was devised in conjunction with Pak [9] which had the characteristics mentioned above. One of the problems inherent with most microsystems is their limited size of direct addressable main memory. This implies that for a dedicated CAD/CAM system the DB structure must be very compact. To cater for system expansion the DB must also be modular and expandable so that it can handle 2D, 2£D and 3D geometries. Since the geometrical and technological information of the product is stored within the DB the geometrical dimensions must be stored with a precision at least equal to the appropriate NC machine tools' resolution. - 130 -

DESCRIPTION OF THE WORKSTATION'S SOFTWARE

This does, however, invoke a storage problem. Consider

^ the resolution of a machine tool to be 25 ym then in an

integer word size (2 bytes), the largest positive or

negative number than can be stored is ±32767, a linear

representation of only approximately 8cm. For the majority ft of engineering applications this is too severe a

restriction. Consequently, either double precision notation

(i.e 1 integer = 4 bytes) has to be adopted on an 8-bit

* microcomputer, an 16-bit computer employed, or floating-

point routines utilised throughout the computations.

On the current M6809 8-bit microsystem double precision

programming would have invoked the use of assembly language

for all the software packages. Not only would this have been

very time consuming and tedious but it would not have ft justified itself in a dedicated commercial CAD/CAM system.

The use of floating-point arithmetic throughout the

computations would have resulted in three shortcomings. ft Firstly, in the unnecessary development of complex assembly

language routines. Secondly, the workspace allocation would

need to be, at least, doubled. And finally, floating-point

# arithmetic would have resulted in arithmetical computations

being performed approximately five times slower than

equivalent integer arithmetic computations. Consequently,

the developed software used an integer word size of 2 bytes

which was compatible with all the high-level languages. As a

result of using a 2 byte format components of dimensions

less than 8cm can be manufactured to a resolution of 25ym

with this system. - 131 -

DESCRIPTION OF THE WORKSTATION'S SOFTWARE

The design of the DB required evaluation of the three

fundamental data management techniques namely: sequential,

random and list [35]. Sequential data organisation (Fig.

7.2) have matching physical and logical storage

requirements, permitting rapid access to the next logical

record in the file. Random data organisations (Fig. 7.3) are

characterised by rapid access of data based on a key

indicating the location of the data on the storage .media.

List organisations (Fig. 7.4) divorce logical relationships

from the physical storage mechanisms by means of pointers, permitting data records to efficiently take place in multiple-relationship files. These three fundamental data organisations form the basic foundations for the development of more complex structures.

The DB structure deviced is a compromise solution based on three levels of hierarchy and at present mainly caters for 2^-D geometries. Expansion of the 2^D DB to a full 3D DB is discussed in section 7.2.2. The structure of the DB is illustrated in Fig. 7.5 and represents a simple way of storing data [36]. Hierarchical configurations represent an ideal way of representing information which itself is not centralised.

The hierarchical structure falls into three main categories:

Product Specification Record

Component Specification Record

Primitive Record - 132 -

FIG. 7.2 ILLUSTRATION OF A SEQUENTIALLY ORGANISED DATABASE

KEY LOCATION

COMP A 0010 ft COMP C COMP B 0100 COMP C COMP C 0050

ft DICTIONARY LOOK UP

FIG 7.3 RANDOM ORGANISATION DATABASE

Location of Location of 1st Record 2nd Record 10^ 20 ^ 14 57

20 14 57 0 ft

COMP A COMP B COMP C COMP D ft

FIG. 7.4 LIST ORGANISATION DATABASE Product PRODUCT LEVEL Specification] HIERARCHICAL LEVEL 1 Record

lst Nth Component Component COMPONENT LEVEL Specification] Specification) HIERARCHICAL LEVEL 2 Record Record

PRIMITIVE LEVEL HIERARCHICAL LEVEL 3 0 0

FIG. 7.5 A THREE LEVEL HIERARCHICAL DATABASE STRUCTURE EMPLOYED IN THE CAD/CAM SYSTEM 134 -

DESCRIPTION OF THE WORKSTATION'S SOFTWARE

The Product Specification contains information pertinent to

the managerial aspects associated with the product such as

the customer's name and address, materials, contract numbers

and delivery dates. The Product is then sub-divided into

several Components, each one representing information

required to manufacture it from a single machining process

to a complicated sequence of several machining processes.

The lowest level of the hierarchical structure represent

Primitives which are a collection of geometrical attributes such as lines, taps, cylinders and threads which completely define the geometry of the component concerned. The entire product DB once created can be stored as a data file on disc(s) under an 8 character name, e.g. CAMSHAFT.

Each record comprises of two fields, namely, the

Descriptive Field and the Data Field. The Descriptive Field is created in order to convey to the database management program and application programs information regarding the record's type and internal linkages. The Data field, on the other hand, is formed from names, numbers and flags in order to convey geometrical and technological data related to the record.

Fig. 7.6 illustrates the elements and their storage structure within the Product Specification Record. The

Product Descriptive Field, at present, comprises of three elements occupying a total of four bytes. Their description being: - 13b -

0 1 2 3 4 PRODUCT DESCRIPTIVE FIELD PROCODE TCNUM PDFL (MSB) PDFL (LSB)

11 12 TECHNOLOGICAL 4 DATA FIELD PRODNAME (7 bytes) MANPROD 4

12 13 14 is 16 1 7 MANAGERIAL Customer's Customer's Date Required DATA FIELD name code address code (day) (month) (year) CUSTNC CUSTAC DATEDY DATEMT DATEYR

17 20 PDFL Estimated date of completion and dispatch Additional information (day) (month) (year) stored in ASCII EDCDD EDCDM EDCDY (eg contract no)

Notes PDFL = Product Data Field Length (Default = 16) MANPROD = Manufacturable Product (Boolean)

FIG. 7.6 PRODUCT SPECIFICATION RECORD

COMPONENT DESCRIPTIVE CCNUM CCDBN FIELD

COMPONENT. CODE (COMPCODE) 3 10 11 TECHNOLOGICAL 4 DATA FIELD COMPNAME (7 bytes) MANCOMP 4

1 1 13 14 16 MANUFACTURING Number of DATA FIELD CDFL MATERIAL CODE Components Required

16 1 7 19 20 CDFL+1 Date Required Component machined in (day) (month) (year) house?

Notes CDFL : Default = 9

FIG. 7.7 COMPONENT SPECIFICATION BOARD - 136 -

DESCRIPTION OF THE WORKSTATION'S SOFTWARE

PRODCODE The product code element identifies the

record as a product specification code and

occupies one byte.

TCNUM This element represents the total number of

components within this product.

(1 ^ TCNUM ^ 127).

PDFL The product data field length element

specifies the length in bytes of the Data

Field. It has a default value of 16 and a +16 maximum value of 65535 (i.e. 2 - 1).

The Data Field is sub-divided into two classifications,

namely the Technological and the Managerial Data Fields. The

Technological Data Field consists of:

PRODNAME Name of the product as a 7 digit ASCII

character string, occupying 7 bytes.

MANPROD This element represents a boolean flag (i.e.

true or false) of whether the product is

manufacturable or not. For pure graphics

exercises whereby the product is created for

visual analysis and not for manufacture this

flag is set to false.

The Managerial Data Field contains information regard ing the managerial aspects associated with the product. The - 137 -

DESCRIPTION OF THE WORKSTATION'S SOFTWARE

customer's name and address codes occupy one byte each ft whereas the date required and the estimated date of

completion and dispatch occupy three bytes each.

The Component Specification Record is illustrated in

Fig. 7.7 and is similar in structure to the Product

Specification Record. The three elements of the Component

Descriptive Field are: ft

COMPCODE This element identifies the record as a

component record and occupies one bit of ft memory.

CCNUM The remaining 7 bits of the first byte

specify the current component number.

CCDBN The total number of data bytes of this

current component is represented by this

element.

The Technological Data Field is similar to the corresponding

product's data field except that it contains information

regarding the component. The Manufacturing Data Field

contains the managerial and technological parameters

associated with the component. Its elements are clearly

indicated in Fig. 7.7 and are self-explanatory.

The Primitive Specification Records have variable

length data fields determined by the geometry of the - 138 - i

PRXCODE

2conditional3

fieldiptivs FF™ PICODE sybnum

Data Field variable length

FIG.. 7.8(a) PRIMITIVE SPECIFICATION RECORD

PICODE

MSBIT LSBIT -—3?

PEN FLAG PEN no. LI tfe RECpRD (Up/Down) TY ?E TYPE

dimension flag

RECORD TYPE 0 line 1 symbol 2 label

LINE TYPE 0 - solid 1 - broken 2 - chained 3 - long chained

Up to four pens may be specified for plotter.

+ Dimension flag indicates whether a primitive record is a physical record or a dimensioning record.

FIG. 7.8(b) IDENTITY CODE FOR PRIMITIVES \ - 139 -

DESCRIPTION OF THE WORKSTATION'S SOFTWARE

Primitive., Fig. 7.8. The descriptive field consists of the ft following elements:

PRIMCODE Analogous to the COMPCODE this element

identifies the record as a primitive. It also

occupies one bit of memory.

CCNUM as before

PICODE The Primitive Identity Code comprises of

various flags which define the primitive's

structure , Fig. 7.9.

SYMNUM This element represents the symbol number

associated with the primitive. Up to 255

symbols can be allocated in this single byte

element.

The Primitives, their input definition repertoires and their

internal computer representation are discussed in section

7.2.3.

7.2.2 Description of a 3D database

Apart from the symbol LINE, the current DB is capable

of representing 2\ Dimensional Primitives. Expansion of the

current 2§D DB to a full 3D DB would require at least a

three fold increase in the size of the DB workspace. The - 140 - i

1 BYTE

LEVEL LINETYPE RECORD TYPE DIMENSION PEN UP/DOWN

ft

Default Values: Pen down (O) Dimension off (O) Solid linetype (O) Level (O) Record type : Line (O)

Linetypes: Solidline Dashline Dottedline Chainline

Recordtypes: Line Symbol Macro Label

FIG. 7.9 ICODE STRUCTURE - 141 -

DESCRIPTION OF THE WORKSTATION'S SOFTWARE

inherent complexity of the 3D geometrical representation ft over the 2$D representation (Fig. 7.10) would also demand

very fast, high precision and floating-point arithmetic

computations for interactive CAD/CAM operations. These

requirements would definitely be beyond the interactive

capabilities of an 8-bit microsystem. Thus, the use of a

much more powerful system is required. The earlier

discussion and proposals of a CAD/CAM system (Chapters 4, 5 ft and 6) would certainly fulfil this requirement. Thus, on the

present 8-bit microsystem a 2^D DB was utilised which would

certainly fulfill the requirements of a large section of the

» industry. However, if a full 3D DB is required then the

facilities of at least a 16-bit microsystem is requested.

Modularity of the current 2xD DB enables easy upgrading to a

^ full 3D database.

7.2.3 Description of the CREATE modules

The database forms an integral part of the CREATE

package. The general management of the database is the

responsibility of the CREATE package. In order to facilitate

system expansion the software was divided into four modules:

command line interpreter

database management routines

vocabulary table

command syntax decoder. Internal Graphical Computer Database Representation Representation Storage Locat ions

I byte I byte I byte 2 bytes 2 bytes

2] D 2 bytes

ICOOE SYMNUM PLAHB DIAMETER LENGTH RIGHT

CYLINDER

I byte I byte 6 bytes 2 bytes 2 bytes 12 bytes

IX bytes 3 D

1C0DE CENTRE DIAMETER TRUE LENGTH DIRECTION COSINES COORDINATES OF AXIS

1 byte I byte 2 bytes 2 bytes 2 bytes 8 bytes 2 id 0 Icode SYMNUM LENGTH(X) WIDTH(Y) HEI CUT(Z)

RECTANGULAR BOX

I byte 1 byte 2 bytes 2 bytes 2 bytes 12 bytes

3D 20 bytes

Tcode SYMNUM True Length True Width True Height Direction Cosines

FIG. 7.10 INTERNAL COMPUTER REPRESENTATION OF TWO COMMON SYMBOLS IN 21D AND 3D DESCRIPTION OF THE WORKSTATION'S SOFTWARE

A simplified illustration of the flow of information

within the CREATE package is presented in Fig. 7.11. The

input command is stored in the command line buffer and

compared against the vocabulary table for a match by the

command line interpreter module. If a match exists,

indicating a valid command, then it is coded from an ASCII

line buffer format to a database format. Subsequenti.al.ly, it

is stored within the DB by the DB management routines module. The DISPLAY package is then called as a subroutine

to display the command either in an alphanumeric or a graphical form as appropriate. If a product has already been created then it is recalled from a disc file, decoded by the command syntax decoder and displayed.

The SWT workstation's memory map is illustrated in Fig.

7.11a. The size and memory position of the CREATE/EDIT packages, the workspace, the utility area and the operating system are illustrated.

Appendix A describes the input repertoire of the CREATE package. The DB organisation of the Primitives for 2iD geometries is illustrated in Appendix B. The mode of input of the commands is illustrated in Chapter 8, where two very different products are illustrated and the various stages from the design stage to the final manufacture is presented. - 144 - i

Begin

Idle State

/"'Command ^s No Entered? v

Design Already Exists on Disk

Input geometrical and technological information via keyboard

Load product from disk into workspace

Information stored in command line buffer

Command line interpreter Vocabulary compares line buffers contents with vocabulary table . I (Tabl e

Call Command Syntax Decoder

Convert command from an ASCII format to a binary database record format and store in record buffer and then in workspace

Call DISPLAY package to present an alphanumeric/graphic visualisation of the command

FIG. 7.11 SIMPLIFIED MACRO COMMUNICATION DIAGRAM OF

INFORMATION WITHIN THE CREATE PACKAGE - 145 -

$ FFFF I/O PORTS $E000 Disk Drivers $DEOO FMS $D400 DOS $CCOO System Files Area ft $C9 80 System FCB $C840 Scheduler and Printer Spooler $C 700 ft Utility Command Area $C100 System Input Buffer $C080 System Stack Area $C000 ft

Workspace $B900 Record Buffer $B89C ft CREATE & EDIT packages $A200 CREATE storage cells & scratch memory $A000

1ft

User RAM $0000

FIG. 7.11a SWT Workstation's Memory Map - 146 - i

DESCRIPTION OF THE WORKSTATION'S SOFTWARE

7.3 The EDIT Package

Geometrical and technological data modification is the responsibility of the EDIT package. Like the CREATE package it is written in assembly language. It permits components to be recalled and modified interactively. EDIT is similar to a text editor allowing the user to sequentially step through the Primitives. This results in the rapid detection of geometrical errors. Once the error has been detected, it can be rectified by one of two commands namely, Delete or

Insert. The Delete command erases an entire Primitive record from the DB. The Insert command is used to insert a

Primitive record within the DB, not necessarily at the end.

A flowchart of the EDIT package is illustrated in Fig.

7.12. At present, there are three editing modules namely:

Next module This allows the next sequential

Primitive within the component to be

visually displayed on the VDU via the

DISPLAY package.

Insert module A primitive can be inserted in the

current workspace pointer position by

this module. It calls the CREATE package

as a subroutine to manage the creation

and correct insertion of a Primitive.

Delete module The current Primitive can be removed - 147 - i

FIG. 7.12 MACRO FLOWCHART OF THE EDIT PACKAGE - 14:8 - »

DESCRIPTION OF THE WORKSTATION'S SOFTWARE

from the database by the Delete module.

It relies upon the DB management

routines to perform this task.

Appendix C lists the error messages and their meaning for the CREATE and EDIT packages. DESCRIPTION OF THE WORKSTATION'S SOFTWARE

7.4 The DISPLAY package

DISPLAY is an interactive and modular graphics package responsible for the comprehensive manipulation, interrogation and pictorial representation of components created by the CREATE package [37]. It is highly inter- related with the CREATE, EDIT and the PLOTTER packages. The degree of interdepence can be illustrated by mentioning that neither of these packages could execute without the presence of the others. This feature represents a major asset to the design structure of the workstation's software. It represents an ideal way of performing relatively complex CAD computations on a microsystem.

DISPLAY has been developed in Pascal and executes under a Run-Time System Interpreter. The Pascal software comprises of two packages, a Run-Time System and a Compiler. The

Pascal Compiler, which is written in the subset of the language which it supports, translates the source text into a file of P codes (these are pseudo (P) operation codes for a hypothetical ). They are then interpreted by the Run-Time system.

Fig. 7.13 illustrates the various modules which formulate the DISPLAY package. The Display Command

Interpreter module compares the command against a vocabulary table for validity. If a graphical output is required then the appropriate flags and scale are set by the View and

Projection Interpreter module and the Scaling Transformation Display oarnand interpreter module

Scaling Stop Status module Transformation

view and projection internreter module

Clear Clear Store Redispla - Text Orthogona . Orth- ol display part of Drawaxes view on view fra i labells Qindcwinq Rotation Dlmensiot views ographic o display disk disk views

GRAPHICS DISPLAY MODULES GRAPHICS DISPLAY 8. PLOTTER COMMON MODULES

i Projection Transformation

viev/inq coordinates

Clipping Transformation

visible coordinates

GRAPHICAL OUTPUT

Screen Disk Plotter

FIG. 7.13 MODULAR STRUCTURE OF THE DISPLAY PACKAGE - 151 -

DESCRIPTION OF THE WORKSTATION'S SOFTWARE

modules respectively. The appropriate modules are then

accessed which generate the desired views. The viewing

coordinates are transformed by the clipping algorithm

generating display coordinates. They are then transmitted to

the appropriate display peripheral. The input command

repertoire of DISPLAY is presented in Appendix D. Several of

the modules are discussed below. Many of them are also

common to the other graphical packages, such as the cutter

path derivate and simulation packages.

7.4.1 Orthographic projection

For the graphical representation of the elements of the

database first angle orthographic projection was adopted.

First angle projection is commonly used [38] to present

three views of an object. This is certainly true for machine

drawings. Three views are necessary to define the geometry

of a 3D object. They are:

Top (plan) view, XY plane projection

Front (elevation) view, XZ plane projection

Side (end elevation) view, YZ plane projection

Although in most simple cases the three orthographic views (plan, elevation and side elevation) are usually adequate to describe an object, they only convey a wire- frame view of the object in a two dimensional projection, e.g XY plane. With relatively complex objects consisting of - 152 -

DESCRIPTION OF THE WORKSTATION'S SOFTWARE

several lines and arcs and without the aid of sophisticated

hidden line removal algorithms the representation of an

object on the VDU can often lead to a misconception of the

object. This results from the large amount of lines which

are displayed on a relatively small screen. One way of

improving this communication is by the use of pictorials, or

orthogonal views, which convey ideas clearly and thus reduce

the possibility of visibility errors [39].

7.4.2 Isometric projection

One common pictorial form is isometric projection

whereby a three dimensional view of the object (product or

component) is displayed on a two dimensional surface. This

is achieved by an isometric transformation matrix. Its

derivation is illustrated in Fig. 7.14. It transforms an

orthogonal (X,Y,Z) coordinate to a two dimensional isometric ft display coordinate. The isometric projection is then

displayed in the lower right hand side viewport of the VDU

screen as illustrated in Fig. 7.15.

Besides the conventional isometric axes orientation as

illustrated in Fig. 7.16a (below) a "reverse" isometric axes ft orientation, Fig. 7.16b has been introduced in order to

present an alternative three dimensional view of a component

which has been revolved through 180 degrees. - 153 -

Consider anorthogonal point P with coordinates (X ,Y ,Z ) represented as an isometric coordinate in the XY plane projection.

Then by simple geometry

X 3 X + CX cos30 = X + CX 0,866 I o P - V ° o P ' V *

CX + Y 3 Y + CX + 0 P o p V+ I o. P Yp^inSO • Z = Y0 + 2 Z

x where Xj = ISOMETRIC

YI 3 YISOMETRIC

In matrix notation —

X cos30° -cos30° 0 Xp X I + o Y sin3 0° sin30° 1 Y I YP 0 Z — - - P

Isometric Transformation Translational Matrix Matrix

#

FIG. 7.14 DERIVATION OF THE ISOMETRIC TRANSFORMATION MATRIX 720,360 z.

L x ELEVATION ASID E

720,180 Y 4 X cji u ISOMETRIC PLAN

0,0 180,0 720,0

FIG. 7.15 SUB-DIVISION OF THE HP VDU SCREEN INTO FOUR VIEWPORTS FOR THE FIRST ANGLE ORTHOGRAPHIC PROJECTION AND AN ISOMETRIC VIEW OF A COMPONENT - 155 -

DESCRIPTION OF THE WORKSTATION'S SOFTWARE Z

Fig. 7.16a Conventional Fig. 7.1.6b Reverse isometric

isometric axes orientation axes orientation

The introduction of a second isometric view allows

information to be obtained from the component's geometry which is not easily visible from the conventional isometric axes orientation, Fig. 7.17. The presence of a hidden line elimination algorithm in conjunction with the reverse isometric view feature will undoubtedly lead to a faster and better appreciation of a component's geometry.

7.4.3 The Status module

The status command module allows the user to determine the state of certain display flags as well as the numerical values of the important parameters. These parameters include

ScaleNumber - the current value of the scale, the current component number, and the scaled values of the absolute position of the graphics pen. During the interactive process of component creation and display the status command module can easily be accessed in order to clarify the status of the above mentioned parameters. ISOMETRIC ORIENTATION REVERSE ISOMETRIC ORIENTATION

7.17 COMPARISON BETWEEN ISOMETRIC AND REVERSE ISOMETRIC ORIENTATIONS. ADDITIONAL INFORMATION ABOUT THE COMPONENT'S GEOMETRY CAN BE OBTAINED FROM THE LATTER ORIENTATION - 157 - i

DESCRIPTION OF THE WORKSTATION'S SOFTWARE

7.4.4 Picture manipulation by transformation matrices

The word 'picture' is used here in its broadest sense

to represent a collection of lines, points, curves, text, etc., to be displayed on a graphic device. Computer-aided graphics inherently involves pictures to be manipulated by operations performed on them such as scaling, rotation, hidden line removal, translation and windowing. Many of these operations can be accomplished by using simple linear transformations involving matrix multiplications.

Homogeneous coordinates are very convenient for accomplishing these transformations.

A (4x4) matrix can be used to perform these individual transformations on points represented as a matrix in homogeneous coordinates [40]. When a sequence of transformations is desired, each individual transformation can be sequentially applied to the points to achieve the desired result. If, however, the number of points is large, e.g high precision circles, then the operation is inefficient and time-consuming.

One possible solution is by multiplying together the individual matrices representing each required transformation and then to finally multiply the matrix of points by the concatenated (4 x 4) transformation matrix.

The ability to formulate and manipulate a matrix is an easy task for a high level language compared with a low level language. This is one of the main reasons why graphics - 158 -

DESCRIPTION OF THE WORKSTATION'S SOFTWARE packages (such as the DISPLAY package) are developed in a high level language.

In order to represent a 3D object within the computer the concept of homogeneous coordinates is introduced. Hence a point in 3D space [x y z] is represented by a four dimensional position vector [x y z 1].

The generalised (4 x 4) transformation matrix (T) for

3D homogeneous coordinates is given by:

a b c p

T = d e f q

g h i r

1 m n s

It can be partioned into four separate sections

T = 3x3 3x1

1x3 lxl

The (3 x 3) matrix produces linear transformation in the form of scaling, shearing and rotation. The (1 x 3) row matrix produces translation and the (3 x 1) column matrix produces perspective transformation. The final single element (1 x 1) matrix produces overall scaling.

The (4 x 4) transformation matrix forms the centre - 159 -

DESCRIPTION OF THE WORKSTATION'S SOFTWARE

point of the coordinate transformations for most of the

following DISPLAY modules.

7.4.5 The Scaling Module

Scaling is an essential feature within a CAD/CAM

system. It permits the absolute values of the workpiece to be stored in the database without worrying about the size or

the resolution of the output device. Primitives are accessed and decoded into a graphical form from the database and are scaled before displaying. A scaling transformation is used to scale dimensions in each coordinate dimension separately:

sv 0 0 0 X

0 Sy 0 0 NEW • [ hold 0 0 Sz 0

0 0 0 1

SCALING TRANSFORMATION

MATRIX

Each (X,Y,Z) coordinate is allocated two bytes for storage. Consequently, the largest positive or negative integer that can be stored in a two byte format is

(127 x 256) + 255 = 32767.

0111 1111 1111 1111 2 byte coordinate

Hexadecimal Value: 7F FF

Decimal Value : 127 255 - 160 -

DESCRIPTION OF THE WORKSTATION'S SOFTWARE

For a four view orthographic projection only one

quarter of the VDU screen is allocated to each view. This

implies that the screen resolution for each view is

360 x 180 pixels. Thus, to display a component of length

32767 units the default scale factor is set to:

Default Scale Factor = 32767 = 180

180

therefore Default S = S = S = 180 x y z

7.4.6 The Rotation Module

Graphical visualisation of an engineering part relies

upon the ability to represent, or display a 3D part.

Furthermore, the ability to rotate, translate and project

views of that part is also, in many cases, fundamental to ft the understanding and verification of its shape.

Fast on-line rotation of the workpiece requires very ft ... fast arithmetic routines. On an 8-bit microsystem arithmetic

processing in software is rather slow for interactive

applications. Consequently, hardware arithmetic processors

It should be utilised for such operations. Having said that,

one of the major drawbacks of most high level language

compilers and interpreters is their reluctancy to allow

hardware arithmetic processing units to be implemented.

Thus, without resorting to special purpose microsystems \ - 161 -

DESCRIPTION OF THE WORKSTATION'S SOFTWARE

often one has to compromise and bear with arithmetic to be.-

performed in software.

One way to speed up the arithmetic computations is by t performing as much computation as possible off-line and then

using this result as a operand. For operations requiring

matrices manipulation off-line concatenation techniques

should be adopted to economise on storage as well as % execution time. For rotation this technique is illustrated

below.

Rotation of an object about an arbitrary axis in 3D

space involves translating the object about the desired axis

of rotation so that the rotation is made about an axis

passing through the origin of the coordinate system. The

method involves a 3D translation, a rotation about the

origin and a translation back to the initial position.

4 In matrix notation,

[X Y Z 1] = [x y z 1] [T] [R] [T] —L,-M,-N ZYX L,M,N

* where (X,Y,Z) represents the transformed coordinates,

(x,y,z) represents the original orthogonal

coordinates,

• [T] represents the translational matrix of the -L, -M, -N object to the origin of rotation,

[Rl represents the rotational matrices, ZYX [T] represents the translation back to the L, M, N initial position. - 162 -

DESCRIPTION OF THE WORKSTATION'S SOFTWARE

-1 In simplistic terms, [X Y Z 1] = [x y z 1] T Rz Rx T

Using the convention that angles are measured

clockwise when looking along the rotation axis towards the

origin we obtain:

COS Y •sin y

Rz = sin y cos y Rotation about the z-axis 0 0

0 0

COS sin

0 ry = 0 Rotation about the y-axis -sin cos

0 0

0 0

RX = sin a -sin a Rotation about the x-axis

sin a cos a 0 0

COS0 COSY -cosa siny + sina sinB cosy sina siny + cosa sinB cosy 0 cosB siny cosa cosy + sina sinB siny -sina cosy + cosa sinB siny 0 ft Thus Rz RY RX = -slnB sina cosB cosa cos 8 O O O - 163 -

DESCRIPTION OF THE WORKSTATION'S SOFTWARE

This can be represented as:

A D G 0

RZ RY RX " B E H 0 C F I 0

0 0 0 1

A D G 0 -1 Hence TRg Hy T B E H 0

C F I 0

L M N 1

where L = - T B "V Y ' Z X M = -TXD - TyE •Z1

N = -TXG - TyH

Thus a transformed coordinate is represented by the following computations:

X =- Ax + By + Cz + L

Y = Dx + Ey + Fz + M

Z = Gx + Hy + Iz + N

This final concatenated solution is used to transform an orthogonal coordinate which is then projected onto the three orthographic planes, Fig . 7.18. FIG. 7.18 PROJECTION OF ORTHOGONAL (ROTATED) COORDINATES ONTO THE THREE ORTHOGRAPHIC PLANES - 165 -

DESCRIPTION OF THE WORKSTATION'S SOFTWARE

7..4.7 Dimensioning of engineering drawings

Engineering drawings or working drawings are an essential part of the design process. They provide a means of communication between the various departments within an

industry as well as between the industry and the customer.

Conventionally, this inovolved, and in certain cases still does, the experiences of draughtsmen to prepare such drawings. However, with the rapid implementation of the computer as a design aid more and more drawings are being produced by the computer. This obviously results in manpower, time and cost economies. Furthermore, the amount of drawings produced on paper is diminishing as more and more are being stored on magnetic media.

One of the time-consuming aspects of engineering drawing production is the amount of time taken to fully dimension a drawing. This process should be computer- assisted and in some cases fully computer-controlled.

In the current version of the DISPLAY package a computer-assisted dimensioning feature is implemented. In order to dimension a component (Fig. 7.19) the graphics cursor is used to digitise three coordinates (X-^Y^),

(X2,Y2) and (X3,Y3). The first two digitised coordinates represent the length of the dimension line while the third point defines the distance between the component and the dimension line's extremity. After the dimension lines have been displayed the graphics-cursor is automatically - 166 -

"3 3'

Case (a) Vertical Dimensioning

(X2Y21

rX2Y2) (X^ l (xiV

Case (b) Horizontal Dimensioning

FIG. 7.19 EXAMPLES OF DIMENSIONING WITHIN THE DISPLAY PACKAGE - 167 -

DESCRIPTION OF THE WORKSTATION'S SOFTWARE

positioned at the centre of the dimension line for text

labelling. The text orientation is automatically selected by

the computer according to the geometry of the three

digitised points.

7.4.8 Clipping and Windowing Modules

In graphics applications the process of displaying only

a part of the complete picture database is called windowing.

In general there are two types of windowing - clipping and

scissoring. Clipping involves determining which lines or

portions of lines in the picture lie outside the window

boundaries, called a viewport. Those lines or portions of

lines are then discarded and not displayed. In the

scissoring technique, which is not used here, the display device has a larger physical drawing space than is required.

For some applications, as in this case, where hardware clipping is not available, software clipping must be employed. Several clipping algorithms exist [40] and the one

implemented within the DISPLAY package is one invented by

Dan Cohen and Ivan Sutherland [40]. It is a simple algorithm which is designed not only to find the endpoints of the portions of lines which are partially visible but also to reject even more rapidly any line that is clearly invisible.

The algorithm consists of two parts. The first determines whether the line lies entirely on the screen and - 168 -

DESCRIPTION OF THE WORKSTATION'S SOFTWARE

if not whether it can be trivially rejected as lying

entirely off the screen. If it satisfies neither of these

tests, then it is divided into two parts, and these two

tests are applied to each part. The algorithm depends on the

fact that every line is either entirely on the screen or can

be divided so that one part is trivially rejected.

The VDU screen is either subdivided into four viewports

for the visualisation of four orthographic views, or is

utilised as a singleview viewport. In the singleview mode

the entire screen becomes the viewport and a single view of

the component is displayed. Clipping and windowing are then performed on the viewport(s). In the singleview mode the viewport is made to coincide with the whole of the screen to take full advantage of the maximum screen area and the VDU's limited resolution.

Windowing is an operation whereby a portion of the entire picture can be displayed in greater detail. This involves the specification of a scale factor and translation to be applied to the picture. The transformed picture is then displayed within the specified viewport. Fig. 7.20 represents the flowchart of the windowing module. The window size is determined by digitising two points (X^, and

YW2^' they being the coordinates of the leading diagonal of the window. The current scale value is temporarily stored and the desired viewport cleared, i.e. all pixels set to zero. The new scale is determined by: - 169 -

BEGIN

Set (X^ , ) ,

Store Current Scale

Yes

Check View Clear Entire Display

Clear that Viewport

Check View

Abort all other viewports

Draw and label axes Label Plane

CX X New Scale =» Old Scale * W2 " wk 360

Let WSF = 360 ABS( ~ ^wi ^ Viewports Left constraint = X*,, * WSF W1 Viewports Right constraint = X. WSF W2 Viewports Bottom constraint = YW1 * WSF Viewports Top constraint = Y^ * WSF

Read Primitives from Database 'db coordinates Clip lines against viewport boundaries 'db coordinates

Translation to screen coordinates 'display coordinates

Display Line

inishedN k Restore Old Scale END No

7.20 FLOWCHART OF THE WINDOWING MODULE - 170 -

DESCRIPTION OF THE WORKSTATION'S SOFTWARE

New Scale = Old Scale * (XW2 - X

360

where the length of the viewport is 360 pixels.

The clipping viewport constraints are then computed and each line clipped against these constraints. The clipped database coordinates are then translated onto the appropriate viewport. Two examples of windowing are illustrated in Fig.

7.21 where the plan and the side elevation views are windowed. FIG. 7.21(a) AN EXAMPLE OF WINDOWING OF THE PLAN VIEW

FIG. 7.21(b) AN EXAMPLE OF WINDOWING OF THE SIDE ELEVATION - 172 -

DESCRIPTION OF THE WORKSTATION'S SOFTWARE

7.5 The PLOTTER Package

The PLOTTER package communicates directly with the multi-microcomputer based flatbed plotter via a standard

RS232 communication bus. The PLOTTER package is sub-divided into two distinct modules. The first, written in Pascal, is responsible for the transformation of the characters from their default size and orientation. The second module, written in assembly language, contains the ASCII character generation set in software. It is also responsible for the transmission of data to the plotter for the production of graphical hard copies of the Product/Component in first angle orthographic projection as well as rotated 3D views.

Due to the limited resolution (720 x 360) of the VDU screen high resolution plotter hard copies can be used for the verification of the component's geometry as well as NC cutter paths. A flowchart of the PLOTTER package is illustrated in Fig. 7.22. Initially the views which are desired on the plotter are selected together with the desired paper size A2 or A4. The input command repertoire of the PLOTTER package is very similar to that of the DISPLAY package and is presented in Appendix E. Having verified that the command's syntax is correct, by cross-referencing against the input command vocabulary table, the appropriate view flags are set. If the axes, as visible on the VDU screen, are required then they are plotted on the plotter.

The plotter scale is adjusted so that the VDU screen direcly coincides with the selected paper size. - 173 -

Select size, aspect ratio, angle of inclination and slant parameters

Set appropi•iat e flags

Enter chlaracte r to be pilotte d

Determine starting address of character generation routine from character index table

Character vector Determine next transformation routine vector of the character from the dictionary - 174 -

DESCRIPTION OF THE WORKSTATION'S SOFTWARE

The software character generation set consists of 85

ASCII characters defined in a 50 x 70 matrix. The character generation set consists of a dictionary, containing the number and description of the vectors which formulate the character, and an index table. The index provides a fast look-up table where the starting address of the character within the main dictionary can be found. Another major

.advantage of a dictionary and an index table is the ability to easily .expand the character set. Although, at present, only the conventional ASCII characters are implemented additional useful characters and symbols, e.g. Greek and mathematical, may justify themselves to be implemented.

Some additional features implemented within the

PLOTTER package are:

text slanting, i.e. italics;

text orientation - writing text at an angle of

inclination to the horizontal. The range is 0 to 360

degrees;

variable character aspect ratios;

variable character size;

software selection of the plotter pens. - 175 -

DESCRIPTION OF THE WORKSTATION'S SOFTWARE

7.,6 The DESIGN Analysis Package

The design of an engineering part almost always

involves the determination of its structural properties.

This stage in the design cycle is known as the 'Expansion of

Information' whereby a detailed design analysis of the part is performed, as mentioned in Section 2.2. This final quantification of the part means establishing its physical dimensions, its behaviour and response in the various operating conditions to which it may be subjected.

The ability to compute these parameters relies heavily on the geometry of the part and whether a suitable model can be formulated. Often, for complex geometries, especially three-dimensional, finite element techniques have to be approached. For relatively simple geometries, such as turned parts, design computations can be easily handled by the low cost computers.

DESIGN is such a package. It is written in Pascal due to the mathematical nature of the design analysis subject.

It is responsible for the on-line computation of the following parameters for turned components only:

1. Mass

2. Volume

3. Centre of gravity (centroid)

4. Total circumferential surface area

5. Moment of inertia about the major axis - 176 -

DESCRIPTION OF THE WORKSTATION'S SOFTWARE

6. Radius of gyration about the major axis

7. Equation of the major axis (centreline)

Presently, only the above mentioned seven parameters are evaluated for each primitive as well as for the entire component. However, it is proposed that this package be expanded and another package developed capable of analysing milling components. This is discussed in Chapter 10 in future work.

Besides the computation of the above mentioned geometrical parameters, two common engineering design cases are implemented. They are:

1. Given a known direct pull force determine:

(a) the stress, strain and elongation of

each Primitive,

(b) the total extension of the component.

2. Given that the maximum stress induced in the

component when loaded axially in tension is a* ,

determine the axial load and the total change in

length of the component.

The integration of the two specific design cases within the DESIGN package is illustrated in Fig. 7.23. Section 8.1 illustrates in detail the sequence of events within the

DESIGN package. A summary is presented below. BEGIN

Set scale value

Display component in 1st DB angle projection and isometric view

Select Design Case (A or B)

Materials Select material from archive Archive

Reinitialise data base pointers

Access next DB primitive from DB

Compute and Accumulate values of Moment of Inertia of Primitive about the axis (I) Compute centre of gravity of and its circumferential entire component by surface area (A) y ZWx pZvx Zvx * 3 IF" " plv~ " Xv~ ZWy Zvy Computer the centre of gravity ZW Zv (x,y,z), volume (v), stress, ZWz Zvz strain and elongation (e) of Z = iw each conical primitive Zv and graphically display (X,Y,Z) on all views

t r Yes

Total Volume, V = Zv Radius of gyration of component Total Mass, M = pV Total Circumferential = A • Z1 r m Surface Area

1 Total elongation = Ze

f Print design dcit a on disc

END

FIG. 7.23 MACRO FLOWCHART OF THE TURNING DESIGN

ANALYSIS PACKAGE - 178 -

DESCRIPTION OF THE WORKSTATION'S SOFTWARE

DESIGN is a two pass package. The first pass involves

the accession of the DB, the decoding and display of the geometry in the four view first angle projection supplemented with an isometric view. The second pass

involves the accession of the geometrical attributes of the

Primitives from the DB in order to compute the values of the design parameters such as mass, volume, etc. Fig. 7.24 specifies the valid turning Primitives and the mathematical formulae used to evaluate the parameters. Computation of the relevant stress, strain, elongation and axial load parameters is performed according to the selected design case. The results can then be manipulated in one of three ways:

1. Display them alphanumerically on the VDU

2. Output them to the printer

3. Store them in an ASCII format on a disc file.

Upon completion of the analysis of the individual

Primitives the results are then collaborated for the entire component and presented in one of the above mentioned three ways. Collaboration often involves numerically summing up the individual elements. However in some cases they require more complex manipulation. For example, the moment of inertia and the centroid of a composite body require the manipulation of several parameters as illustrated in

Appendices F, G and H. ft m m TURNING GRAPHICAL VOLUME CENTROID TOTAL CIRCUMFERENTIAL MOMENT OF INERTIA RADIUS OF GYRATION PRIMITIVE DESCRIPTION (v) Cx) SURFACE AREA (A) ABOUT ITS AXIS (Ix) ABOUT ITS AXIS (kty

« L 2 2 L uDL D D \ _ |D L PV 2 8 2/2 CYLINDE R

* * * * L r

2 (D1 + D2) L (D. + D?) 2 D + D )L PV j cd, • d2) l 2 1 < 1 2 32

THREA D 4/2

K it * * * L. 2 2 2 d L -D arL2XD1 + D2) (D + D )2L - ID4 L rr " T6 l 1 2 2 71(0^12 + D^ 32 lU1 2 x t, 2 2 / 2(D L2 + D ^^)) pv TA P 2 • 4 D (L1 - L2)] 4 + D2(L] - L2)) + D (L1 - L2)]

fra +

4 3 4 4 H(D - 3D2D + 2D ) 2 /3[(D1+ D2) - DjD2 h D + D } - D1D2(3(D1 + D2) - + D D + D 2) X < 1 2 Tl , 2 2 3 3 2 3(D2 - D^CD - D ) / 10[(D1 + D2) - D^]

- DiD2}] 2 TAPERCYLINDE R * j {3(D1 +D2) -D1D2}]

u l. .

I 2 2 2 2 b, 1 D L - D L 4 4 4 71 D L ' £1 rn i - d l 1 /(D^ ~ D L2) 1 ~- f C°?L1 " °2L2> 1 1 T IU1L1 2 2 I 2 2 2 2 1 2(D L1 - D L2) / 2(D L1 - D L2) HOLLOWCYLINDE R • ' Y KEY: sign convention * approximate value »-x FIG. 7.24 TABLE OF THE CURRENTLY IMPLEMENTED TURNING PRIMITIVES WITHIN THE DESIGN ANALYSIS PACKAGE AND THEIR MATHEMATICAL DESIGN FORMULAE - 180 -

DESCRIPTION OF THE WORKSTATION'S SOFTWARE

7.7 The Turning Cutter Path Derivate TCPDR Package

7.7.1 Requirements from an NC part-programming package

The most critical stage of the design-manufacture cycle is that of the generation and verification of the cutter paths. For an error at this stage can lead to the destruction of the part as well as the machine tool itself.

Conventionally, an NC papertape is generated which contains coded information regarding the tool movements, the tool changes and the machining parameters. The papertape is then loaded onto the machine tool and a dry run performed to check for programming errors. Not only is this time consuming but it is not totally reliable. For example, a depth of cut greater than that permissible by the chosen tool and the material is impossible to detect on a dry run.

Consequently, with the emergence of low cost minicomputers and now microcomputers, it has become economically feasible for small to medium sized industries to utilise such computers to generate and graphically verify part-programs [41]. Furthermore, computers are well suited to handle and manipulate the tremendous amount of mathematical computations required in the generation of detailed machining instructions. This is especially true when mathematically defined configurations, such as curves and surfaces, are involved. Computers are also advantageous for man/machine communication. Human beings both think and communicate in their natural language, which posses the - 181 -

DESCRIPTION OF THE WORKSTATION'S SOFTWARE

problem of reducing natural language to an elemental form

(numerical) which the machine tool control can understand,

This conversion can best be done within a computer, thus

relieving the human of a repetitive type of mental activity.

As discussed in section 1.3 the traditional method of

NC part-programming is via APT.. Although APT is highly

comprehensive it possesses three main severe restrictions.

Firstly, due to its comprehensiveness in dealing with

complex geometries it is large and requires large computers

to be run on. Secondly, the part programmer must have

detailed knowledge of the conventional manufacturing process

and be familiar with the capabilities and functions of NC

machine tools and NC processes. Thirdly, it cannot directly

access a computer database for the retrieval of geometrical

and technological information.

Several universal packages, such as Compact II [42], ft GNC [43] , Polysurf [44] and Surfset [45], were analysed

but it was found that they too possessed the above mentioned

restrictions. Consequently, a design methodology was adopted

to develop a package capable of interacting with the

system's database and which does not require the knowledge

of an experienced part programmer. It had to be interactive ft in order that the operator may investigate several machining

operations, and had to comply with the two NC programming

conceptual realms of:

Positioning, also known as Point-to-Point, and

Continuous Path, or Contouring. - 182 -

DESCRIPTION OF THE WORKSTATION'S SOFTWARE

By incorporating these two programming features the.

task of programming a part would be very much simplified.

Furthermore, absolute and incremental programming features a:r.e vital so that several machining da-turns can be formulated

to ease machining. This is conjunctional with the fact that most machine control units (MCU's) are equipped with a

"floating zero" or "zero shift" which enables the programmer to establish the fixed zero for a particular workpiece in the most convenient location.

There are both marked similarities and differences between Continuous Path and Point-to-Point programming. The bond of similarity shared by the two is the fact that dimensioning is within the framework of rectangular coordinates, as illustrated below in Fig. 7.25.

MACHINE ELEMENT MOVEMENTS X Axis—Table side to side Y Axis—Table fronl to rear Z Axis—Spindle vertically into work

fig. 7.25 typical rectangular coordinates for machine tools - 183 -

DESCRIPTION OF THE WORKSTATION'S SOFTWARE

There must be reference points or planes on the workple.ce

that relate to machine axes in all NC work. There is,

however, one marked difference - interpolation.

Interpolation must be a function of any contouring system

and is the main distinguishing feature that separates

contouring controls from the more simple positioning

controls.

For a dedicated CNC system, such as the one proposed

and implemented in Chapter 6, the task of linear, circular

and conical interpolation should be dedicated to a special

purpose hardware chip. Such interpolation chips do exist

such as the TOKO chip [46] incorporated on the NC milling

machine, described in section 6.3.4. The introduction of

such hardware interpolators greatly reduces the programmer's

task as well as reducing the length of the CLDATA tape.

The above discussion indicates the requirements which

must be inherent within the NC part-programming package.

These requirements were fulfilled by developing two NC

cutter path derivate and simulation packages. The first was

developed for 2D turning operations and the second for 2hD

milling operations.

7.7.2 Description of the TCPDR package

Once the geometry of the component to be machined has been entered, displayed, analysed and stored using the - 184 -

DESCRIPTION OF THE WORKSTATION'S SOFTWARE above-mentioned packages, the cutter path's loci can be generated. The automatic generation of the loci and the machining commands, such as feedrates, spindle speeds and tool changes, are the responsibility of the TCPDR package

[47]. TCPDR requires the following information to generate the loci:

1. Geometry of the component

2. Geometrical and technological parameters of the

blank

3- Geometrical and technological parameters of the

cutting tools(s)

4. Characteristics of the CNC lathe

5. Selection of production criteria.

Fig. 7.26 graphically illustrates the interaction between the above five input requirements and the TCPDR package.

The geometry of the component is directly extracted from the database, while the geometrical and technological parameters of the blank are specified by the user. A library of cutting tools is incorporated within the package where the tools' geometry and material are stored. The tooling library has been designed so that deletion and addition of tools is a very easy task. The characteristics of the CNC lathe as well as the operating limitations for a range of lathes may be stored within a Machine File. Constraints such as the maximum and minimum spindle speeds, feedrates, horsepower, the resolution of the machine tool, the number - 185 -

Component Description Database

Geometrical and Technological Parameters Keyboard Associated With the Blank

Geometrical and Technological Parameters Tooling Associated with Library the Cutting Tool(s)

Characteristics of the Machine Tool Machine File

Keyboard

>— >.

Selection of Production Criteria

Data from experience Machinability| Data

Main part of the TCPDR package

FIG. 7.26 ACQUISITION OF MACHINABILITY DATA WITHIN THE TCPDR PACKAGE DESCRIPTION OF THE WORKSTATION'S SOFTWARE

of axes and tools, and the axes strokes would be stored

within the Machine File. In the current version of the TCPDR

package only the essential characteristics of the CNC lathe

(described in section 6.3.3) are stored. The final piece of

information which must be supplied is the selection of one

or more of the following production criteria [48,49,50].

1. Tool Life. The cutting tool lasts for a specified

period of time.

2. Surface Finish. A specified surface smoothness is

achieved and maintained.

3. Accuracy. Tool deflection and vibration are below

a specified maximum.

4. Power Consumption. Power consumption is

maintained below a specified level.

5. Economic Criteria. A maximum production rate or

minimum cost per piece is achieved.

In an effort to relieve the operator from having to

know so much about the machines' operations, a machinabi1ity

routine has been incorporated within the TCPDR package. This

routine allows the operator to include the above specified

information about the machine tool. With this information

the computer calculates the appropriate feeds, speeds,

number and dimensions of the required roughing and finishing cuts. This alleviates the need for large feed and speed archives, and helps to insure the best part program. (The

term 'operator' is used instead of 'part programmer' to highlight the fact that an experienced part programmer is DESCRIPTION OF THE WORKSTATION'S SOFTWARE

not required to execute the CPDR packages).

The selection of the optimum cutting conditions is

based upon an algorithm devised by Acosta [51]. Interaction

between the operator and the computer is important at this

stage. Allowances have been made for the operator to change

the cutting parameters. Thus, having determined the optimum

cutting conditions the operator can utilise his experience

and modify the cutting parameters. Furthermore, any

recommendation generated by the system is displayed but not

implemented automatically - the user always has the final

control over the machining process.

In order to illustrate the features of the TCPDR

package consider the example illustrated in Fig. 7.27. It

consists of the three primitives, Thread, Cylinder and

TaperCylinder.

The first operation is the sorting of the coordinates

(Fig. 7.28). This ensures that the component consists of turned primitives only and that they are contiguous. The default machining parameters are then displayed graphically as well as numerically as illustrated in Fig. 7.29. The default values are for the current CNC machine tool system with an HSS tool and aluminium. The VDU screen is subdivided horizontally (Fig. 7.29) with the upper portion displaying the status of the machining parameters and the lower portion being used for alphanumeric and graphical display. FIG. 7.27 AN EXAMPLE OF A TURNED PART TO ILLUSTRATE SOME OF THE FEATURES OF THE TCPDR PACKAGE Q Begin^

Read primitives from database and sort out component profile \ coordinates

Subdivide screeen and display default machining parameters on upper portion

Determination of optimum cutting conditions algorithm

Request for blank geometry 00 CD

Check for thread primitives and check for undercuts

If undercuts are present then modify component's profile geometry

FIG. 7.28 MACRO FLOWCHART OF THE TCPDR PACKAGE SCALE COMP NO TOOL NO DEPTH CUT (in) FEEDRATE (in/s) SPINDLE SPEED M/C TIME (sec) 9 11 1.2500E - 01 1.2500E-01 1000 0.0

i

FIG. 7.29 SUBDIVISION OF THE VDU SCREEN FOR ILLUSTRATION OF THE MACHINING PARAMETERS AND THE COMPONENT 191-

DESCRIPTION OF THE WORKSTATION'S SOFTWARE

The geometry of the blank is then requested and displayed. An undercut algorithm checks the geometry and if undercuts are present then a modified component profile is displayed, Fig. 7.30a. Subsequently, if facing is required then the facing tool is selected from the tooling library and the the facing operation simulated, Fig. 7.30b. Having performed the facing operation the next operation is roughcutting whereby excess material is removed at the fastest possible rate according to the machining x criteria chosen. The roughing and finishing tools are selected from the tooling library so that the tool tip offsets (Fig.

7.31), and the machining parameters can be evaluated. The machining parameters (displayed on the upper portion of the screen) are constantly being updated with each machining operation. For example, at all times the system displays the machining time necessary to complete the work to the present point in the machining process. The machining time is calculated using the following formula:

T = L

fN

where T = time in minutes

L = length of cut in inches

f = feed in inches per revolution

N = lathe spindle speed in revolutions per minute

The number of passes and the roughing cycle are then displayed, Fig. 7.30c, followed by the final roughing operation, Fig. 7.30d. During the finish cut operation the - 192 -

Ca) Illustration of the workpiece and blank (b) Facing operation

roughcut passes

Ccl Roughcut passes (d) Final roughing operation

X

Finish tool Undercut tool locus

(e) Finish cut operation (f) Undercut operation

Part-off tool locus

(g) Threading operation (h) Part-off operation

FIG. 7.30 STAGES IN THE MACHINING OF A PART - 193 -

DESCRIPTION OF THE WORKSTATION'S SOFTWARE

spindle speed is increased and the feed rate reduced, Fig..

7.30e.

If the component contains any undercuts then the

temporarily modified geometry must be restored. The undercut

algorithm consists of two distinct parts. The first part is

employed when narrow undercuts are present and can be

machined with a single pass of an undercut tool, Fig. 7.30f.

The second part utilises two tools, a left and a right

handed tool, and is used for wide undercuts.

If threading is to be performed then the threading tool

is selected and the threading algorithm invoked, Fig. 7.30g.

This involves recalling a canned thread cycle. Since

threading represents a complex machining operation the use

of a canned cycle is desired since it allows the computer

rather than the part programmer to decide how operations

should be performed and how they should be coded. The final

operation is parting-off. The tool path is simulated by a dotted line, Fig. 7.30h. This operation is similar to the

facing operation.

The result of the TCPDR package is the generation of a

CLDATA file which contains all the information pertinent to machining. A description of the TCLDATA file is presented in

Appendix I, and the command repertoire of the TCPDR package presented in Appendix J. DESCRIPTION OF THE WORKSTATION'S SOFTWARE

7..8 The Milling Cutter Path Derivate MCPDR Package

MCPDR represents the second of the two cutter-path generation and simulation packages. MCPDR, written entirely in Pascal, is responsible for the automatic determination of the cutter loci for dimensional pocket milling operations

[52]. Since pocket milling represents the majority of the milling operations performed in industry, such a package conforms to the majority of the requirements of a manufacturing industry. Furthermore, several other machining operations are inherently involved in pocket milling, e.g. internal contouring and drilling, which formulate the basis of program expansion to accommodate for the remaining milling operations. Further expansion of the current package is unfortunately impossible on the present workstation due to the severe restrictions imposed by the current hardware and operating system. However, program modularity has been incorporated to allow for future expansion on a larger computer.

7.8.1 Features of the MCPDR package

There are several factors which contribute to the system's ability to satisfy a large number of requirements imposed by the part programmer and the machining operations, but those which may be singled out as of particular importance are: - 195 -

DESCRIPTION OF THE WORKSTATION'S SOFTWARE

Graphical facilities

Suitability to an industrial environment

Interactive and ease of use

.. Modularity and expandability, and

Full dependability on the system's common

database.

Graphical Facilities

Extensive graphics features are provided to aid the

part programmer in the visualisation of the component and

the tool path. These include 1st angle orthographic

projection, and isometric view, clipping and scaling

transformations and a direct software communication link

with the plotter package for the production of hard copies.

Industrial Environment Suitability

By incorporating machinability routines and allowing

the operator to override computer selected parameters the

system is ideally suited to an industrial environment.

Interactive and Ease of Use

MCPDR is an interactive package and is very easy to use. Unlike most conventional part programming packages, it does not require an experienced operator since it does not invoke the use of a part programming language. Its simplicity lies in the extensive use of a two way conversation between the computer and the operator in common

English. Most questions either require a straightforward Yes or No response or a numerical value. - 196 -

DESCRIPTION OF THE WORKSTATION'S SOFTWARE

Modularity and Exandability

As mentioned above, MCPDR consists of several modules

and hence system flexibility and expandability represent a

relatively straightforward task.

Full DB Dependability

Technological and geometrical attributes associated with the part are directly extracted from the system's common DB. This has the advantage of MCPDR being consistent with the other software packages and thus a separate DB need not be constructed for milling parts. However, this does mean that if complex geometries besides lines and arc are to be milled then they must first be defined within the DB.

7.8.2 Description of the MCPDR package

Description of the features of the MCPDR package will be aided by the use of program flowcharts and several illustrations. Fig. 7.32 illustrates a macro flowchart of the MCPDR package. It is clearly visible that MCPDR consists of several modules which are executed sequentially.

Upon program entry the workpiece's geometry is decoded from the compact DB, scaled and displayed in the desired views. The four possible views are:

plan elevation;

front elevation; ©

FIG. 7.32 MACRO FLOWCHART OF THE MCPDR PACKAGE FOR 2JD POCKET MILLING OPERATIONS - 198 -

DESCRIPTION OF THE WORKSTATION'S SOFTWARE

side (end) elevation; and

isometric projection.

Any combination of views can be displayed simultaneously. By displaying more than one view illegal tool paths can easily be detected. The blank size is then requested and the material specifications are selected from a Material

Archive. The next operation is to select the cutting tools and the cutting parameters from tool and machining parameters' libraries respectively. The cutting speed, which may be defined as the speed, in metres per minute (or in surface feet per minute), at which the material may be machined efficiently is calculated using the formula:

r/min = cutting speed

circumference

r/min = 12 x CS

3.1416 x D

where CS = cutting speed

D = diameter of cutter

This approximates to: r/min = 4 x CS

D 199-

DESCRIPTION OF THE WORKSTATION'S SOFTWARE

The milling machine feed is determined by the formula:

Feed = number of teeth in the cutter

* recommended feed per tooth

* r/min of the cutter

Since these two formulae are approximate only, in that they are independent of the hardness of the material, the machine's condition and the depth of cut, allowances have been made within the package to override these values. This feature provides the operator with much more flexibility in the machining of parts.

The depths of cut for the roughing and finishing operations have been fixed at half the cutter's diameter,

Fig. 7.33. In the current version of the package this ratio cannot be changed due to the memory limitations on the current 8-bit system, and undoubtedly represents an area for future work. The machining parameters are displayed on the

VDU screen in a similar manner to the TCPDR package.

Having displayed the workpiece geometry and selected the machining parameters the next operation is to compute the finecut and roughcut offsets. The offsets represent the contour which must not be violated by the roughing algorithm, see Fig. 7.33. Computation of the offset coordinates for lines and arcs is illustrated in Fig. 7.34.

Similar offset calculations need to be performed for other geometries. ft

FIG. 7.33 ILLUSTRATION OF THE WORKPIECE AND ITS ASSOCIATED FINISH AND ROUGHCUT OFFSET CONTOURS - 201 -

X - DsinG o XQ • DsinG - DcosQ Y. • -DcosG (xsys) o (XSYS)

Case of 0 < 9 < 90 Case of 90 < 9 < 180

Xq - -DsinG XQ - -DsinG - -DcosG Y • DcosG o q

Case of 180 < 9 < 270 Case of 270 < 9 < 360

CXCYC) (xsys) ,

CXFYF) CXsYs) CXFYF) c Vo3

X o =» X_r -DcosG Y - Yc -DsinG X„ = X +Dcos9 CXcYc) o r 0 Fc Y - Y +Dsin9 o Fn

Clockwise fillet Anticlockwise fillet

FIG. 7.34 COMPUTATION OF THE OFFSETS (Xn Y ) FOR LINES AND ARCS - 202 -

DESCRIPTION OF THE WORKSTATION'S SOFTWARE

Having computed the finecut and roughcut offsets a

second pass is performed to adjust the offsets according to

the subsequent primitive. This 'look-forward' technique is

illustrated in Fig. 7.35 for the four cases:

line followed by a line,

line followed by an arc,

arc followed by a line, and

arc followed by an arc.

To recap, up to now, the component has been decoded

from the database and displayed in the desired view(s). The

machining parameters and tools have been selected and the

finish cut and final roughing offset coordinates computed.

The final roughing offsets now have to be post-processed to

eliminate any illegal moves.

The post-processing task is accomplished with the aid of four interference filtering routines, Figs. 7.36, 7.37.

Consider the examples illustrated in Fig. 7.36. In each case the workpiece and the final roughcut offsets are shown. The offsets are numbered 1 to 4. The numerical value specifies the direction of tool travel, i.e. the tool travels from offset number 1 to offset number 4. If a closed loop is formed by the tool path locus, as illustrated by the intersection of the locus joining the points (1/2) and

(3,4), then offset number 2 is deleted and offset number 3 updated. The intersection point between lines 1,2 and 3,4 - 203 -

D sinHalt2 - °2>3) cosl (c 1,2 '2,3

D COS|(alt2 - a2t5)

COS i (c 1,2 2, 3J

LINE FOLLOWED BY A LINE

D sinj(a1 - - a- ..) x a 1 > 4 l » j o cosi(a1>2 - d2>3)

D cosKalt2 - a2t3)

cos](a. + a J 4 ,2 2,3

LINE FOLLOWED BY A LINE

(Xpi Ypi) and (Xp2 Yp2) found by simple geometry knowing angle of (vO inclination of the two lines.

LINE FOLLOWED BY AN ARC AND ARC FOLLOWED BY A LINE

For each fillet a check is made as to whether it is concave or convex looking from the right of the surface. If it is concave then locus radius is less than that of workpiece the arc. If it is convex then Tool path locus radius is greater than arc radius.

ARC FOLLOWED BY AN ARC

FIG. 7.35 DETERMINATION OF THE TOOL OFFSET COORDINATES FOR THE CASES ILLUSTRATED - 204 - - 205 -

ORIGINAL ROUGHCUT LOCUS FINAL ROUGHCUT LOCUS COMMENTS (Before filtering) (After filtering)

/////// Example of cue 2 Interference filtering. Lines joining offsets (1,2) and (4,5) are checked for Intersection. If they intersect /////// y, internally then 4 offsets are deleted.

2I t v, V777 ~77777777/ //////

7//7// ////// Example of case 2 interference v, filtering. In this situation Y^Z/y/ 2 offsets are deleted. F V

Example of case 3 interference filtering. Lines -joining- offsets (1,2) and (6,7) are F checked. If they intersect internally then 4 offsets are / deleted.

7 F ////

Example of case 4 interference filtering.

Example of cue 4 interference filtering.

FIG. 7.37 EXAMPLES OF CASE 2,3,4 INTERFERENCE FILTERING - 206 -

DESCRIPTION OF THE WORKSTATION'S SOFTWARE

represents the updated coordinates. The filtered final

roughcut locus is illustrated in column 2 of Fig. 7.36..

Three other filtering routines were developed for the cases

illustrated in Fig. 7.37.

It should be noted that these four interference

filtering routines cover the majority of circumstances that

might be invoked with line and arc primitives. The order in

which these four routines are executed is a very important

asset to the package. For example, consider the geometry

illustrated in Fig. 7.38a, consisting of a recess formed by

line and arc primitives. Six offsets are calculated by

simple translation of the workpiece coordinates, Fig. 7.38a.

They now are passed through the filters and the results

illustrated after each filtering routine. The first filter

detects that there is an intersection between lines 1,2 and

3,4 and thus deletes 1 offset. The resulting five offsets,

Fig. 7.38b are passed through the second filter which

deletes 2 offsets and produces the modified locus

illustrated in Fig. 7.38c. The third and fourth filters have

no effect upon the modified locus and thus leave it

unchanged. The final filtered locus is illustrated in Fig.

7.38d. The finish cut and the final roughing loci are then

displayed on the VDU screen.

Referring to Fig. 7.32, the next operation is the determination of the roughcut constraint coordinates. They may be defined as the two extremities of the cutter's path.

The roughcut constraints are calculated by formulating a - 207 -

FIG. 7.38 ILLUSTRATION OF A GEOMETRY WHICH HAS AN EFFECT ON TWO INTERFERENCE FILTERS - 208 -

DESCRIPTION OF THE WORKSTATION'S SOFTWARE

roughcut grid, as illustrated in Fig.. 7.39.. The workpiece is

scaled down by a scale value of:

scale value = grid size

= rough cutter's radius

Bressenham's [53] linear and circular interpolation is

then invoked on the scaled workpiece. The result is the

generation of the roughcut constraint coordinates which lie

on the grid line intersections. These coordinates are then

scaled up by the same scale value to represent true workpiece coordinates. These constraint coordinates are

represented on Fig. 7.39 by an 'X' symbol and are stored in an array.

The great advantages of employing a grid over the conventional mathematical vector intersection technique can be summarised as:

the ability of re-using existing scaling transformation

routines. These routines already exist for the display

of the workpiece and by utilising a scale value equal

to the gridsize considerable economies can be achieved

in the length of the program;

• a considerable reduction in the amount of computation.

The vector intersection technique can become very

sophisticated especially when detecting possible

intersections between conical primitives; Grid Workpiece Finecut constraint Roughcut locus Roughcut constraint - 210 -

DESCRIPTION OF THE WORKSTATION'S SOFTWARE

the complexity involved in the determination of the

roughcut constraint coordinates is independent of the

number or geometry of the primitives;

and finally, reduced computation time due to the

absence of complex mathematical computations.

The roughcut constraint coordinates are then used to

determine the internal roughing locus for surface clearance.

The internal roughing algorithm is illustrated in Fig.

7.40b. It has been devised especially for use on an 8-bit microcomputer system where memory and speed restrictions

exist. Consequently, the roughing cutter path locus consists of horizontal and vertical (X,Y) movements only. For the majority of cases where the machining time is not a critical

factor this algorithm is an acceptable one. Furthermore, it

is ideal for rolled blanks whereby the majority of the material removal is along the grain or the direction of

rolling. Fast algorithms do exist [54] for the optimisation of the cutter paths for machining arbitrarily shaped pockets. Modularity of the MCPDR package enables such algorithms to be incorporated.

The penultimate machining operations are the generation of the final roughing and finishing loci. They are simply performed by tool(s) changes and internal contouring along the roughcut and finecut offsets, Fig.

7.40c. - 211 -

Hri" i rri

FIG. 7.40a Geometry of the workplace.

Workplece Flnecut constraint Roughcut locus Roughcut constraint

Datum ^^

FIG. 7.40b Flnecut and roughcut constraints and roughcut locus . - 212 -

DESCRIPTION OF THE WORKSTATION'S SOFTWARE

The ultimate machining operation that may be invoked

is vertical drilling, Fig. 7.40d. The drilling algorithm is

illustrated in Fig. 7.41. During the drilling operation the

tool(s) and the machining parameters are selected from their

respective libraries. A canned drilling cycle is then

executed for each of the holes to be drilled. A simple point-to-point instead of a complex machine tool time optimisation, routine is incorporated for the drilling operations. Optimisation routines in which the mathematics

involved in ensuring that the chosen path is most efficient are rather complex. They are also often very time-consuming and are not ideally suited for the smaller microcomputer based systems. Furthermore, the more rigorous routines generally take up so much time that the solution to the problem costs more than the savings from the more efficient machining.

The machining codes are stored in a MCLDATA file for subsequent access by the part program generation package.

A hardcopy of the blank, workpiece, internal roughing, final roughing, finish locus and drilling operations can be obtained via the PLOTTER package. The MCPDR plotting algorithm is illustrated in Fig. 7.42. One of the greatest advantages of the MCPDR hardcopy algorithm is that by directly accessing both the database and the MCLDATA files errors within the files can easily be detected. 213 -

( Begln )

Read from DB cylinder primi tives and store relevant Database attributes in matrix DRILLMAT(Nx 5) r

Display cylinder primitives1 centres by a '+ f sign

r

Set counter 1=1

- f

For Ith hole display G cursor at that position, display /Tooling alphanumeric value of diameter \Library and depth and request for tool number and machining parameters

Machina- bility Perform tool c!lang e operation Library if required r Execute canned drilling cycle for Ith hole

1 = 1 + 1

No

Yes

Return to origin

( STOP )

FIG. 7.41 MACRO FLOWCHART OF THE VERTICAL DRILLING ALGORITHM - 214 -

Begin

Request for paper size (A2 or A4)

r

Set Plotter Scale

Select Plotter Pens

Database Plot workpiece Plotter Hard copy and blank package

MCLDATA Read 1 record File from MCLDATA file

Plotter Display a move Package

Plotter Display a Package cut

Return plotter to origin

END

FIG. 7.4 2 FLOWCHART OF THE MCPDR PLOTTING ALGORITHM - 215 -

DESCRIPTION OF THE WORKSTATION'S SOFTWARE

A description of the MCLDATA file is presented in

Appendix I, and MCPDR package's command repertoire in

Appendix J.

The remaining task is to simply convert the MCLDATA

file from an integer binary format to one accepted by the milling machine tool described in Section 6.3.4. - 216 -

DESCRIPTION OF THE WORKSTATION'S SOFTWARE

7..9 The Part Program Generate PPGP Package

The executive task of this package is the conversion of

the TCLDATA file from an integer binary format to one

acceptable to the CNC turning system. It also has an additional function of direct transmission of the part programs, via a serial RS232 bus, to the CNC system. The direct communication protocol permits two-way communication between the CAD/CAM workstation and the CNC turning system.

Thus, part programs as well as data can be transmitted from one system to another.

The format of the CNC milling system has yet to be finalised. It is envisaged that its format will probably be the universal EIA standard. The development of a similar part program generation package for the milling system MPPGP has thus been postponed.

In the CNC turning system, described in Chapter 6, there resides a high-level programming language called

Machine Tool Interpreter Language (MTIL). A full description of MTIL is presented in references [9] and [31].

For the sake of the present discussion it can be stated that

MTIL is similar to the BASIC programming language. It uses statements such as LET, MOV, CUT, THREAD, PITCH, READ and

DATA to activate machining subroutines within the system.

This implies that the conventional task of post' processing has been greatly simplified" to the conversion of CLDATA records from an integer binary format to one accepted by

MTIL. Appendix K describes the command repertoire of the

PPGP package. - 217 -

DESCRIPTION OF THE WORKSTATION'S SOFTWARE

7.1.0 Machine Tool Interpreter Language (MTIL) and CAM

The final stage of the design-production sequence is the manufacture of the part. This involves the conversion of the CLDATA file into an NC part program, by the PPGP package. The part program is then transmitted from the

CAD/CAM workstation to the machine control unit, MCU, of the machine tool. The format of the part program must obviously be fully compatible with that of the MCU.

The traditional mode of part program transmission is via that perforated papertape. Even wih the advent of computers and CNC 'soft-wired' control units, the perforated tape is still an extensively employed program medium. Two main reasons account for this. Firstly, part programmers have become experienced in conventional standards, such as

EIA, ANSI and NSA, which utilise control tapes. And secondly, the necessity to use old control tapes on new machine tools still exists. However, the current trend has shifted to control units that are manufactured to the EIA standards RS 273-A and RS 274-B. They define a variable- block tape format for positioning and contouring controls, a respectively.

The escalation of chip population together with lower manufacturing costs now makes it economically feasible to transfer some of the the MCU's intelligence thus relieving the part programmer's task on the CAD/CAM workstation. The - 218 -

DESCRIPTION OF THE WORKSTATION'S SOFTWARE existence of intelligent algorithms on the MCU will also allow the machine tool to be locally programmed. Thus, for simple machining operations the aid of sophisticated CAD/CAM packages resident on the workstation will no longer be necessary.

One such form of intelligence has been developed by

Dalzell [31] and Pak [9]. It is a NC language, named Machine

Tool Interpreter Language (MTIL). It is an augmented form of the computing language Basic. It consists of two program modules. The first module, syntax module, describes the structure of the interpreter and includes routines for editing, argument handling and command sequencing. The second, vocabulary module, contains the various command routines for the MTIL instruction set.

The presence of MTIL on the CNC turning system signifies that the PPGP package produces a MTIL format NC file. This is illustrated in the next section by an example.

The existence of a high level language on the CNC system has the following advantages over the traditional control tape format:

increased readability due to English-like statements;

ease of editing by retyping line numbers;

multiple axis motion control by single statements;

built-in availability of arithmetic routines, multiple

level subroutine nesting and loops;

user orietated input routines; - 219 -

DESCRIPTION OF THE WORKSTATION'S SOFTWARE

. easy operation of system element testing by diagnostic

routines;

. reduction in the part program size; and

. reduction in part program post-processing requirements.

This chapter described in detail the construction and the features of the CAD/CAM packages. A discussion of the operation of the developed system is presented in the next chapter. This is achieved with the aid of two examples. The first represents a turned component and the second a milled component. - 220 -

CHAPTER 8 THE. USE OF THE SYSTEM TO CAD/CAM APPLICATIONS

The following two examples illustrate some of the features of the developed system. They illustrate the sequence of events encountered by an operator during the design to manufacture cycle. This chapter is not proposed to represent a manual for the system, but is presented to illustrate the simplicity of the system for design, draughting, design analysis, tool path simulation, NC part program generation and subsequent machining operations.

However, careful examination of the various packages' command repertoire (presented in Appendices A, C, D, £, J and K) will yield further details of the implemented features. Furthermore, it must be brought to the reader's attention, that the inherent simplicity of the packages is partly achieved through the use of simple 'English like' commands. Numerous examples of which are illustrated in this chapter.

8.1 An Example of a Turned Component

Consider the component illustrated in Fig. 8.1. It's geometry has been specially formulated for three main reasons. Firstly, it represents a typical turned component that may be found in industry. Secondly, it illustrates several features, especially those of the TCPDR package. And finally, it can be machined on the initial NC turning system, discussed in Section 6.3.3. -22.1 -

REMARKS IMPERIAL COLLEGE OF SCIENCE & TECHNOLOGY AN EXAMPLE TO ILLUSTRATE CITY & GUILDS COLLEGE SEVERAL FEATURES OF THE TCPDR PACKAGE TITLE FIG. 8.1 AN EXAMPLE OF A TURNED PART

NAME DWG. No. SUNEEL KHURMI 8.1 EXAMPLE - 222 -

THE USE OF THE SYSTEM TO CAD/CAM APPLICATIONS

With reference to Fig. 8.2, the design-manufacture cycle is initiated with the preparation of a sketch of the component. For turning parts this simply involves the representation of a single view of the component suitably dimensioned. For the more complex 2D and 3D geometries sketches of more than one view may be required. Even at this initial stage of the design-manufacture process a great deal of time has been saved. By utilising a sketch instead of the conventional General Assembly (GA) drawing valuable draughtsman's time can be saved.

Using the sketch, precise geometrical and technological information about the component is entered with the aid of the CREATE package. In order to load the CREATE package from the disc either of the two following commands may be invoked. In this chapter bold text is used to represent the response by the operator to the various system prompts, and comments are presented within brackets.

+++RUN3CDAD DISPLAY

+++RUNPCDAD DISPLAY

The three '+' signs represent the idle state prompt sign of the Flex operating system. The first command line loads the

CREATE, EDIT and DISPLAY packages, whereas the second loads the above mentioned and the PLOTTER package. - 223 -

CAD/CAM WORKSTATION y RESIDENT PROGRAMS

j

>v

NC RESIDENT

J

FIG.fc.2 MACRO INTERPACKAGE COMMUNICATION DIAGRAM - 224 -

THE USE OF THE SYSTEM TO (LID/CAM APPLICATIONS

The welcoming message is:

**'* CDAD PACKAGE ***

. . >

where CDAD represents Computer-Aided Design and Draughting.

The prompt sign '..>' is displayed. The possible responses are:

C

D <£ile name>

E

P

where C, D, E and P represent CREATE, DISPLAY, EDIT and

PLOTTER packages respectively. If a file name is specified, indicating that the component has already been created and resides on disc, then it is loaded from disc. If no file name is specified then the package defaults to input from the keyboard. For creating a new component 'CREATE' or simply ' C' is entered.

. . >C

CREATE PACKAGE

The scale and the component's name are then specified as:

>->SCA 20 (Note: only the 1st 3 letters are required)

>-> COMP PhDCh8M - 225 -

THE USE OF THE SYSTEM TO CAD/CAM APPLICATIONS

The following input commands are also illustrated in

Figs. 8.3-3.5. A 'MOV' command is specified to position the

component in a suitable position on the screen. The HP

graphics cursor is made to graphically echo back the current

position of the pen. For concentric parts, such as the one

in discussion, a concentric flag feature is implemented. it

informs the computer that all the following symbols should

be positioned concentrically and to automatically position

them accordingly.

>-> MOV 1000,2000,2000

>->CON YZ,2000

The unit system employed here is integer arithmetic. This

unit system is utilised so that the specified dimensions are directly compatible with the NC turning system discussed in

Section 6.3.3. Thus 1 unit represents 0.0005 inch. However, a dedicated CAD/CAM system only requires the implementation of a simple floating-point input routine whereby both

Imperial and Metric units can be used. The remaining geometric commands are illustrated below, and should be self explanatory with the aid of Appendix A.

>->TCY YZ,0,750,1500

>->THR YZ,1800,1250,1750,400

>->CYL YZ,1800,500

>->TCY YZ,1800,500,2000

>->CYL YZ,2000,250 - 226 -

>->MOV 1000,2000,2000 SCREEN SUBDIVIDED INTO FOUR VIEWPORTS, AXES LABELLED AND CURSOR POSITIONED AT (50,100) SCREEN COORDINATES, REPRESENTING (1000,2000)X,Y COORDINATES IN XY PLANE

0 i o 1 0 —1 _

| : o i t < i i

>->TCY YZ,0,750,1500

FIG. 8.3 - 227 -

i

(a) >->THR YZ,1800,1250,1750,400

(b) >->CYL YZ,1800,500

(c) >->TCY YZ,1800,500,2000

FIG. 8.4

THE USE OF THE SYSTEM TO CAD/CAM APPLICATIONS

>—>TCY YZ,2000,1000,2750

>—>CYL YZ,2750,500

>~>CON OFF

The last command is to switch off the concentricity feature.

The response of the system to the above commands is illustrated in Figs. 8.3-8.5. The component can then be saved on disc under an eight character file name, with a default extension of .DAT as:

>->SAVE PHDCH8EX.DAT

Having stored the component it can be redisplayed, edited, or plotted by the respective packages. Examples of accession of these packages is illustrated in Appendices A, D and E.

If a design analysis is to be performed upon the component then the DESIGN package is loaded by:

+++RUN3 DESIGN,,

e.g. +++RUN3 DESIGN,PHDCH8EX.DES,PHDCH8EX.DAT

The following commands are then entered to generate a design analysis listing of the component on the disc under the specified name.

> > >SCA 20

> > >DIS 1

Current Component Name = PhDCh8 - 230 -

THE USE OF THE SYSTEM TO CAD/CAM APPLICATIONS

Thread Pitch = 400

> > >DDA (Stress/Strain calculations and material are selected here)

> > > BYE

END OF PROGRAM EXECUTION

+++

The output file, containing the design data for the requested component can then be examined on the VDU or a hardcopy obtained via the text printer, Fig. 8.6. The tabulated results for the component are illustrated in

Fig. 8.7.

The next operation is the generation of the tool path.

The Cutter Path Derivate Package is loaded, the scale is specified and the appropriate component requested to be machined. The input commands for these three operations are:

+++RUN3CPDR,TCPDR,PHDCH8EX.DAT,PHDCH8EX.TEM,PHDCH8EX.CLD

> —>SCA 8

>->MAC 1

where RUN3CPDR loads the Pascal interpreter and the

plotter package;

PHDCH8EX.TEM is a temporary file; and

PHDCH8EX.CLD is the output file containing the

TCLDATA records. INPUT DATA

MATERIAL DENSITY = 2643 Kq/cu. n. 3 CYLINDER 165 lb/cu. ft

YOUNGS MODULUS. L -'•>. tOOE t-10 N/sq. m X - 3000 , Y 2000 .1 - 1100 = 1. 684E+12 1 bf/sq. ft. DIAMETER -- 1800 .DEPTH - 500

Component Name - P1,DC 1.8 CENTROID - 3250, 2000, 2000

EQUATION OF MAJOR CENTRELINE: :r=X> v- 2000. a- 2000 VOLUME -1 272111 09 (cu units) -2. 606E-06 ( cu. metres)

1 TAPLRCYLl NDER MASS =6 8S8E-03 (Kq)

X 1000 . Y 2000 . Z = 200l> CIRCUMFERENTIAL. SURFACE AREA =2. 327E+06 (sq. era ts) -4 560E-04 ( sq.H i ) LD.DEPTH,RD - 0, 750, 1500 DISTANCE FROM CENTRELINE - 0 (aba ...nils' CENTROID - 1500, 2000, 2000 — 0 (HI E t RES) VOLUME -4 417E+03 ( en. urn Is) MOMENT OF INERTIA ABOUT AXIS =4. 499E-07 (Kq HI. HI) 9. ( )9|j Q J ( |J ([, * t- T e S >

MASS "2. 39 IE--03 (Kq) i to CIRCUMFERENTIAL SURFACE AREA =1. 767E+06 (sq. units) CO -2. 350E-04 ( sq. ITI ) m DISTANCE f:ROM CENTRELINE 0 ( at-3. uru t-3) i :: IJ (metres) 4. TAPERCYLINDER

MOMENT OF INERTIA ABOUT AXIS ~6. 509E-08 (Kq n». HI) X = 3500 , Y — /Q( )(') , Z — 11O0 2 THREAD L.D, DEPTH. RD - 1800. 500, 2000

CENTROID - 3230. 2000, 2000 X - 1750 , Y - 2000 ,Z -- 1100 OH. DEPTH. ID, PITCH = 1800, 1250, 1750, 400 VOLUME -1. 41SE+09 (cu units) =2. 9061:—06 (cu. metres) CENTROID - 2375, 2000, 2000 MASS =7 6S2E-03 (Kq) VOL UHE -3 093E+ 09 < cu. units) -6 33SE--06 ( cu. metres) CIRCUMFERENTIAL SURFACE AREA =2. 984E+06 ( sq u n its) -4. 813E-04 ( a q III) MASS ~1 6.74L-02 (Kq) DISTANCE FROM CENTRELINE - 0 ( abs un i t.5 • CIRCUMFERENTIAL. SURFACE AREA -6. 970E+06 ( sq. uni ts) -- 0 (me t ra ) = 1. 124E-03 ( SQ HI ) MOMENT OF INERTIA ABOUT AXIS =5. 616E-07 (i q in. in > D1STANCE FROM CENTRELINE « 0 ( aba ura ts) - 0 (HinitreS >

MOMENT OF INERTIA ABOUT AXIS =1. 063E--06 (Kq. HI. Hi)

FIG. 8.6 COMPUTER PRINTOUT OF THE OUTPUT OF THE DESIGN PACKAGE 5. cyl infer 7 CYLINDER

X ss 4000 . Y ---• 2000 , Z - 1000 X - 5250 . Y -- 2000 , Z - 625 DI AMETER 2000 . DEPTH = 250 DIAMETER ~ 2750 .DEPTH - 500

CENTRE) IB - 4125. 2000. 2000 CENTRuID 5500. 2000. 2000

VOLUME -7 854li4 08 (cu. units! VOLUME ~2 9c.9E-i09 (cu. units) -6. 033E-06 ( cu. metres) -1 608E-06 ( c u. in e t r e s ) MASS ==1. 6.07E-02 (Kq) MASS -4 252E-03 (Kq) CIRCUMFERENTIAL SURFACE AREA -4 319EK>6 (sq. units) CIRCUMFERENTIAL. SURFACE AREA =1. S70E+06 ( sq. units) =6. 967E-04 (sq.no -1. 533E-04 (sq. m) DISTANCE PRCif'l CENTRELINE = 0 (aba. units) DISTANCE FROM CENTRELINE ~ 0 (abs. units) ~ 0 (in ti t r e s ) ~ 0 ( jti e r, res) MOMENT OP INERTIA ABOUT AXIS «3. 429E-07 (Kq. ru. in) MOMENT OF INERTIA ABOUT AXIS ^2 451E-G6 (Kq. m. m)

6 TAPERCYL1NIlE'fi RESULTS FOR ENTIRE COMPONENT

X - 4250 , Y - 2000 . Z - 1000 CENYROID 388 7. 2000, 2000 I D. DEPTH. RD :: 2000, 1000, 2750 TOTAL CIRCUMFERENTIAL SURFACE AREA =4 500E-03 (sq. tn) CENTROID - 4445, 2000. 2000 =4. 843E--02 ( sq. It) VOl UME -4. 466E+09 < cu. units) TOTAL VOLUME -2. 959E-05 (cu m) 15 OF:--06 ( c u. metres) = 1. 045E-03 ( cu. ft)

MASS "'2. 4131:--02 (Kq) TOTAL MASS =7. 822E-02 (Kq) = 1. 724E-0I (lb) CIRCUMFERENTIAL SURFACE AF(EA ==7. 461E)-06 (sq. units) ~1. 203E-03 (sq. in) TOTAL MOMENT OP INERTIA ABOUT AXIS-7 798E-06 (Kq sq rn) = 1. 850E-04 ( lb. sq. ft) DISTANCE FROM CENTRELINE = 0 (abs units) -- 0 (metres) RADIUS OF GYRATION =9. 984E-03 (rn) =3. 275E-02 (ft) MOMENT OP' INERTIA ABOUT AXIS ~2 S63E06 (Kq hi ho

FIG 8.6 (cont'd) COMPUTER PRINTOUT OF THE OUTPUT OF THE DESIGN PACKAGE ft ft ft ft ft ft ft ft

CIRCUMFERENTIAL MOMENT OF INERTIA PRIMITIVE X Y Z x y z VOLUME MASS SURFACE AREA ABOUT AXIS (cu units) (cu m) (kg) (sq units) (sq m) (kg.m.ro)

TAPERCYLINDER 1000 2000 2000 1500 2000 2000 4.417E+08 9.049E-07 2.391E-0.3 1.767E+06 2.850E-04 6.509E-08

THREAD 1750 2000 1100 2375 2000 2000 3.093E+09 6.335E-06 1.674Et06 6,970E+06 1.124E-03 1.063E-06

CYLINDER 3000 2000 1100 3250 2000 2000 1.272E+09 2.606E-06 6.888E-03 2.827E+06 4.560E-04 4.499E-07

TAPERCYLINDER 3500 2000 1100 3230 2000 2000 1.418E+09 2.096E-06 7.682E-03 2.984E+06 4.813E-04 5.616E-07

CYLINDER 4000 2000 1000 4125 2000 2000 7.854E+08 1.608E-06 4.252E-03 1.570E+06 2.533E-04 3.429E-07

TAPERCYLINDER 4250 2000 1000 4445 2000 2000 4.466E+09 9.150E-06 2.418E-02 7.461E+06 1.203E-03 2.863E-06

CYLINDER 5250 2000 625 5500 2000 2000 2.969E+09 6.083E-06 1.607E-02 4.319E+06 6.967E-04 2.451E-06

2.959E-05 (cu.m) 4.500E-03 (sq.m) RESULTS FOR ENTIRE 3887 2000 2000 7.822E-02 7.798E-06 COMPONENT 1.045E-03 (cu.ft) 4.843E-02 (sq.ft)

FIG. 8.7 TABULATED DESIGN ANALYSIS PACKAGE RESULTS FOR THE COMPONENT ILLUSTRATED IN FIG. 8.1 - 234 -

THE USE OF THE SYSTEM TO CAD/CAM APPLICATIONS

The machining parameters for aluminium (default) are displayed and can be changed if desired. The rough and fine tools are either selected from a tool library or can be defined on-line. Next, the blank diameter is selected. The

screen is then sub-divided into two portions, as illustrated

in Fig. 8.8a, and the blank displayed. Firstly, the workpiece is faced followed by the roughing operation, Fig.

8.8b. The final roughing is then simulated, Fig. 8.8c, with the roughing tool displayed at each node. A node representing a change in direction of the tool. The fine cut is then simulated, Fig. 8.8d, and the fine tool displayed at each node. The machining parameters, illustrated in the upper portion of the screen, are continually updated. For threading operations the tool, threading spindle speed and depth of cut are selected. They are then displayed on the upper portion of the screen. Upon completion of the machining operations the component is parted-off. The tool path of the part-off operation is displayed, Fig. 8.8e.

The package then returns to an idle state whereby the stored TCLDATA file can be examined or a hardcopy of the machining operations obtained via the command:

>-> PLOT

Paper size (A2 or A4)? A2

>-> - 235 -

FIG. 8.8a SUBDIVISION OF THE VDU SCREEN AND DISPLAY OF THE DEFAULT MACHINING PARAMETERS

FIG. 8.8d FINE CUT OPERATION FIG 8.8e PART-OFF OPERATION

FIG. 8.8 - 236 -

THE USE OF THE SYSTEM TO CAD/CAM APPLICATIONS

At this stage, either the machining operations can be redisplayed by specifying new machining parameters or the program can be terminated.

Fig. 8.9 illustrates the format of the TCLDATA file

(PHDCH8EX.CLD). The first element represents the blank diameter and the second element specifies the number of records present in the file. The records are then listed and their format can be found in Appendix I.

A part program compatible with the NC turning system, described in section 6.3.3, is then generated using the PPGP package. The sequence of commands is illustrated below and should be self-explanatory.

+++PPGP

PART PROGRAM GENERATE PACKAGE

ENTER COMMAND - G,T,S OR F

#GENERATE

FILE SPECS. FOR .CLD (INPUT) FILE ? PHDCH8EX.CLD

FILE SPECS. FOR .MTL (OUTPUT) FILE ? PHDCH8EX.MTL

(The generated MTL file is listed)

#TRANSPARENT

#NEW (clears NC Buffer)

(Returns to CAD/CAM workstation)

#SEND (sends MTL file from CAD/CAM workstation to NC machine tool)

#FLEX

+++ (end of program) - 237 -

3000 67 2 iOOO 0 2062 533 6 10 0 0 2550 538 5 0 1 3050 438 1 0 1562 3290 433 0 0 0 4290 63 5 0 1 4688 63 6 250 0 0 4688 0 0 • 62 186 0 0 0 no 1 -it UL 136 5 0 1 0 -r r> p n -62 100 0 U / UL. 6 0 •62 -62 0 0 1562 0 -62 434 1 750 736 1 632 434 1 750 600 0 602 -62 1 2062 60 0 0 • 62 -62 1 2556 600 0 •62 682 1 3056 50 0 on 1 uui. 632 1 3301 500 0 632 -62 1 4301 125 0 •62 •62 1 4750 1 vj 0 -62 93 0 0 4750 0 1 434 930 0 0 0 0 434 •62 4 40 0 0 0 -62 -62 2 200 0 0 -62 1173 0 812 0 1 310 1173 0 312 600 0 310 -62 1 812 613 0 -62 •-62 3 2000 613 1426 0 •62 1 2000 60 0 1426 1 62 0 812 500 0 62 -62 / nt: 1 812 o c. u -62 0 -62 3 2000 625 -62 1562 0 0 1950 0 761 1 688 0 62 0 I 633 538

FIG. 8.9 LISTING OF PhDCH8EX.CLD FILE - 238 -

THE USE OF THE SYSTEM TO CAD/CAM APPLICATIONS

The generated MTIL compatible file (Fig. 8.10) has been stored on the workstation's backup storage as well transmitted and stored on the NC machine tool. All that is required now is to execute the machining operations by a RUN command. The machined part is illustrated in Fig. 8.11.

This simple example illustrated the use of the system for turning operations. However, for generating part programs for other machine tools the above described system would require very few modifications. The major modification being within the PPGP package, where a new NC part program would have to generated. m w p w m • * w w

540 GOT 560 550 LET T2-C 1910 GOS 200 5AO PRI "INPUT I FOR COI'JT 1430 GOS 200 10 * STARTUP PROCEDURE 1440 DAT 0 -124 -62 1920 DAT 1 1500 600 2 FOR TOOL CHANGE" CO OR I 1450 GOS 2'00 1930 gos; 200 570 INP D l 4124 600 30 im:I "PART PROGRAM FROM CAD CAM WORKSTATION •• 580 IF DO I TH 290 1460 DAT 0 -124 1173 1940 DAT 40 PRI "PLACE BLANK IN CHUCK THEN TYPE.. 1" 590 RET 1470 GOS 2.00 1950 GOS; 200 50 INP A 600 CON EL T 1430 DAT 1 620 1.173 1960 DAT 1 5112 600 60 PRI "COMPONENT DATUM 7" 610 RET 1490 GOS 200 1970 GOS 200 70 INP XI,Y1 LOOO DAT ioooo 0 1500 DAT O 620 -62 L980 DAT 1 6112 500 OO SLT XL.YL 1010 GOS 00 1510 GOS 200 1990 GOS 200 70 PRI "TOROUL CONSTRAINT 1520 DAT 0 -124 -62 2000 DAT 1 6602 500 1020 DAT 6 LOO O 100 INP T 1530 GOS 2O10 GOS 1030 GOS 200 200 200 110 TRI "CURRENT TOOL No.6 RAD 7" 1540 DAT 0 -124 1426 2020 1 3602 125 1040 DAT 5 0 L DAT 120 INP T1.T2 1550 GOS 2030 200 1050 GOS 200 200 GOS 130 LET LI U1000 1560 DAT l 124 1426 2040 l 9500 125 1060 DAT I. 0 1562 DAT 140 MOV 0.0 1570 GOS (00 2050 2o0 1070 GOS 200 2 OOS 150 GOT 10 00 1580 DAT 2060 0 9500 L1 TII 270 IS 10 GOS 2290 1310 GOS 200 200 GOS; 200 430 THR B,C 1320 DAT 0 0 0 2300 DAI" 0 3900 0 1820 DAT 1 1 >4 682 410 RET 1S30 GOS 2310 200 1330 GOS 200 200 GOS 450 PIT B 1840 DAT 5 0 1 2320 DAT 0 124 0 1340 DAT 0 1364 -62 460 RET 1S50 GOS 2330 1 330 (3OS 200 200 GOS; 2.O0 470 PR I "TOOL CHANGE ACTION",BfC 1360 DAT 2340 1360 DAT 0 -124 6 100 0 STO 400 IF B~ 1 TII 510 187O GOS 200 137 0 GOS 20 O 170 IF COT1 TH 530 1880 DAT 1380 DAT 0 -124 0 0 1562 500 RET 1890 GOS 1390 GOS 200 200 31 ii ir r:z: ini 550 L 900 DAT 1 1500 736 s ."•<•> ivi [ 1.400 DAT' 1 868 930 530 l.l r r i •• i. 14 10 003 200 1420 DOT 0 868 -62 FIG. 8.10 LISTING OF THE PhDCH8EX.MTL MTIL FILE - 240 -

FIG. 8.11 ILLUSTRATION OF THE MACHINED PART OF SECTION 8.1 - 241 -

THE USE OF THE SYSTEM TO CAD/CAM APPLICATIONS

8.2 An Example of a Milled Component

The following example illustrates the use of the system for performing pocketing, internal contouring and vertical drilling operations.

Consider the example illustrated in Fig. 8.12. The geometry consists of several rounds, fillets, straight sections and drill holes. Once again all dimensions are in integer units to maintain compatability with the assembler written CREATE package. From an initial sketch the geometry can easily be defined and entered via the CREATE package.

There are several ways in which the geometrical parameters can be entered. One possible solution is illustrated below:

>-> SCA 50

>->COMP PhDS8.2

>—>MOV 1000,4000,2000

>->RLI 0,3000,0

>->FIL XY,0,T,0,R500, R0

>->RLI 500,0,0

>->FIL XY,0,T,315,R0,R-500

>->RLI 1414,-1414,0

> — >FIL XY,0,T,0,4121,6293

>->RLI 2000,0,0

>->FIL XY,1,T,90,R0,R500

>->RLI 0,1000,0

>->FIL XY,0,T,0,R500,R0

>->FIL XY,0,T,270,R0,R-500 - 242 -

iop ei

a

REMARKS IMPERIAL COLLEGE OF SCIENCE & TECHNOLOGY CITY & GUILDS COLLEGE ALL DIMENSIONS IN NC

TURNING SYSTEM'S UNITS. TITLE ALL UNSPECIFIED ROUNDS FIG. 8.1ZAN EXAMPLE OF A MILLED COMPONENT AND FILLETS RADIUS 500 NAME DWG. No. SUNEEL KHURMI EXAMPLE - 243 -

THE USE OF THE SYSTEM TO CAD/CAM APPLICATIONS

>—>RLI 0,-1000,0

>->FIL XY,1,T,0,R500,R0

>—>RLI 3000,0,0

> —>FIL XY,0,T,90,R0,R500

>->RLI 0,1000,0

>->FIL XY,0,T,0,R500,R0

>->RLI 3000,0,0

>->FIL XY,0,T,270,R0,R-500

>->RLI 0,-3000,0

>->FIL XY,0,T,240,R—1000,R0

>—>RLI -250,-433,0

>->RLI -750,-1299,0

>->FIL XY,0,T,180,R-433,R250

>—>RLI -5000,0,0

>—>FIL XY,0,8699,958,R0,R-500

> — >FIL XY,0,8026,220,8346,605

>->LIN 4820,2885,2000

>->FIL XY,1,T,140,4500,2500

>->LIN 1413,3508,2000

>->FIL XY,0,T,170,R0,R500

>->MOV 0,0,0

>->DRL XY,1500,7000,250,-1000

>->DRL XY,2000,7000,250,-1000

>->DRL XY,7121,7294,200,-1000

>->DRL XY,12121,7294,250,-1000

>->DRL XY,15121,7294,250,-1000

>->DRL XY,8346,605,200,-1000

>->SAVE PhDTS8-2.DAT - 244 -

THE USE OF THE SYSTEM TO CAD/CAM APPLICATIONS

Fig. 8.13 illustrates the component as displayed by the

DISPLAY package. The simplicity of the geometry definition entry format, as illustrated above, illustrates the fact that complex geometries can be built up of the few standard primitives such as MOV, LIN, FIL and DRL.

Having confirmed that the entered geometry is correct the component is stored in the database under the name

PhDTS8-2.DAT. The next operation is the generation of the

MCLDATA file using the MCPDR package. The two load commands are:

+++RUN3,MCPDR,PhDTS8-2.DAT,MATERIAL,PhDTS8-2.CLD

+++RUN3CPDR,MCPDR,PhDTS8-2.DAT,MATERIAL,PhDTS8-2.CLD

The latter command syntax also invokes the plotter handler (PLOTTER package) so that a hard copy of the workpiece and the machining loci can be obtained.

The entry sequence of events for the MCPDR package is illustrated in Fig. 7.32, and is as follows:

SCALE ? 50

>->DIS 1 PLAN

> ->MAC 1

(Select material)

(Select tool(s))

(Select machining parameters)

(MCLDATA are displayed) - 245 -

G. 8.13 VISUALISATION OF THE COMPONENT BY THE DISPLAY PACKAGE

FIG. 8.14 GENERATION OF THE NC CUTTER PATHS - 246 -

THE USE OF THE SYSTEM TO CAD/CAM APPLICATIONS

(MCLDATA file created)

>-> PLOT

(Select plotter pens)

(Workpiece and MCLDATA are plotted, Fig. 8.14)

>-> BYE

END OF PROGRAM EXECUTION

+++

Two distinct features of the MCPDR package are highlighted by the above example. The first illustrates undercut elimination during a rough cut operation, Fig.

8.15a. As the tool cuts from elements along a boundary, the system looks ahead to see if undercutting will occur for any succeeding elements. When an undercut condition is encountered (by the roughcut filtering algorithms) then all elements causing the undercut condition disappear. For a finish cut where the tool radius fits the condition is illustrated in Fig. 8.15b.

The second feature is illustrated in Fig. 8.16 whereby the system detects that there is partial undercut condition.

In this case the system will machine as much of the slot as possible with the current tool. - 247 -

NOTE THAT THE .625 EFFECTIVE TOOL RAOIUS WILL NOT FIT INSIOE THE .SR ELEMENT. MCPtA SKIPS THE .SR DURING THIS ROUGH CUT

.625 EFFECTIVE TOOL RAOIUS 1.375 TLR • .250 STKI

' STOCK REMAINING AFTER ROUGH CUT

FINE CUTTER ROUGH CUTTER

FIG. 8.15v. UNDERCUT ELIMINATION EXAMPLES (TOOL RADIUS WON'T FIT) ROUGH CUT

FIG. 8.1Sb. UNDERCUT ELIMINATION EXAMPLES (TOOL RADIUS FITS) FINISH CUT FIG. 8.16 ILLUSTRATIONS OF A PARTIAL UNDERCUT CONDITION SYSTEM MACHINES AS MUCH OF THE SLOT AS POSSIBLE - 249 -

CHAPTER 9

EVALUATION AND ECONOMIC ASPECTS OF THE CAD/CAM SYSTEM

9.1 Evaluation of the geometrical repertoire of the current

system

The current system is capable of 2D and part

geometry definition. It uses a repertoire of symbols (e.g.

CYL, TCY, THR, TAP, BOX, PYR, etc.) to define the geometry

and orientation of the primitives. A limited amount of 3D

part geometry can be achieved with the MOV and LIN

primitives. The result is, however, a 3D wire-frame

representation of the part. For complex 3D geometries

surface definitions will need to be introduced. For example,

p and p a planar pentagon with nodes P^, P2f 4 5 need

to be defined as:

MOV PI

LIN P2

LIN P3

LIN P4

LIN P5

LIN PI

PLANE P1,P2,P3,P4,P5

A direct comparison of the geometrical repertoire between the current CAD/CAM system and two leading commercial packages is hereby presented. The two commercial packages being the APT and COMPACT II NC languages. EVALUATION AND ECONOMIC ASPECTS OF THE CAD/CAM SYSTEM

Consider the turned component discussed in section 8.1.

A sketch of the component is illustrated in Fig. 9.1a. It

has been suitably dimensioned for the CREATE package. Its

geometrical input for the CREATE package is illustrated in

Fig. 9.2. Dimensional units are those of the current NC

turning machine tools' format (section 6.3.3).

An equivalent program in APT is presented also in Fig.

9.2. The dimensions are in the same units as the above example so that a direct comparison can be made. The datum position has been chosen along the component's centreline

for ease of geometry definition, Fig. 9.1b.

A second comparison is presented in the COMPACT II language. COMPACT II programs are composed of groups of

instructions written in statement form. Each statement provides the information required by the system to accomplish the same operation. A statement consists of a major word and a set of associated minor words. The major word must be the first word in the statement. Minor words can be placed in statements in any sequence. Statement construction, therefore, allows free-form use of the language.

Major words indicate what kind of operation the programmer wants performed, e.g. program initialisation, geometric and variable definition, tool description, etc.

Minor words, on the other hand, supply the parameters defining where and/or how the operation indicated by the - 251 -

4)2750

FIG. 9.1a DIMENSIONING OF A PART FOR THE CREATE PACKAGE

r\ \ ,P2 P4 P5 P6 P7 . 750 L,2 P3 L4 2000 L5 L6 7 ROO r/t**"—^ P8 3000 L8 3250 4000 4750

FIG. 9.1b DIMENSIONING OF A PART FOR THE APT LANGUAGE

FIG. 9.1c DIMENSIONING OF A PART FOR THE COMPACT II LANGUAGE CREATE VERSION APT VERSION COMPACT VERSION

SCA 20 PART NO PhDCh8 EXAMPLE APT Version' MACHIN,LATHE MACHIN/UNIV,1 IDENT,PhDCh8 Example COMPACT II Version COMF PhDCh8 CLPRNT

INTOL/1 INIT,METRIC/IN,METRIC/OUT

MOV 1000,2000,2000 OUTTOL/1 SETUP,6000X,5500Z MCHTOL/1

CON YZ,2000 $* BASE,XA,4 7 50ZA

PI = P0INT/0,0,0 DLN1,- 7 50ZB,1500D,4 5CW TCY YZ,0,750,1500 P2 • P0INT/750,750,0

P3 = POIN^SO,875,0 DLN2,-750ZB

THR YZ,1800,1250,1750,400 P4 s P0INT/2000,875,0 DLN3,-1250Z,1800D P5 = P0INT/2500,875,0

CYL YZ,1800,500 P6 - POINT/3000,1000,0 DLN4,PT(LN2/1750ZS,1800D),PT(LN2/2250ZS,2000D)

P7 = P0INT/3250,1000,0 DLN5,PT(LN2/2500ZS,2000D),PT(LN2/3500ZS,2750D) TCY YZ,1800,500,2000 P8 = P0INT/4250,1375,0

P10 = P0INT/4750,0,0 DLN6,-4750ZB,2750D

CYL YZ,2000,250 LI 3 LINE/PI,P2 DPB1,OZB,S(LN1);2750D,F(LN6),NOMORE L2 = LINE/P2,P3

TCY YZ,2000,1000,2750 L3 = LINE/P4,PERPT0,L2 DPB 2,LN1,S(LN(ZB));OD;LN2;LN 3;LN4;LN 5;LN6,F(LN(4 7 50D)),NOMORE

L4 = LINE/P4,P5

CYL YZ,2750,500 L5 LINE/P5,P6

L6 = LINE/PARALLEL,L3,YLARGE,100

CON OFF L7 = LINE/P7,P8

L8 = LINE/PARALEL,L3,YLARGE,375

L9 = LINE/P10,PERPTO,L8 *$

fig. 9.2 comparison between create, apt and compact repertoires for the component illustrated in fig. 8.1 EVALUATION AND ECONOMIC ASPECTS OF THE CAD/CAM SYSTEM minor word is to be accomplished. Minor words are also used to supply information relating to tool description and machining functions.

The mode of data entry of COMPACT II is very different from that of the CREATE package and the APT language. The coordinate system is as follows: X direction perpendicular to the centreline horizontally and Z direction along the centreline is illustrated in Fig. 9.1c. A possible part program in COMPACT II of the same component is illustrated in Fig. 9.2.

9.1.1 Analysis of the current systems' geometrical

repertoire with that of APT and COMPACT II

The first most obvious visual difference is the length of the NC part program. Part geometry definition of the component in discussion (Fig. 9.1) only essentially requires

10 lines (164 significant characters) in the CREATE format compared with 18 lines (330 significant characters) in APT and 10 lines (287 significant characters) in COMPACT.

Secondly, the CREATE part program is easier to read than the

APT and COMPACT versions and hence simpler to debug.

Consequently, for part geometry definition (certainly true for turned parts) the current system's geometrical repertoire has some outstanding advantages over the APT and

COMPACT II repertoires. APT and COMPACT, on the other hand, are better suited to handling complex or intricate - 254 -

EVALUATION AND ECONOMIC ASPECTS OF THE CAD/CAM SYSTEM

geometries which require complex machining geometry

definition, despite the fact that they may require many more

statements to define the part. It would, however, be

comprehensively defined in machining terms.

Another major asset of the current system is its very powerful graphical editing facilities (section 7.3). These are beyond those of APT and COMPACT. Features such as single-stepping through the primitives, deleting and

inserting primitives and analysis of a single component within a product contribute to the strength of the system.

COMPACT also pertains very powerful editing facilities but they are not as desirable as those discussed above. For example, they only assist in the error diagnostics of incorrectly entered commands, a graphical visualisation is not presented. If a command is incorrectly entered, a diagnostic comment will be returned explaining the error to the user. If the part programmer sees it immediately, then he corrects the statement. If he does not, then all or part of the processed statements up to that point can be typed out together with the X, Y and Z coordinates of the tool tip. From this alphanumeric information he should be able to visualise the location of the tool and pinpoint whatever geometric error may be present.

For 2D, 2^D and 3D modelling the current system's database architecture provides the best features. For example, for defining turned components and 3D models the part geometry definition is very easy with the use of solid - 255 -

EVALUATION AND ECONOMIC ASPECTS OF THE CAD/CAM SYSTEM model symbols such as BOX, CYL, PYR, TCY, HCL, etc. APT and

COMPACT, on the other hand, do not possess such symbols.

They, instead, define the geometry in terms of points, lines, arcs, planes and contours, and are thus suitable mainly for point-to-point applications.

A summary of the above analysis is tabulated in Fig.

9.3.

9.2 Arithmetic Precision of the current system

One of the disadvantages of 8-bit systems is their lack of precision in representing integer values. Since the word size of an 8-bit microcomputer is 16-bits the largest positive or negative integer than' can be stored, by the high level languages, is 32767. This, obviously, imposes a severe limitation to the development of high precision software.

There are two ways that this limitation can be overcome on 8-bit systems. Firstly, the software can be entirely developed in assembly language, whereby the desired precision can be incorporated. And secondly, whilst still utilising high level languages, all arithmetic routines can be expressed in floating-point format. The former option restricts the software to a particular system as well as taking longer to develop. The latter option requires very fast arithmetic processing speeds by the computer.

Furthermore, the extensive utilisation of floating-point - 256 -

Comparison Current APT COMPACT II Description M6809 System

Extensive use of Universally accepted Universally accepted •English-like' NC language/system NC language commands

Large geometrical Large geometrical Powerful diagnostics database database

Outstanding part Advanced graphical Applicable to a wide Very powerful geometry definition editing array of machining diagnostics features operations

Geometrical database Very versatile with Almost free formatt- is expandable almost free format ing in part geometry definitions definition

Parts are defined Excellent facilities using solid model for point-to-point symbols (eg BOX, work CYL, PYR, etc)

NC part programs are very compact

• Limited speed and Error diagnostics is Extensive training memory on the micro- poor and experience computer based required system

Very system NC part programs Only available on dependent are quite long mini/mainframe computers

Limitations/restric- Limited use of 3D Part geometry defini- Certain statements tions/general part geometry tion is difficult can become very long comments definitions and complicated

Useable only by Limited editing trained and facilities experienced personnel

Restricted to large computers

FIG. 9.3 PART GEOMETRY DESCRIPTION ANALYSIS OF THE DEVELOPED

M6809 SYSTEM, APT AND COMPACT II - 257 -

EVALUATION AND ECONOMIC ASPECTS OF THE CAD/CAM SYSTEM

format is very wasteful of memory. For example, on the current 8-bit microsystem an integer is represented by 2 bytes compared with 4 bytes for real. Floating-point computations execute at least twice as slow as their integer counterparts, on the same system (Fig. 9.4). This further suggests that a larger computer be used, so as to achieve the desired precision. The majority of the arithmetical computations can be performed in double-precision integer format whereby the largest positive or negative value is approximately 2E9. Four byte floating-point format can be used for computations involving very large or real numbers.

By utilising a four byte floating-point format (whereby the three most significant bytes represent the mantissa and the least significant byte represents the exponent) a precision 24 of one part in 2 can then be achieved. Expressed in decimal form, this corresponds to about one part in

16,000,000. The system can then accommodate fairly large —128 +128 numbers ranging from 2 to 2 , corresponding to a — 3 8 +38 decimal range of approximately 10 to 10 . Thus, one part in 16,000,000 implies a precision of 0.0000001 units, much more accurate than any available machine tool.

Alternatively, double-precision integer format can be used to represent dimensions. For example, if we assume that

0.0001 inch(mm) represents one unit then dimensions up to

200,000 inches(mm) can be handled. - 258 -

! ! 1TIMED INSTRUCTION ! TIME IN MICROSECONDS ! 1 1 MHz 6800 ! 1 MHz 6809 ! i 1 ! ! 1 1 !

!Integer Arithmetic I ! i i • 1 ! I = 1 1 418 257 ! ! I = J ! 594 ! 380 ! ! I = J + 1 ! 765 482 ! ! I = J + K ! 1046 687 ! ! I -SQR(J) ! 1235 667 ! 1 I = J * K ! 1737 871 ! ! I = J DIV K ! 2233 1798 ! i 1 IReal Arithmetic ! •

I A = 1.0 ! 820 ! 420 ! ! A = B ! 901 ! 475 ! ! A r B + C ! 2428 ! 1695 ! ! A = SQR(B) ! 5645 1586 ! ! A = B * C ! 6024 1809 ! •1 A = B / C ! 8789 I 6907 ! • • i

FIG. 9.4 COMPARISON OF EXECUTION TIMES BETWEEN INTEGER AND REAL ARITHMETIC - 259 -

EVALUATION AND ECONOMIC ASPECTS OF THE CAD/CAM SYSTEM

9.3 Data processing for the current system

Fig. 9.5 presents the complete data processing and

manufacture cycle for the component illustrated in section

8.1. Once the component has been designed and sketched the

lead time involved from the design stage to commencement of

machining is less than half an hour. Most of the data

processing operations are either automatic or computer-

assisted. The only manual tasks are the initial design and

data preparation of the component and the initial set-up of

•the machine tool. Obviously for subsequent machining the

total execution time would simply reduce to the sum of the

loading time of the part program into the machine tool's

memory from its backup storage and the machining time. This

would be well below 10 minutes.

With reference to Fig. 9.5, the most time consuming

stage is the interactive entry of the component's geometry

into the database via the keyboard. As discussed in Chapter

10 the use of a menu driven keypad would considerably reduce geometry and data input times. With the use of the keypad

the single most time consuming operation would then be the machining cycle (for the component in discussion).

More complex geometries would obviously require longer data processing and manufacturing times. For a part whose geometry is twice as complex the- total execution time would also linearly increase by a factor of two. Eccentric turned parts would require an additional amount of time since the positioning of the symbols would require pre-calculation and - 260 -

PROCESS MANUAL/AUTOMATIC/ COMMENTS APPROXIMATE INTERACTIVE METHOD EXECUTION TIME OF DATA PROCESSING (MINS)

Initial Design Manual The design-manufacture process initiates with the preparation of a working sketch, N/A suitably dimensioned. There is no require- ment of a GA drawing

Workpiece data Manual Verification of the preparation sketch and calculation of some 2 geometrical dimensions

Input of the Interactive Conversion of the geo- workpiece's metry into primitive geometrical and commands accepted by 5 technological the CREATE package, specifications input of the technological specs, and checking of errors.

Hard copy genera- Automatic Output via printer 2 tion of database Generation of the Automatic Execution of the CPDR workpiece.offsets, package. Simulation 5 rough and finecut on vdu loci and simulation of the cutter path

Hard copy genera- Automatic A hard copy of the tion of the cutter workpiece and the 3 paths cutter paths can be obtained via the PLOTTER PACKAGE

Generation of NC Automatic Task of PPGP package 1 part program

Transmission and Automatic storage of NC part 3 program to CNC machine tool

Machine setup Manual Setting up time only applicable for 1st 3 component of a batch

Machining time Automatic CNC 4

TOTAL EXECUTION TIME 28

FIG.9.5 PERFORMANCE TIMES OF THE CAD/CAM SYSTEM FOR THE COMPONENT ILLUSTRATED IN FIG. 8.1 . - 261 -

EVALUATION AND ECONOMIC ASPECTS OF THE CAD/CAM SYSTEM an extra MOV statement in between each symbol definition statement.

The task of data preparation and data processing for milled parts is slightly more complex and time consuming than that for turned parts. It results from the increased time taken to prepare the part for entry into the database and the increased processing time involved in the MCPDR package. The inherent complexity of the MCPDR package results in slightly longer data processing times. An example of the total execution time for a milled component is presented in [52] .

9.4 Comparison of the machine tool control codes output by

the current system with those of APT and COMPACT

The current system generates NC codes in two stages.

The first is the production of CLDATA files followed by their conversion into a standard machine tool control code format. The generation of intermediate CLDATA files suffices two main reasons. Firstly, a reduction in the length of the cutter path derivation packages due to the generation of a single control format file. Secondly, a reduction in the overall software cost incurred by the customer. The integration of a standard CLDATA file with several simplified machine tool links (post-processors) will ultimately result in modular software at the lowest possible cost. - 262 -

EVALUATION AND ECONOMIC ASPECTS OF THE CAD/CAM SYSTEM

This philosophy is parallel with that of APT and

COMPACT. Their control codes are identified by an alphanumeric designation consisting of a letter indicating the control function and either a whole or a decimal number indicating the format of the numeric portion of the output.

Fig. 9.6 lists standard control codes and their description.

M-codes, G-codes and sequence numbers (N) are commonly represented by the appropriate letter followed by a whole number specifying the maximum number of digits available for the code. Thus, the notation N3 would specify a maximum of three digits for the sequence number, i.e., 001 through 999.

G-codes and M-codes are represented by two digit numbers generally ranging from 00 through 99. Consequently, the standard notation is G2 for G-codes and M2 for M-codes.

9.5 Analysis of the MCPDR package with reference to the GNC,

Polysurf and Surfset packages

MCPDR is a modular and versatile package responsible for the generation and simulation of tool movements for 2 and 2iD parts. Due to the restrictions imposed by the current 8-bit microcomputer based system MCPDR is only capable of handling limited geometries. However, it is proposed (Chapter 10) that the system capabilities be expanded to handle a wider array of geometries. Furthermore, complex 3D geometries including surface definitions and freedom to decide on the tool paths such as those available Characters Description CODE FUNCTION CODE FUNCTION A Rotary Motion Around X Axis GOO Point to Point Positioning MOO Program Stop B Rotary Motion Around Y Axis GOl Linear Interpolation (Normal Dimensions) MOI Optional (Planned) Stop C Rotary Motion Around Z Axis G02 Circular Interpolation Arc CW (Normal M02 End of Program D Angular Dimension Around Special Axis or Dimensions) M03 Spindle CW Third Feed Function G03 Circular Interpolation Arc CCW (Normal M04 Spindle CCW E Angular Dimension Around Special Axis or Dimensions) M05 Spindle Off Second Feed Function G04 Dwell M06 Tool Change F Feed Function GI7 XY Plane Selection M07 Coolant No. 2 ON G Preparatory Function GIB ZX Plane Selection M08 Coolant No. 1 ON 1 Distance to Arc Center Parallel to X or G19 YZ Plane Selection M09 Coolant OFF Circle Center in X G40 Cutter Compensation Cancel M30 End of Tape J Distance to Arc Center Parallel to Y or G4I Cutter Compensation—Left Circle Center in Y G42 Cutter Compensation—Right K Distance to Arc Center Parallel to.Z or G90 Absolute Positioning Circle Center in Z G91 Incremental Positioning to M Miscellaneous Function 01 G94 IPM Mode co N Sequence Number G95 IPR Mode S Spindle Speed G96 CFSM Mode T Tool Function G97 RPM Mode U Secondary Motion Dimension Parallel to X V Secondary Motion Dimension Parallel to Y W Secondary Motion Dimension Parallel to Z X Primary X Motion Dimension Y Primary Y Motion Dimension Z Primary Z Motion Dimension

/y,\ R-Codes M-Codes (a) Standard Alphabetic Control Loaes Characters

FIG. 9.6 STANDARD CONTROL CODES - 264 -

EVALUATION AND ECONOMIC ASPECTS OF THE CAD/CAM SYSTEM

on many commercial packages such as GNC, Pol.ysu.rf and

Surfset, would need to be introduced.

One of the inherent advantages of the MCPDR package

over the commercial packages is its low cost. Although

restricted to 2.£D geometries, for the majority of 2£D

milling operations such a package on a low cost microsystem

would generate a lot of interest especially for the small

jobbing departments and industries.

9.6 Diagnostics and program debugging

Except with the simplest programs, even experienced programmers usually make some spelling, punctuation, or logic errors in the initial preparation and entry of their programs. The current system has been designed to recognise and diagnose as many of these errors as possible. Errors in spelling or syntax are relatively easy for the system to find and diagnose.

The error diagnostics software will determine whether any of the following types of errors are present:

1. Spelling and syntax errors,

2. Format errors,

3. System errors,

4. Peripheral communication errors. I - 265 -

EVALUATION AND ECONOMIC ASPECTS OF THE CAD/CAM SYSTEM

Spelling and syntax errors are the easiest to detect.

This is accomplished by the use of vocabulary tables

containing the valid commands. The entry is cross-referenced

against the vocabulary table for validity.

Format errors are associated with the number and order

of arguments within a command line. Examples are: missing argument(s), line buffer full, etc.

System errors are those associated with the size, power and storage capabilities of the system. Examples of system errors are: numerical attribute too large, scale value too large, multiplication overflow, etc.

Peripheral communication errors occur during peripheral communication or attempted communication. For example, if the backup storage unit, plotter, printer or machine tool are not ready then a peripheral communication error is detected and reported.

The response of the system to these errors varies according to the severity of the errors. Minor errors such as spelling and syntax, format, and some system and peripheral communication will result in the error being reported and allow the programmer to rectify it. Major

(irretrievable) errors such as illegal call of macros and symbols will result in the termination of the program. The program will then have to be reloaded and executed. EVALUATION AND ECONOMIC ASPECTS OF THE CAD/CAM SYSTEM

9..7 Economic aspects associat:ed with NC and the, current

system

Consideration of the economic aspects of NC manufacturing must commence with an appreciation of the fact, that NC machines are essentially versatile general-purpose machines suitable for the manufacture of a variety of components in small batches. If large quantity flowline production of uniform parts is required then special-purpose equipment such as transfer machines will normally prove more economic in providing higher rates of production at lower cost. The tendency is for an increasing proportion of manufacture to be in small batches to meet growing consumer requirements for new products, variety of choice and improved performance.

A survey by the Machine Tool Industry Research

Association (MTIRA) has shown that in general less than 25% of the benefits of NC as compared with conventional methods can be attributed to direct cost savings at the machine because of the reduction in floor-to-floor times. These time savings result from faster positioning due to continuous measurement and feedback, automatic tool changing and the use of optimum speeds and feeds, coupled with better machine utilisation and a reduction in the number of separate operations and set ups.

Numerous NC justification surveys are available [55] which discuss in detail the benefits associated with NC - 267 -

EVALUATION AND ECONOMIC ASPECTS OF THE CAD/CAM SYSTEM

implementation.. They can be summed up into forty four

points, Fig. 9.7. One of the most important economic factors

being the lead time. Apart from the considerable expense of

jigs and fixtures, lead times can extend to several months..

On the other hand, even for the most difficult component the

programming could be done and a tape prepared in a matter of

days, while in many cases machining could even commence the

same day as the design is complete.

Because of the time taken to produce jigs and fixtures,

and also because of delays experienced in obtaining initial

supplies of forgings or castings, numerical control can be

justified for first batches even when subsequent manufacture

is to be by conventional methods.

9.7.1 Effect on optimum production quantities and payback

period

It is worth repeating that NC machines are general-

purpose tools and consequently most suitable for the production of components in small batch quantities. The

actual batch size depends on a number of factors, with component complexity being particularly important. The

reason is that for very small batches the versatiliy of the skilled operator is significant, while for large batches NC would have to compete with special-purpose tooling. Fig. 9.8 represents a typical relationship between the effect of batch size on costs for conventional and NC methods. The The Forty-tour Points

ITEMS TO BE ANALYZED ANTICIPATED SAVINGS 22. More running time—80 to 85% 10% of total burden. FROM NC MACHINE versus 40 to 60%. 23. Control of cycle in hands of 10% increased production. 1 Improved accuracy 5% ol direct labor cost. management—can be fixed. 2 Reduced cutting 100I adjustment — 5% ol direct labor cost. 24. Savings in setting and maintaining 50% of cost of standards. by use ol tool offsets. standards. 3 Reduced cutting tool change time — 20% ol tool allowance. 25. Power consumption more level due 5% of power cost. change only when dull. to continuous running. 4 Reduced culling lool cosi — ihrow 25% of tool cost. 26. Reduction of inventory. 5% of dollar value of inventory. away carbides —more standard 27. Savings from storage of less 20% of storage area. tools —less specials productive material. 5. Longer lool life due to optimum - 30% ol tool cost. 28. Less inventory—less material 5% of material handling cost. cutting speeds and feeds handling. b. Savings in puchasing —less tools- 5% ol tool cost. 29. Floor space savings due to need for Actual space saved. less paper fewer machines. 7. Improved tool life due to improved 20% increased tool life. 30. Savings in supervision. Actual number saved. machine performance 31. Lower fringe costs due to more 25% reduction in fringe cost. 8. Reduce cutting tool storage—simpler 50% of tool crib area. productive time. tooling. 32. Ability to produce samples with 50% of sample cost. 9. Savings in tool maintenance—cutter 20% ol cutter grinding cost. productioon runs. grinding. 33. Availability of samples. A useful sales tool. 10 Less toolroom load due to less 25% less toolroom required. 34. Opportunity for foreman to Improved total operation. tooling required. concentrate on use of people rather 11 Lower fixture cost —less needed. 75% ol durable fixture cost. than machines. 12 Less tool engineering time. 30% ol tool-process engineering cost. 35. Reduction of direct labor. Actual savings based on pieces per 13 Advantage ol lamily-of-parts 20% of tool-process engineering cost. week—not cycle time. concept. 36. Flexibility of scheduling. Improved customer service. Id Savings from less lool engineering- 40% ol printing cost. 37. Savings in scheduling. Improved flexibility. tool engineering records—tool draw- 38. Ability to handle engineering Simple program change. ings—process sheets, etc. (printing changes. costs). 39. Ability to handle variable raw Less raw material rejections. IS Machine maintenance savings due 25% ol machine repair—labor. material. tt) improved and simpler designs. 40. Ability to produce more complex Machine capability simplifies tooling. lb Less machine repair parts required. 25% of machine repair—material. parts. 17 Less inspection due to improved 30% of inspection cost. 41. Product engineering has more Can take advantage of NC capability. machine—process repeatability. design flexibility.

18 NC inspection more accurate than Actual inspection time can be reduced 42. Ability to handle future designs Program changes only will handle many( manual methods. as much as 80% without extensive tooling. new designs. 19. Reduced setup time. 80% of setup cost. 43. Reduces costs and improves Estimates can be dry run of tapes. 20. Reduced setup scrap. 30% of scrap cost. estimating accuracy. 21. Reduced scrap due to lool change or 20% ol scrap cost. 44. Skills built into tape programs Tool and process engineers improved adjustment. retained through personnel changes. by 15%.

FIG. 9.7 NC BENEFITS SUMMED UP FORTY-FOUR POINTS - 269 -

it

a

^ BATCH SIZE

a = set-up costs per piece - conventional a' = set-up costs per piece - NC b = workin progress plus storage costs c = total costs - conventional c' = total costs - NC

FIG. 9.8 THE EFFECT OF BATCH SIZE ON COSTS - 270 -

EVALUATION AND ECONOMIC ASPECTS OF THE CAD/CAM SYSTEM set-up costs per piece are lower for NC than for conventional techniques. Consequently, total costs for NC are lower than conventional costs. The result is that by NC utilisation the cost per piece decreases and the economic batch size is smaller.

The overall result is a further reduction in inventory cost due to the reduced quantity of work in progress. Thus, the ability to manufacture economically in smaller batch sizes can lead to the situation where it is advantageous to make components as and when required, rather than producing in fairly large batches at widely spaced intervals.

Furthermore, the accumulated benefits of NC application, lower overheads, higher yield, lower lead times and better products greatly reduce payback times. Other paybacks are also achieved such as: improved consistency and yield of production, improved utilisation through greater versatility of machine tools, relieving some vital skill shortages, reduction in inventory control through closer control and better scheduling, reduction in space and energy requirements, and solving some safety and health problems by automating hazardous or disagreeable tasks. 271 -

CHAPTER 10

CONCLUSIONS, DISCUSSION AND SUGGESTIONS FOR FUTURE WORK

10..1 Conclusions and Discussion

Increased productivity at the lowest manufacturable cost is probably the ultimate desire of all industrial organisations. In order to achieve these goals several hurdles have to be overcome. Amongst the most important are: fierce competition from national as well as international competitors, improved product quality and reliability, and increasing raw materials and labour costs.

The introduction of computers and electronic technology in the form of computer-assisted design, flexible automation and the' automated factory will tremendously assist in the growth, prosperity and recognition of the industry towards fulfilling these aims. Furthermore, the ever diminishing size and costs of electronic devices together with the increasing versatility and chip population makes them ideal for application within production equipment, especially CNC machine tools, robots, and their control systems. The versatility of microcomputers and microelectronics provides equipment manufacturers and end-users with enhanced flexibility to customise the systems to their particular requirements. The ability to customise software as well as hardware can lead to better and more confident use of the system resulting in reduced product lead times and better product quality. - 272 -

CONCLUSIONS, DISCUSSION AND SUGGESTIONS FOR FUTURE WORK

The design methodology and initial development of such a system is presented in this thesis. For example, the development of initial CNC turning and milling machine tools are discussed in Chapter 6. The control system's architecture consists of a hierarchy of microcomputers whereby a control task is distributed by the delegator to the lower level of slave microcomputers. The slave microcomputers are similar in architecture and are dedicated to the task of controlling a single axis, such as spindle speed, X direction feedrate, Y direction feedrate, etc.

Software differences account for the task of the slave microcomputers. Such a system concept allows complex control systems and control tasks, such as 3D interpolation, to be handled by several low cost and modular axes and variable controllers.

Complementary to the CNC control hardware the design methodology of the CAD/CAM system, its workstations and software is presented (Chapters 4, 5 and 7). Unlike most of the commercial turnkey systems the described software integrates the two main fields of CAD and CAM whereby a product can be designed, graphically visualised, design analysis performed, draughted, cutter paths generated and simulated and finally down loaded on to the CNC machine tool for subsequent machining. The software is highly versatile, modular and expandable. For example, the system software can be easily expanded to accommodate a variety of machining operations ranging from turning, milling, drilling, punching, grinding and shaping to spot and continuous - 273 -

CONCLUSIONS, DISCUSSION AND SUGGESTIONS FOR FUTURE WORK welding. Its novelty also arises, from the fact that part programs can be generated for a wide range of machine tools.

The addition of a simplified post processing program will then convert the CLDATA file from a general integer binary format to one compatible with the machine tool.

The inherent low cost of the system hardware and software makes it ideally suited for many small and medium sized manufacturing industries who cannot afford (or do not have the requirements for) a large CAD/CAM system. By purchasing a versatile system which is suited to their requirements end users can expand the system as and when the need arises.

One of the greatest advantages of the system is its invaluable aid in job estimating, and is hereby discussed.

Minimising costs whilst maintaining schedules is a daunting task facing most workshop managers. It can be accomplished in one of two main ways. Firstly, by maintaining a high machine utilisation, and secondy by minimising the work in progress in the shop, i.e. by reducing queues. This means that the total time a component spends in the shop should be

•as close as possible to the sum of set-up, cutting and transport times. Both these aims must be achieved while maintaining delivery and coping with day to day problems such as re-makes, machine breakdowns, sickness and changing priorities. The use of such a system would have tremendous advantages with high machine utilisation, reduced set-up times, optimised machining times and generally increased - 274 -

CONCLUSIONS, DISCUSSION AND SUGGESTIONS FOR FUTURE WORK productivity. Job costing estimates would be much more accurate and quicker than by conventional methods. It would also be possible to cost effectively machine a single component and to get the customer's approval on its quality and finish. Any modifications can then be very easily edited

into the product's DB and the revised part produced.

10.2 Suggestions for future work

This section is subdivided into two main classifications. The first presents suggestions for improving and upgrading the hardware from the present SWTP system to a 2/2%D 8-bit microcomputer based system, and a second 3D 16-bit microcomputer based system. Both of these two systems could either represent dedicated systems or could be used as a workstation within a hierarchical system architecture, as discussed in Chapter 6.

The suggestion for an 8-bit and a 16-bit microcomputer based workstation are tabulated in Fig. 10.1. First consider the 8-bit workstation. The chosen workstation's computer is either of the SWTP or the GIMIX products. They are almost identical in hardware and cost. Their CPU is the popular

M68B09. Amongst the 8-bit microprocessors it is classified as the best in terms of its speed, versatility, ease of use and instruction set. The heart of the 8-bit workstation is the OS-9 operating system which runs on both the SWTP and the GIMIX microcomputers. It is a very popular multi-user, - 275 -

System configuration of a 3D system Comparison Elements of a 2/240 System based on the HP 9826 microcomputer Ratio Element Identifier Typical Typical Approx* Approx* Unit/ Comments unit/ Cost Comments Cost Configura- Configura- tion tion

Workstation's SWTP/GIMIX 8-bit system £2750 HP 9826 16-bit system £10,000 1:3.6 Computer M6809 Micro- Microcomputer computer

Microprocessor M6809 8-bit 2MHz - M68000 16-bit 8MHz - - microprocessor microprocessor

On-board RAM 12 8K Static — 512 K Static — —

Operating 0S-9 Multi-user OS £350 Pascal Three operating inc. System producing Basic systems exist. relocatable code. HPL All single-user Overlay routines and ability to link different language utility programs as s tan da rd Subset of UNIX Programs1ng Pascal OS-9 Pascal £300 Pascal Wide array of inc. Languages Assembler compiler produclnc r 68000 pi'ogrannni ng source code as Assembler languages well as P-code. Fortran Basic HPL

Modern HP2648A Medium resolution £4700 HP1310B Raster scan VDO £5000 Peripheral VDO ' (720x360) but HP 1351A and sufficient for Graphics generator £4000 the majority of 2/24D operations

Mass Backup Winchester 5M byte £3000 Winchester 5M byte backup £3000 1:1 Storage Disc Disc storage. Ideally 10—20M byte are required

1 " 1 " Removable Twin 5 / 1.2MB inc. Ideally a twin 8" inc. 5 / Floppy Storage Floppy floppy disc drive Disc Disc Unit or a cartridge is required. One 5l/4 " disc unit is not sufficient

External peri- Small size £1000 HP 911.LA Medium size tablet. £1500 1:1.5 pherals (optional] tablet. Alphanumeric; £ 500 High resolution. £1000 1:2 graphic Alphanumeric/ printer. Graphic Printer. Plotter. £3000 Plotter. £3000 1:1

TOTAL COST E15600 TOTAL COST £25500 1:1.76

* All prices are approximate and correct at time of printing.

FIG.-. 10.1 CONFIGURATION AND COST COMPARISONS BETWEEN A 2/2JD AND A 3D SYSTEM - 276 -

CONCLUSIONS, DISCUSSION AND SUGGESTIONS FOR FUTURE WORK multi-tasking operating system closely resembling the universal UNIX operating system. A low cost HP2648A VDU with a resolution of 720 x 360 is sufficient for the majority of

2/2iD operations. A Winchester disc capable of storing upto

5M bytes supplemented with a twin inch floppy disc unit are ideal for storage devices. With the additional optional peripherals the system cost would be well under £20,000

(including software). This figure represents an ideal low cost system suitable for even the small and medium sized manufacturing industries.

Suggestions for the development of a 3D CAD/CAM system on a 16-bit microcomputer based system are hereby discussed.

The microcomputer in discussion is the Hewlett Packard, HP

9826 system containing the M68000 microprocessor as the CPU and 512K of static RAM. Three operating systems exist, namely: Pascal, Basic and HPL. The majority of CAD/CAM software should be developed under the Pascal OS in order to take full advantage of the feature of the language, and secondly, to develop software in a universal language so that it may be transportable between heterogeneous computers. Handlers, I/O and time critical routines should be developed in 68000 assembly language and integrated with the Pascal routines. The OS and application programs should all be resident on Winchester disc whilst utilising the floppy discs for backup storage. The data tablet will assist in the entering of the geometry as well as technological information in the form of menu tables, freehand sketching and digitising. A high resolution alphanumeric/graphics - 277 -

CONCLUSIONS, DISCUSSION AND SUGGESTIONS FOR FUTURE WORK printer can be used for fast low cost screen dumps of geometry and data. High resolution drawings, including general assembly, can be obtained via the flatbed plotter connected via the RS232 bus. The cost of the 16-bit microcomputer based workstation is approximately £25,500 a minimal increase in cost over the 2^D system.

Besides upgrading the hardware from the present SWTP microcomputer to two commercialy viable 2kD and 3D systems, improvement and expansion of the developed software would be required. The various CAD/CAM packages are discussed in the order that they are executed and suggestions for improvement and expansion are presented. Modularity of the current DB and software packages should make this task relatively straight forward.

The DB format would have to be expanded within the

CREATE package to accommodate a wider array of geometries such as arcs, splines and user defined macros. The 2tD database would also have to be expanded to a 3D database on the 15-bit workstation. Geometry definitions would need to be much more versatile so that they are almost free format, and incorporate the use of both metric and imperial units.

For example the present 8-bit restricted format:

CYL Plane,Diameter,Depth e.g. CYL YZ,1000,500

CYL XY,712,-425 - 278 -

CONCLUSIONS, DISCUSSION AND SUGGESTIONS FOR FUTURE WORK

would result as:

CY.L Direction cosines,Attribute 1,Attribute 2 e.g. CYL 10,20,40,1000D,500L

CY.L 20,0,40,10.123L,0.112D

The latter represents the geometry definition for a cylinder

in 3D space. Its direction angles are stated with its length and diameter specified in free format in the pre-stated units. Mirroring, scaling and rotation of primitives would also be desirable. The use of the menu tablet as a means of geometry definition would need to be implemented.

Improvements within the DISPLAY package would be the introduction of a display file which represents only some position, view, or part of the picture. This would obviously be stored on fast backup storage, such as Winchester disc.

It would be used for the fast redisplay of certain pictures such as 1st angle projection, or isometric/perspective/3D views [56]. Several hidden line elimination algorithms exist

[57] and they will need to be investigated and a suitable one implemented.

The DESIGN analysis package would certainly need to be expanded to cover various other geometries besides turned parts. However, it may be advisable only to further develop this package according to the specific requirments of customers. - 279 -

CONCLUSIONS, DISCUSSION AND SUGGESTIONS FOR FUTURE WORK

The CPDR packages would need to be expanded to take

into account the additional number of primitives. The

generation of the CLDATA would have to be much more

interactive to provide greater freedom to the operator in

the selection of tools and cutter paths. Furthermore, more

sophisticated optimal cutting parameters' algorithms would

be required.

Integration of the CAD/CAM workstation(s) with several

machine tools and robots within a FMS cell would need to be

investigated. A supervisory computer would be required to

assume overall control within a cell ensuring that a part is

efficiently manufactured by the various elements of the

cell.

4 280 -

REFERENCES

1. Kehoe L, 32-bit processor power at ISSCC,

Electronics and Power, March 1981, pp. 202

2. IIT Research Institute, APT Part Programming, McGraw-

Hill Book Company, 1967

3. AM9511A Arithmetic Processor Unit Datasheet,

Advanced Micro Devices Inc., California, 1980

4. Tangney J, Computer-Aided Drafting on desktop

computers, Tektronic Inc., Proceedings of CAD82,

pp. 549-555

5. Alankus 0 B, A versatile turning centre with multi-

microprocessor control, PhD Thesis, University of

London, July 1982

6. Pressman R S and Williams J E, Numerical Control and

Computer-Aided Manufacturing, John Wiiey and Sons,

1977

7. Budzilovich P N, Computerised NC - A step toward the

automated Factory, Control Enineering, Vol 16, July

1969, pp. 62-68

8. Electronics Industries Association standard for NC

Tape - 281 -

REFERENCES

9. Pak H A, Microprocessors in Computer-Aided Design

and in Computer-Aided Manufacture in Mechanical

Engineering, PhD Thesis, Imperial College, University

of London, 1981

10. Hilford M H, Using intelligent peripherals for

boosting microprocessor speed, Machine Design,

January 6 1977, pp. 70-74

11. Krouse J K, CAD/CAM Bridging the gap from design to

production, Machine Design, June 12 1980, pp. 117-125

12. Fishlock D, Advent of computer-managed, robot-

operated factories, Financial Times, February 8 1980

13. Fulton R E, Using CAD/CAM to improve productivity:

The IPAD approach, Mechanical Engineering, November

1981, pp. 64-69

14. Fischer W E, PHIDAS - a database management system

for CAD/CAM application software, Computer-aided

design, vol 11, No 3, May 1979

15. Clements A, An introduction to bit-slice

microprocessors, Electronics and Power, March 1981,

pp. 230-235

16. Ferranti's M700/40 bi-polar microprocessor, Micro

Forecast, January 28 1982, pp.1 - 282 -

REFERENCES

17. Bipolar PROMs: Advantages, Applications. Micro

Forecast, July 16 1981, pp.7

18. Weiner B and Swartz D, Adapting Unix to a 16-bi.t

Microcomputer, Electronics, March 24 1981, pp. 120-

124

19. Managing micros in mechanical projects, CME design

and manufacturing supplement, October 1981, pp. 11-14

20. Wirth N and Jensen, Pascal user manual and report,

Second Edition, Springer Verlag

21. Posa J G, Pascal becomes software superstar,

Electronics, October 12 1978, pp. 81-83

22. Gibby D R and Bennee N W, P-6800 Pascal user guide

and reference manual, Version 3.9, Lucidata Ltd,

Cambridge, 1981

23. Bolyreff C, Developing microprocessor software

without tears, Electronics and Power, March 1981,

pp. 228-229

24. Hemenway J, Microcomputer Operating Systems

Directory, EDN, November 5 1980, pp. 275-338 - 283 -

REFERENCES

25. The board that has everything, Dicoll Electronics,

Basingstoke, Computer Systems, October 1981, pp. 4-5

26. Maths Processor Chips, Electronic Equipment News,

August 1980, pp.,8

27. NEC UPD7220/GDC Graphics Display Controller, NEC

Electronics (Europe) GmbH

28. Ford R, Distributed processing in CAD, Proceedings

of CAD80, 1980, pp. 353-360

29. HP 2648A graphics terminal reference manual,

Hewlett Packard Company, California

30. The Flex Disk Operating System Documentation,

Technical Systems Consultants, Inc.

31. Dalzell D T , Intelligent machine tools and the

microprocessor, PhD Thesis Imperial College,

University of London, 1981

32. Pak H A and Alankus 0 B, . Proposed CNC System's

control hardware specification and programming

example. Internal report, Imperial College, June 1981

33. Welsh D and Amkreutz J, A General Engineering System

on a micro ?!, Proceedings of CAD82, pp. 536-548 - 284 -

REFERENCES

34. Oyake I, Mizuno H, and Yamagishi M, A Graphic.

Database for interactive CAD, Proceedings of CAD82,

pp. 133-142

35. Wirth N, Algorithms and Data Structures = Programs,

Prentice Hall, 1976

36. Booth G M, Hierarchical Configurations for

distributed processing, Compcon Digest, September

1977

37. Khurmi S K, A microcomputer based CAD/CAM system,

PhD Interim Report, Imperial College, Universtity of

London, March 1981.

38. British Standards Institution, BS 308 Engineering

drawing practice

39. Earle J H, Engineering Design Graphics, Third

Edition, Addison-Wesley Publishing Company, 1977

40. Newman W M and Sproull R F, Principles of Interactive

computer graphics Second Edition, McGraw-Hill, 1979

41. Olesten N 0, Numerical Control, Wiley-Interscience,

1970 - 285 -

REFERENCES

42. Compact II Programming Manual, Manufacturing Data

Systems International, Fifth Edition, 19C0

43. GNC - Graphical Numerical Control Programming

System, Computer-Aided Design Centre, Cambridge

44. Flutter A G and Rolph R N, POLYSURF: an interactive

system for the computer-aided design and

manufacture of components, Proceedings of CAD76

45. Surfset - A suite of programs for computer-aided

design and manufacture, Lucas Logic Limited, Warwick,

UK

46. Toko Inc., KM3701 Interpolation IC Data sheet, Japan

47. Khurmi S K, A microcomputer based interactive

CAD/CAM system for turning and milling operations,

Proceedings of CAD82, April 1982

48. Krar S, Oswald J and Amand H , Technology of Machine

Tools, Second Edition, McGraw Hill, 1977

49. Machinery's handbook, 21st edition, Industrial Press

Incorpo ration

50. Bird M G, Computer Simulation of Automatic Lathe

Machining Methods, Chartered Mechanical Engineer,

June 1981, pp.29-33 - 286 -

REFERENCES

51. Acosta A, Alankus 0, Hibberd R, Besant C and Pak H, An

arlgo.ri.thm for off-line optimisation of cutting

conditions in a microcomputer, Internal report,

Imperial College, June 1982

52. Khurmi S K, The Design and development of a

microcomputer based CAD/CAM system for 2£D milling

operations. Proceedings of MICAD82, September 1982

53. Pitteway M L V, An algorithm for drawing ellipses or

hyperbolae with a digital plotter, Computer Journal,

Vol 10, No 3, November 1967

54. Persson H, NC Machining of arbitrarily shaped

pockets, Computer-aided design, Vol 10, Number 3, May

1978, pp.169-174.

55. Modern Machine Shop, 1982 NC/CAM Guidebook, Vol 54

No. 8A, January 1982, pp. 431-437

56. Data manipulation for 3D display, Practical

Computing, Vol 5, April 1982, pp. 77-80

57. Griffiths J, Bibliography of hidden-line and hidden-

surface algorithms, Computer-Aided Design, Vol 10

No. 3, May 3 1978, pp. 203-206 - 287 -

APPENDICES - 288 -

APPENDIX A

CREATE PACKAGE COMMAND REPERTOIRE

The command repertoire of the CREATE package is presented in Fig. Al. Symbol definition commands have the following syntax:

Command Syntax Plane,Attribute^,Attribute2,...Attribute^

The command syntax may be any one of the commands present in the vocabulary table. Only the first three characters of a command are required to define it. The attributes specify arguments associated with the command.

They may consist of alphabetic characters as well as numeric values. Numeric values are presented in an integer form within .the range (-32767 to +32767). appendix a

create: package command repertoire

COMMAND COMMAND ATTRIBUTES DESCRIPTION EXAMPLE SYNTAX

BOX BOX Length (X), Width (Y), Rectangular box where the BOX 1000, 2000, 3000 Height (Z) attributes represent distances along the specified axes.

BYE BYE Terminate the program execution BYE

CIRCLE CIR Plane, Counter/Counter- Circle or a circular arc CIR XY,0,100,200,50,5 clockwise flag, horizontal coordinate of end point, vertical coorinate of end point, horizontal coordinate of centre point, vertical coordinate of centre point.

COMPONENT COM Component name Component name specified as COM BEARING ASCII characters. The component name is stored in the DB.

CONCENTRIC CON Plane, numerical value of Switch on the concentircity CON XY,1000 concentric axis feature whereby turned primitives are automatically positioned concentric to the specified axis.

CON OFF Switch off concentricity feature CON OFF

CURSOR CUR Move the graphics cursor to the CUR current position in (X,Y,Z) space. First the cursor is displayed in the XY plane, followed by the YZ plane, followed by the XZ plane and to the XY plane.

CYLINDER CYL Plane, diameter, depth A primitive: specification record CYL XY,210,100 for a right cylinder. npt.m'i'h CYL Delete the last entered primi- DEL tive from the workspace.

DIMENSION DIM See Appendix D

DRILL DRL Plane, horizontal coordinate Specification for a drilling DRL XY,100,100,50,25 of centre point, vertical operation. Equivent to a coordinate of centre point, MOVE followed by a CYL command. hole diameter, hole depth.

DISPLAY DSP Transfer control from CREATE DSP package to DISPLAY package.

EXIT EXI Transfer control from CREATE EXI package to CDAD idle state.

FILLET FIL Plane, clockwise/counter- Primitive specification record FIL XY,0,200,200,50,40 clockwise flag, horizontal for a fillet. Several versions coordinate of end point, exist for this primitive for vertical coordinate of end ease of definition. point, horizontal coordinate of centre point, vertical coordinate of centre point.

FIL Plane, clockwise/counter- FIL XY,0,T;315,100,100 clockwise flag 'T', 9, horizontal coordinate of centre, vertical coordinate of centre.

FIL Plane, clockwise/counter- FIL XY,0,T,315,R50,RO clockwise flag, 'T', 9, relative horizontal distance from start point to centre, relative vertical distance from start point to centre. - 290 -

CREATE PACKAGE COMMAND REPERTOIRE (Cont'd)

COMMAND COMMAND ATTRIBUTES DESCRIPTION EXAMPLE SYNTAX

FLEX FLE See BYE

HOLLOW HCY Plane, major diameter, depth, Primitive specification for a HCY YZ,1200,5000,1100 CYLINDER minor diameter thick/thin walled tube (hollow cylinder).

LABEL LAB Plane, normal/slanted A primitive specification record LAB XY,100,200,Message character flag (optional), for an ASCII string to be LAB XY,(1,2,2,45),100,200,Message horizontal size factor for the printed on the screen/plotter characters (optional), verti- and stored In the DB. LAB YZ,(0,1,1,0),20,30,Message cal size factor for the LAB XZ,(0,1,4,270),50,300,Message characters (optional), string's angle of Inclination, ant±-clockwise (optional), horizontal position for the start of the string, vertical position for the start of the string, string to be printed.

LINE LIN X coordinate, Y coordinate, Prlmitve specification record LIN 1000,2000,3000 Z coordinate. for a line.

LIST LIS Component Number Alphanumerically list the LIS 1 primitives which make up the LIS 4 specified component. If a '!' LIS ! symbol is specified then the entire product's primitives are listed.

LINE-TYPE LTY Line Type Number Select one of the four line LTY 2 types from solid (default), dotte4, chain and long chain.

MEND MEN List the vocabulary table. MEN

MOVE MOV X Coordinate, Y Coordinate, Move with the pen-up from the MOV 1000,1000,4000 Z Coordinate current position to the specified position.

PRODUCT PRO Product name Product specification record. PRO GEARBOX The product name (7 ASCII characters) is stored ln the OB.

PYRAMID PYR (X) Base Length, (Y) Base Primitive specification record PYR 1000,2000,500,750,600 Width, Height (Z), (X) Upper for a pyramid, similar to BOX. Length, (Y) Upper Width

RELATIVE- RLI Relative distance (X), Line specification record where RLI 100,200,0 LINE Relative distance (Y), the attributes represent rela- RLI 0,0,1000 Relative distance (Z). tive distances from the current pen position to the desired position.

RELATIVE- RMO As RLI As RLI except pen is up. RMO 100,200,0 MOVE

SAVE SAV File Name Save on disc the current product SAV GEARBOX within the workspace under the SAV G3ARB0X.DAT specified file name. Up to 8 SAV GEARBOX.PRD characters are allowed for the name plus a 3 character exten- sion. Default extension is (.DAT).

SCALE SCA Scale Value Assign a scale value for SCA 10 display purposes.

STATUS STA Current values of CREATE flags STA and pointers are displayed.

TAP TAP Plane, outer diameter, outer Primitive specification record TAP XY,100,500,50,600,400 depth, inner depth, pitch for a Internal thread. size

TAPER- TCY Plane, diameter^, depth, Primitve specification record TCY YZ, 1000,2000,2000 CYLINDER diameter^• for a tapered cylinder. Depth is specified positive from left to right.

THREAD THR Plane, major diameter, length, Primitive specification record THR YZ, 1000,2000,800,400 minor diameter, pitch size for an external thread. - 291 -

PRIMITIVE DATABASE ORGANISATION

LINE 7 bytes i

I coda

CIRCLE 11 bytes

Icode Symbol Circle End coords Centra- coords type O type

CYLINDER 7 bytes

Icode Symbol, Circle Diameter Depth type 1 type

THREAD 11 bytes

Icode Symbol Circle Outer Depth Inner Pitch type 2 type Diameter Diameter

TAP 13 bytes

Icode Symbol Circle Outer Depth Inner Depth Pitch type 3 type Diameter Diameter

TAPER- 9 bytes CYLINDER Icode Symbol Circle Diameter Depth Diameter type 4 type

FILLET 11 bytes

Icode Symbol Circle End Coords Centre coords type 5 type

BOX 8 bytes Icoda Symbol Width (XX Depth (Y) Height (Z) type 6

PYRAMID 13 bytes

Icode Symbol Base (X) Base (Y) Height Top (X) Top (Y) type 7 (Z)

HOLLOW- CYLINDER 12 bytes

Icode Symbol Circle Diameter Depth Diameter Depth type 8 type 1 1 2 2

APPENDIX B. PRIMITIVES' DATABASE ORGANISATION - 292 -

APPENDIX C

CREATE & EDIT PACKAGES' ERROR MESSAGES

Error Number Meaning

CREATE Errors

01 Unrecognisable command syntax

02 Workspace full

03 Missing argument in command syntax

04 Missing line element in command syntax

05 Line buffer full

05 Illegal line type definition

07 Scale value too large

08 Dimension error

09 Numerical attribute too large

10 Plane definition syntax error

11 Delete command error

12 Save/load command error (possibly disc not ready)

13 Syntax error in LABEL command

14 Component does not exist

15 Component number larger than 127

16 Multiplication overflow

17 Feature not implemented

EDIT Errors

El Command not allowed in Edit mode

E2 Workspace full

E3 EDIT delete error - 293 -

APPENDIX D

DISPLAY PACKAGE COMMAND REPERTOIRE

Nomenclature definitions

The following symbols are used in the description of the DISPLAY package's command repertoire:

CN - denotes the Component Number

P - denotes plan view (XY plane)

E - denotes elevation (XZ plane)

S - denotes side-elevation (YZ plane)

I - denotes isometric view

R - denotes reverse isometric view.

No.te that only the first three characters are sufficient to define a command. Furthermore, only the first letter of a view is required to define that view. Any combination or sequence of views can be invoked by separating them with a comma. For example the following two entries have the same meaning although the former is easier to enter:

DIS 1 P,E,S,I

DISPLAY 1 PLAN,ELEVATION,SIDE,ISOMETRIC

BYE

Format :- BYE

Description:- Stop the program execution and return to

Flex. - 294 -

DISPLAY COMMAND REPERTOIRE

CLEAR SCREEN

Format CLE D

Description:- Erase the graphics display.

Format :- CLE P

Description:- Clear the graphics display of the plan

view, etc.

CREATE

Format :- CRE

Description:- Exit from the Display Package and

transfer control to the Create package.

DIMENSION

Format :- DIM

Description:- Screen dimension a primitive by

digitising the extremities of the

dimension label using the G-cursor.

DISPLAY

Format :- DIS CN P,E,S,I,R

Description:- Display the requested views of the

desired component.

Examples :- DIS 1 P

:- DIS 1 S,I

Format :- DIS CN P,E,S,I,R +C

Description:- As above but abort software clipping.

Example :- DIS 1 P,E +C - 295 -

DISPLAY COMMAND REPERTOIRE

Format DIS CN P,E,S,I,R +S

Description:- As above but store a copy of the desired

view(s) on disc.

Examples :- DIS 1 I +S

:- DIS 3 PfErSrR +S

DRAW AXES

Format :- DRA

Description:- Subdivide the screen into four viewports

and label them.

FLEX

Format :- FLE

Description:- See BYE

REDISPLAY

Format :- RED

Description:- Re-display the stored view(s)

ROTATE

Format :- ROT CN P,E,S

Description:- Rotate the desired component and display

the requested views. Isometric and

reverse-isometric views cannot be

rotated.

Example :- ROT 5 P,E,S - 296 -

DISPLAY COMMAND REPERTOIRE

Format ROT CN P,E, S +C

Description:- As above but abort software clipping.

SCALE

Format :- SCA No

Description:- Allocate a scale factor for display

purposes.

Example :- SCA 15

STATUS

Format :- STA

Description:- Indicate the current values and status of

Display parameters, such as SCALE,and

current position in 3D space.

STOP

Format :- STO

Description:- See BYE

WINDOW

Format :- WIN CN

Description:- Request to window the specified

component. The G-cursor is switched on to

digitise the window coordinates.

Example :- WIN 2 - 297 -

APPENDIX E

PLOTTER PACKAGE COMMAND REPERTOIRE

Nomenc1ature d ef i ni tions

In addition to the nomenclature presented in

Appendix D, let A represent "Axes" and L represent "Label".

PLOT

Format PLO CN A,P,E,S,I,R

Description:- Plot the requested views of the desired

component. Additionally plot and label

the axes if requested.

Example :- PLO 2 A,P,E,S,I

Format :- PLO CN A,P,E,S,I +L

Description:- As above but if +L is specified then the

axes are plotted but not labelled.

Example :- PLO 2 A,P +L

PLOT ROTATED VIEW(S)

Format :- PLR CN A,P,E,S,I,R

Description:- Rotate the specified component and plot

the rotated view(s).

Example :- PLR 3 A,P,E

PLOT MESSAGE AT CURSOR

Format :- PMC

Description:- Graphics cursor is switched on and

manually positioned to a position on

the screen. The keyboard entered

message is then plotted on the plotter. - 298 -

APPENDIX F

VARI'GNON1S THEOREM

One of the most important principles of mechanics is

Varignon's theorem, or the principle of moments, which states that the moment of a force about any point is equal

to the sum of the moments of its components about the same point. To prove this statement consider a force R and two components P and Q acting at point A, Fig. FI. Point 0 is selected arbitrarily as the moment centre. Construct the

line AO and project the three vectors onto the normal to

this line. Also construct the moment arms p, q, r of the three forces to point 0 and designate the angles of the vectors to the line AO by a, 3, Yr as shown below.

FIG. FI - 299 -

APPENDIX F

Since the parallelogram whose sides are P and Q requires that ac = bd, it is evident that

ad = ab + bd = ab + ac

or

RsinY = Psina + QsinB

Multiplying by the distance AO and substituting the values of p, q, r give

Rr = Pp +• Qq

which proves that the moment of a force about any point equals the sum of the moments of its two components about the same point. Varignon's theorem here proved for 2 components can be used for three or more components. - 300 -

APPENDIX G

MOMENT OF INERTIA OF COMPOSITE BODIES

The moment of inertia of a composite body or area about a particular axis is- the algebraic sum of the moments of inertia of the various parts about the same axis,

Appendix F.

When a section is composed of a large number of parts, it is convenient to tabulate the results for the parts in terms of the area A, centroidal moment of inertia I, distance d from the centroidal axis to the axis about which the moment of inertia of the entire section is being 2 computed, and the product Ad . For any one of the parts the desired moment of inertia is I + Ad , and thus for the entire • section the desired moment of inertia may be expressed as

P TOTAL = EI + EAd2 - 301 -

APPENDIX H

DETERMINATION OF THE CENTROID OF COMPOSITE BODIES

When a body or figure can be conveniently divided into several parts of simple shape, the principle of Varignon may be used if each part is treated as a finite element of the whole. Thus for a body whose several parts weigh Wlf W2, W3,

..., and whose separate coordinates of the centre of gravity of these parts in, say, the x-direction are xlf x2 f x ..., the moment principle gives

(Wx + w2 + w3 + ...)X = wx x1 + w2 x2 + w3 x3 + ...

where X is the x-coordinate of the centre of gravity of the whole. Similar relations hold for the other two coordinate directions. These sums may be expressed in condensed form and written as

X = ZWx

EW

Y = EWy

EW

Z = EWz

EW

Analogous relations hold for composite lines, areas, and volumes, where the W's are replaced by L's, A's and V's, . respectively. - 302 -

APPENDIX I

DESCRIPTION OF THE TCLDATA AND MCLDATA FILES

1.1 TCLDATA Format

The Turning Cutter Location Data format comprises of

the seven record types illustrated in Fig. II. Each record

consists of three attributes. The first represents the

Machining Code (MCODE) followed by the machining attributes

stored in an integer binary format.

All coordinates are of the tool tip with respect to

the component datum position.

M CODE Attribute 1 Attribute 2 Description

0 X Coordinate Y Coordinate Rapid Traverse (MOVE) 1 X Coordinate Y Coordinate Linear motion with feedrate constraint (CUT) 2 Spindle Speed 0 * (rpm) 0 Cutting Speed (incr/s) 3 X Coordinate Y Coordinate Threading attri- butes 4 Pitch Size Pitch specifica- tions 5 0 Tool number Tool change 1 Tool tip radius • 6 Maximum feed- Torque concen- Constraints for rate tration feedrate/torque

Fig. II. TCLDATA File Format 303 -

DESCRIPTION OF THE TCLDATA AND MCLDATA FILES

1.2 MCLDATA Format

The MCLDATA is a file similar to that of the TCLDATa. with the following exceptions:

Milling Cutter Location Data are represented

Each record comprises of four attributes

The records are stored in a integer binary format

firstly to economise on storage and secondly to be

consistent with the DB and the CNC formats. A similar table

to that for the TCLDATA is presented in Fig. 12.

MCODE Attribute 1 Attribute 2 Attribute 3 Description

0 X Coordinate Y Coordinate Z Coordinate Rapid Traverse (MOVE)

1 X Coordinate Y Coordinate Z Coordinate Linear Motion with feedrate constraint (CUT)

2 Spindle speed 0 0 (rpm) 0 Cutting speed 0 (incr/sec) 3 0 Drilling spindle Drilling speed cutting speed Vertical drilling specifications 1 0=Conventional Depth drill, bore & float tap cycles l=Peck drilling cycle

4 Pitch Depth of thread Number of Threading passes specification 5 0 Standard tool no 0 Tool specification 1 Tool type Tool diameter 6 Feedrate Torque 0 Constraints lor feedrate torque

Fig. 12. MCLDATA File Format - 304 -

APPENDIX J

TCPDR AND MCPDR PACKAGES' COMMAND REPERTOIRE

TCPDR command repertoire

BYE

Format :- BYE

Description:- Terminate the program execution and

return to Flex.

FLEX

Format :- FLE

Description:- See BYE

MACHINE COMPONENT

Format :- MAC CN

Description:- Display the component's geometry and

simulation of the machining operation.

Subsequently, generate an NC file

containing the TCLDATA records.

Example :- MAC 1

Format :- MAC CN +C

Description:- As above but do not display the tool

during simulation. Only the component and

the cutter path loci are displayed.

Example :- MAC 1 +C

SCALE

Format :- SCA

Description:- Allocate a scale factor for display. - 305 -

TCPDR AND MCPDR PACKAGES' COMMAND REPERTOIRE

TOOL DISPLAY

Format TOO

Description:- Upon response to the desired tool number

its geometry is displayed on the screen

and its nose radius stated.

MCPDR command repertoire

BYE

Format :- BYE

Description:- As before.

CLEAR VIEWPORT(S)

Format :- CLE P,E,S,I,D

Description:- Refer to Appendix D.

Example :- CLE D

DISPLAY

Format :- DIS CN P,E,S,I

Description:- Refer to Appendix D.

Example :- DIS 1 P

DRAW AXES

Format . " :- DRA

Description:- Refer to Appendix D.

FLEX

Format :- FLE

Description:- See BYE \ - 306 -

TCPDR AND MCPDR PACKAGES' COMMAND REPERTOIRE

MACHINE COMPONENT

Format MAC CN

Description:- Determine machining parameters and

simulate machining operation.

Subsequently, generate a NC file

containing MCLDATA records.

Example :- MAC 1

PLOT COMPONENT & CUTTER LOCI

Format :- PLO

Description:- Plot the desired component and the cutter

loci.

SCALE

Format :- SCA

Description:- As before.

STATUS

Format :- STA

Description:- Display the status of the common

identifiers such as SCALE, Tool Number,

etc.

TOOL DISPLAY

Format :- TOO

Description:- Display the geometry of the desired

milling/drilling tool and specify its

dimensions. - 307 -

APPENDIX K

PPGP PACKAGE COMMAND REPERTOIRE

GENERATE PART PROGRAM

Format GEN

Description:- First the file specifications for the

TCLDATA file and the part program file

are requested. The command then generates

a part program from the TCLDATA file and

stores it under the name specified for

the part program file.

TRANSPARENT STATE

Format TRA

Description:- The transparent state is entered by this

command whereby direct communication

between the workstation and the CNC

system is achieved. The user can thus

acquire direct control of the machine

tool as well as any CNC resident

software. The transparent state is

terminated by typing a '

SEND PART PROGRAM

Format SEN

Description:- The part program is transmitted to the

CNC system

FLEX

Format FLE

Description:- Terminate program execution and return to the operating system, FLEX. - 308 -

APPENDIX L

A MICROCOMPUTER BASED INTERACTIVE CAD/CAM SYSTEM FOR TURNING AND MILLING OPERATIcjj,

S K Khurmi, C B Besant, A Jebb and H A Pak

Mechanical Engineering Dept, Imperial College of Science & Technology, LONDON.

A low cost Microcomputer based integrated Computer Aided Design/ Computer Aided Manufacturing (CAD/CAM) system (MICCAD) is described for the design and direct manufacture of mechanical engineering parts which are produced by "Turning" and/or "Milling" operations. The system is capable of interactive display, creation, draughting, and production of numerical control part programs for a family of multi-microcomputer distributed numerical control (CNC) machine tools being developed at Imperial College. A "Hierarchical System" approach has been adopted both within the data-base structure and the CAM control system so as to maintain modularity, flexibility and expandability. The CAM sub-system can either be activated in a fully interactive mode from the CAD workstation or in a stand-alone mode.

INTRODUCTION

The decreasing cost of microelectronic devices has resulted in the feasibility of low cost Computer Aided Design and Manufacturing Systems on an economic scale which can be related to small sized manufacturing firms.

In order to appreciate how microcomputers can be of benefit in a CAD/CAM system it is useful to examine the hardware involved within such a system (Fig. 1) (2,4). Typically a CAD/CAM system is based on at least one computer for the management and processing of design and manufacturing data and at least three peripherals (a graphic alphanumeric visual display unit, and hard copy units, namely an automatic plotter and a text printer). With the rapid escalation of microelectronics technology there has been an increasing reduction in the size and cost of memories as well as the introduction of several custom built components such as arithmetic chips, resulting in the extensive use of microelectronic technology in CAD/CAM peripherals.

The system concept hereby described has been developed in an effort to obtain the optimum benefit from recent developments in the use of microprocessors in the field of CAD/CAM ir. Mechanical Engineering. The work described in this paper is based on the construction of a library cf program and subroutine modules which can be selectively appended into a main program written for the needs of the particular application concerned. For example, a particular package may consist of routines for the creation, editing and visual display of turned components only.

HARDWARE CONFIGURATION

The CAD Workstation

The basic hardware elements of the integrated CAD workstation (Fig. 2) consist of:

1. a Southwest Technical (SWT) 6809 8-bit microprocessor based system with 56 x 8 K bits of dynamic random access memory (RAM);

2. a dual 8 inch double density flexible disk unit, providing 2 M/bytes of usable (formatted) on-line storage;

3. an "intelligent" combined alphanumeric/graphics visual display unit - a Hewlitt Packard 2648A refresh terminal. The Hewlett Packard contains its

518 APPENDIX L

own microcomputer which commands the execution of display control functions on a screen resolution of 720 x 360 pixels.

4. a flat-bed A0 multi-microcomputer based plotter operating via an RS-232 data bus from the CAD microcomputer;

5. a text-printer.

The Multi-Microcomputer NC (CAM) system

The essence of the CAM hardware is a new multi-microcomputer system developed at Imperial College for machine tool control. This control system can be used with a w-.ie range of machine tools. Initial studies of the-control system were made on a modified Colchester lathe with stepper motors controlling the X and Y movements of the tool turret, a closed-loop hydrostatic driven spindle, measuring and feedback devices and the hierarchical distributed processing controller, (Fig. 3).

The control system utilizes a distributed processing technique which allows mult. axis variable systems to be constr cot^d without the cost overheads of a large mini-computer. It is hierarchical and modular in structure comprising of two types of controllers, one called the "delegator" and another, a series of "variable controllers." The aim of the delegator is to interface with the outside world, this controller defines the command structure seen by the outside world (1) .

All the variable controllers are similar i-n structure and consist of:

1. main processor unit (MC 6802) and 128 bytes of RAM;

2. 4K Bytes of read only memory (ROM);

3. delegator interface integrated circuitry;

4. interface I.e. to motivation unit;

5. digital input/output channels;

6. a counter-timer I.C. for the generation of feed rates.

The hardware for the delegator processor is similar to that for the variable controller with the following additions:

1. RAM for the user; at least 4K bytes;

2. an interface to the CAD system or user terminal;

3. an additional 4K bytes of ROM for a machine interpreter;

4. an interface to other variable controllers.

Elements of a CAD/CAM package (5)

Whatever the shape or size of the central processing unit successful implementation of a CAD/CAM system depends in part upon the successful design structure of a Data Base, which could be envisaged as the heart of the software aspect of a CAD/CAM system. A typical structure of an integrated CAD/CAM system is ill ustrated in (Fig 4)

The essential elements of a CAD/CAM software package from the initial design thoughts to the manufacture of the end product are:

1. Geometrical

This permits the geometry of the desired component and the required machining configuration to be defined in terms of technological primitives such as Line, Cylinder, Pyramid, etc. These primitives, stored in a form element macro library, together with relevant design algorithms assist in the creation of the product. During the iterative sequence of creation, design analysis, editing, display and draughting the geometrical attributes are stored in a hierarchical data-base (Parts Archive file) ready for access by the reamining CAM modules.

2. Machine

This allows the sequence of tool movements to be defined with reference to the

509 \ - 310 -

APPENDIX L

previously defined geometry. The output from this section is a cutter location data (CLDATA) file which completely describes the tool path.

3. Post Process

The post processor processes the binary coded integer (BCI) CLDATA file into Ascii characters which either can be stored on a disk file or sent directly down a RS-232 link to the CAM sub-system. A high-level machine tool interpreter code file is produced in the required machines' format which include the speeds, feed rates and tool changes.

DESCRIPTION OF TH E CAD/CAM PACKAGES

At present five main software packages, namely Creator/Editor, Display/ Draughting, Design Analysis, Machine Tool Cutter Path Derivate/Simulator, and Part Program Generator, from the basis of the CAD/CAM software collection of the Microcomputer-Aided-Design (MICCAD) system (3). These are now described as they would be executed in chronological order with particular references to the capabilities and programming language structure.

The Creator/Editor package (CREATE)

The CREATE package is responsible for the interactive creation, modification and storage of components within a product in the system data-base (DB). The Motorola 6809 assembly language was used for the development of this package mainly for the speed and ease of data record decoding.

Since approximately 95% of all work performed on NC/CNC machine tools requires simultaneous movement in 2 axes (X and Y) and independent control in a third (Z), most of the software was written for a 2h dimensional DB.

Hie data-base structure is a very important parameter in the efficient operation of the various CAD software packages that access the data. To fully describe all the geometric and physical attributes of a product in terms of data acceptable to a computer would require far more data that can be economically justified. In order to minimise storage and retrieval costs the data actually stored in the DB must be kept as compact as possible yet maintaining a logical structure for the ease df the retrieval of a single record positioned somewhere within the DB, not necessarily at the beginning. One way of achieving this is to "logically" divide the product into several components and to store them with their corresponding primitives (eg, line, cylinder, box, etc) in the DB. Thus a hierarchical DB structure was devised, (Fig. 5).

There are three main element types, namely, Product Specification, Component Specification and Primitives. The Product Specification contains information such as the types of machines which will be employed (eg, drill, lathe, mill) as well as the product name, materials, quantity required and even contract number and delivery dates. The product is then sub-divided into several components, each one representing information required to manufacture it from a single machining process to a complicated sequence of several machining processes. The roots of the tree structure represent Primitives which are a collection of the geometrical attributes, such as lines, taps and taper-cylinders, which completely define the geometry of the component concerned.

This "Integrated Hierarchical System" approach allows large quantities of the information pertinent to drawing, machining, inspection, planning etc, to be easily, methodically and centrally available to various bodies such as managers, design engineers, draughtsmen, and machinists.

The entire Product DB or.ce created and edited can be stored as a data-file on disks under an 8 character name (eg, CAMSHAFT. DAT) for access by other CAD/CAM packages.

The Display/Draughting Package (DISPLAY)

DISPLAY is an interactive, modular graphics package responsible for the comprehensive display of components created by the CREATE package.

510 - 311 -

APPENDIX L

DISPLAY has been developed using the high-level language 'Pascal.' Pascal allows the formulation of algorithms and data in a form which clearly exhibits their natural structure thus representing suitable and economical data representation which is a desirable feature in CAD/CAM software programming.

DISPLAY allows interactive display and draughting of an entire product or its individual components in first angle orthographic projection. Fig. 6 illustrates the various software modules which formulate the DISPLAY package. Display features such as isometric views, clipping, windowing, rotation, dimensioning, labelling, scaling and sectioning form the basis of the DISPLAY package.

The Design Analysis Package (DESIGN)

DESIGN, also written in Pascal, is responsible for the computation of design features such as mass, volume, surface area, centre of gravity, moments of inertia, and radius of gyration of turned primitives and parts. Results are displayed in a tabular form in both Imperial and Metric units.

The Machine Tool Cutter Path Derivate and Simulate Package (MTCPDRS)

Two distant phases are encountered before producing the final control commands for the CNC system. They are:

- The Processor (MTCPDRS) which provides a general solution which is independent of the actual machine station to be used to manufacture the product. At the end of this phase the intermediate results are stored in a Cutter Location Data file (CLDATA).

- The Post Processor (PPGP) which adapts the general solution provided by the Processor and tailors it to the specific format required by the CNC system.

The input to the Processor phase is the system's DB which contains all the definitions required to completely define the part's geometry. Records, in the form of primitives, are accessed from the DB and are re-created into a graphical form. A library of turning tools is incorporated within this package. Machining parameters such as spindle (s) speeds and feedrates are determined automatically on the basis of the material that is being machined and the machining operation required. Whilst the data is being generated, the desired component, blank size, machine tool's origin and tool changes are displayed to scale, and the cutter path simulated on the graphics display unit, (Fig. 7).

The output of the Processor phase is a Cutter Location Data file which contains information such as the number of rough-cuts, the number of fine-cuts, tool changes, threading parameters, the spindle(s) speeds and feedrates.

A similar package for the production of Milling Cutter Location Data files (MCLDATA) has been developed.

The Part Program Generation Package (PPGF)

The main function of this program is the generation of a numerical control part program compatible with the CNC lathe. The program has an additional task of direct transmission of part-program to the CNC system via a RS-232 serial communication bus.

The CNC lathe has a resident high-level programming language called the Machine Tool Interpreter Language (MTIL), resembling the Basic programming language. The presence of a high-level programming language within the QIC system allows the construction of a collection of generalized instruction, or subroutines, within the system, as well as ease in debugging. With this arrangement only the data required to activate these subroutines have to be generated prior to program execution. Thus the post-processing requirement has been simplified to the conversion of CLDATA records from integer binary format to a format accepted by MTIL.

518 - 312 -

APPENDIX L

RELATIVE MERITS OF THE PROPOSED M1CCAD SYSTEM

1. A reduction in the total system costs due to the introduction of microelectronic technology in the processing, control and mechanical engineering areas.

2. Low computer software costs due to the modular structure of the packages. The modules' architecture is such that modification and interfacing with other modules is a relatively straight-forward task.

3. Interactive and visual (simulation) features lead to the rapid detection and correction of errors.

4. Customised software packages can be quickly and cheaply assembled from existing modules.

5. A general purpose hierarchical DB which is common to all the software packages.

6. A direct communication link between the CAD workstation and the CAM system greatly reduces CAD to CAM data transfer times by eliminating the generation of NC papertapes. This greatly improves design to production times with lower overheads and skilled labour costs.

7. A distributed CAM control system allows modular expansion from the current 2 axis CNC lathe to a multi-axis control lathe without any modifications to the system. All that is needed in the addition of new variable controller modules.

8. A high level machine tool interpreter language, similar to Basic, allows the CAM system to be used as a stand-alone system.

CONCLUSIONS

Development of an interactive microcomputer based CAD/CAM system for the comprehensive design, draughting, simulation and manufacture of a part has been described. The above proposed microcomputer based CAD software although specific- ally ;formulated for turning and milling operations can be easily expanded to accommodate other machining operations such as punching and planing.

REFERENCES

1. Dalzell D T, "Intelligent machine tools and the microprocessor." Ph.D Thesis, Imperial College, University of London 1981.

2. Jebb A, Pak H A, Dalzell D T, "An integrated CAD/CAM system based upon Motorola 6800 series microprocessor system." Proc. CAD80.

3. Khurmi S K, "A microcomputer based CAD/CAM system." Ph.D Interim report, Imperial College, University of London, March 1981.

4. Pak H A, "Microprocessors in Computer Aided Design and in Computer Aided Manufacture in Mechanical Engineering." Ph.D Thesis, Imperial College, University of London, May 1981.

5. Shah R, "NC Guide, Numerical Control Handbook." NCA Verlag, NC & Computerized Automation, Zurich, Switzerland, 1979.

518 - 313 -

APPENDIX L

link to other DESIGN DRAUGHTING coraDuters

ENGINEERING ANALYSI MANUFACTURING

FIGURE 1. HARDWARE FOR A TYPICAL CAD/CAM SYSTEM

513 Figure 2. Hardware elements of Figure 3. Hardware elements of the CAD workstation. the CAM system. OUTPUT

> i •td PJ GO z m o ol m x I f

Figure 4. CAD/CAM system structure.

Figure 6. Display / Draughting package modules. - 318 -

APPENDIX L

FIGURE 7 fa). AN EXAMPLE OF A TURNED COMPONENT.

lathe's centre line undercut

fine cut tool centre locus. rough cut tool centre locus.

tool

FIGURE 7(b). COMPONENT PROFILE WITHIN BLANK.

^TL

tool tip ... centre path

FIG 7(c). THREADING OPERATION FIG 7(d). UNDERCUT OPERATION LOCUS LOCUS

518 - 319 -

APPENDIX M

THE DESIGN AND DEVELOPMENT OF A MICROCOMPUTER BASED CAD/CAM SYSTEM FOR 2^D MILLING OPERATIONS

S K KHURMI, C B BESANT AND H A PAK

MECHANICAL ENGINEERING DEPARTMENT IMPERIAL COLLEGE OF SCIENCE AND TECHNOLOGY LONDON

ABSTRACT

The ever diminishing size and cost of microelectronic devices has brought about two technological achievements. Firstly, in the integration of two technologies, namely, Computer-Aided Design and Computer-Aided Manufacture into unified CAD/CAM systems, whereby a design is developed and the manufacturing process controlled from start to finish with a single system. Secondly, in the feasibility of low cost CAD/CAM systems on an economic scale which can be related to small sized manufacturing industries.

The system concept described is in an effort to obtain the optimum benefit from recent developments in the use of microprocessors in the field of CAD/CAM.

The current system is capable of 2D and 2^D design and machining of milling components comprising of straight lines and arcs, which conforms to the needs of a large section of the manufacturing industry. APPENDIX M

HARDWARE CONFIGURATION

The CAD/CAM Workstation

The CAD/CAM workstation's hardware is based around the Motorola 6809 8-bit microprocessor and at the time of purchase (1980) it represented one of the most versatile microcomputer systems providing a wide range of hardware and software support.

The overall hardware configuration of the integrated CAD workstation, Fig. 1, consists of:

1. A Southwest Technical Products (SWTP) 6809 8-bit 2 MHz microprocessor based single user system with 64 K bytes of user RAM, of which 8 K bytes is utilised by the FLEX9 Operation System. For programs requiring large data storage the RAM can be expanded up to 768K on a single user system. The 6809 microprocessor, although an 8-bit device, has a 16-bit architecture which makes it one of the most versatile and fastest 8-bit microprocessors in the market (1). The cost of the SWT microcomputer is approximately £1800.

2. A dual 8 inch double density, double sided flexible disc unit, providing up to 2.5 M bytes of usable (formatted) on-line storage. The cost of the disc unit is approximately £2750.

3. An "intelligent" combine alphanumeric/graphics raster scan vdu - Hewlett Packard 2648A refresh terminal. It contains its own micro- computer which commands the execution of display control functions on a screen resolution of 720 x 360 pixels, and operates at 9600 baud. Approximate cost is £4500.

4. A flat-bed AO multi-microcomputer based plotter, (£3000).

5. And a text printer.

Besides the standard I/O ports the SWTP system also provides the user with, additional peripheral communication ports (ie serial or parallel) so that several peripherals as well as computers can be linked to the workstation. The ability to communicate with other computers is a very important feature in that it provides the capability of- developing larger and more complex programs by distributing the tasks amongst several heterogeneous computers arranged in a hierarchical configuration. Another advantage is that the CAD/CAM workstation is capable of simultaneously communicating with several NC machine tools, similar to a DNC system configuration.

The Multi-Microcomputer 0NC System

The CAM hardware can be sub-divided into two discrete elements, namely, the control system and the mechanical components associated with the machine tool.

The control system is one which has been developed at Imperial College for the control of multi-axes machines such as machine tools, plotters and robots (2). The basic architecture of the control system is a hierarchical one of a master/slaves configuration. By employing such an architecture system modularity, flexibility and expandability are maintained. The concept of the general control system is that it can be customised to the specifications and peculiarities of existing machine tools. - 321 -

APPENDIX M

The control system is implemented on a retrofitted standard three axes Bridgeport milling machine.

WORKSTATION'S SOFTWARE ARCHITECTURE

Software Hierarchy

Successful design and development of CAD/CAM software packages on a microcomputer requires careful evaluation of the architecture, capabilities and limitations of the system (3). There are three most obvious limitations that are inherent to most microcomputer systems, especially 8-bit microcomputers. They are, firstly, they possess relatively slow processing speeds with mini- computer based CAD/CAM systems. Secondly, they lack software backup, and thirdly, they possess severe fast-store restrictions. Despite these implica- tions there are several ways these restrictions were minimised for the development of a versatile CAD/CAM system. Some of the most common ways were:

development of modular software; development of a modular and intelligent CNC system; utilisation of a 'powerful' operating system; allow communication with other computers; and utilise hardware arithmetic computational chips.

As a result of these recommendations the software packages described were formulated not only to be modular but be executed in such a manner as to optimise the flow of information from the design stage to manufacture. Since the process of product design and manufacture is a systematic one following a standard design sequence, whereby first the design is formulated, analysed and then the cutter path movements generated followed by the machining process, the sequence of the CAD/CAM software must adhere to it. However, it does not imply that all the packages should be resident in memory at the same time during the various stages of the product design. Thus, in order to minimise on board storage the software packages were sub-divided into three main classifications:

1. Creation and visual display programs. 2. Cutter path simulation programs. 3. Part program generation programs.

The sub-division of the software packages into the above-mentioned classifica- tions permitted quite large scale CAD/CAM programs to be developed on micro- systems .

The inter-relationship between the CAD/CAM packages is illustrated in Fig. 2. It is clearly visible that they are executed sequentially. This has two major advantages. Firstly, optimising the use of the on-board memory by minimising overlaying operations. And, secondly, the individual packages could easily be modified or expanded.

The CREATE Package

The CREATE package is responsible for the storage of data and the general management of the database (DB). CREATE is written in 6809 assembly language mainly for the speed and ease of memory management and data decoding. The CREATE package accepts commands from the user and calls DISPLAY and EDIT routines to interactively visualise and modify the elements of a component. The component can be related to any machining operation, eg turning, milling, - 322 -

APPENDIX M

punching, drilling, etc.

The structure of the database is illustrated in Fig. 3 and represents a simple way of storing data (4). Hierarchical configurations represent an ideal way of representing information which itself is not centralised.

The hierarchical structure falls into three main categories (5), namely Product Specification, Component Specification and Primitives. The Product Specification contains information pertinent to the managerial aspects associated with the product such as the materials, quantities required, contract number, customer's name and delivery dates. The product is then sub-divided into several components, which comprise of several geometrical Primitives. These Primitives are a collection of geometrical attributes which can be called and appended to form the geometry of the component. For milling operations some of the commonly used primitives are cylinder, thread, line, fillet, box, pyramid, etc.

Thus by either using the standard primitives (or by defining new primitives) complex milling geometries can be quickly and easily entered into the computer.

The EDIT Package

This package, also written in assembly language, allows components to be recalled and modified interactively. Similar to the text editor, primitives can be analysed graphically as well as numerically. By sequentially stepping through the primitives,which define a component,geometrical errors can be quickly and easily detected. Once the error has been detected, two very powerful commands, namely Delete and Insert, allow entire primitives to be deleted and replaced by new ones.

The DISPLAY Package

DISPLAY is an interactive, modular graphics package, written in PASCAL, and is responsible for the comprehensive display of the technological primitives and components as they are created or modified by the above-mentioned packages.

The output is either in the form of a single view of the part or a four view 1st angle orthographic projection whereby the vdu screen is sub-divided into four viewports as illustrated in Fig. 4.

General display features such as orthographic views, isometric views, clipping, windowing, rotation, scaling and dimensioning form the basis of the DISPLAY package.

The PLOTTER Package

The PLOTTER package communicates directly with the multi-microcomputer based flatbed plotter designed and built at Imperial College via a standard RS 232 serial communication bus. The PLOTTER package contains an ASCII character generation set in software and is responsible for the production of graphical hard copies of the component in first angle orthographic projection and/or rotated 3D views. Due to the limited resolution of the vdu screen high resolution plotter hard copies can be used for the verification of the component's geometry as well as cutter paths. - 323 -

APPENDIX M

The Milling Cutter Path Derivate and Simulate MCPDRS Package

Once the geometry of the component to be pocket-milled has been entered, displayed, analysed and stored, using the above-mentioned packages, the cutter path's loci can be generated. The automatic generation of the loci and the machining commands, such as feed rates, spindle speeds and tool changes, are the responsibility of the MCPDRS package. A macro flowchart of the MCPDRS package is illustrated in Fig. 5.

The geometry of the workpiece is decoded from the compact database format and displayed in any desired view. Conventionally, the desired views are the plan, elevation, side elevation, and isometric views. Thus, by displaying the above-mentioned four views a quick and accurate graphical visualisation of geometrical errors or illegal cutter path movements can be detected and corrected.

The blank size and geometrical parameters are input while tools and the machining parameters are selected from tooling and machining data libraries. The libraries contain the commonly used tools (cutters), materials and their corresponding machining speeds and feeds. From this information the blank, roughcut and finecut offsets are displayed, Fig. 6.

The spindle speeds and the feed rates are computed using the following formulae:

cutting speed of the milling cutter Spindle speed (N) = Tr(cutter's diameter)

Feed rate (f) Number of teeth in the cutter X recommended feed per tooth X r/min of the cutter

Since these two formulae are approximate only, in that they are independent of the hardness of the material, the machine's condition and the depth of cut, allowances have been made to override these values. This feature provides the operator with much more flexibility in the machining of parts. The machining time is calculated by the formula:

L Machining Time (T) = —

where T = time in minutes L = length of cut in inches f = feed in inches per revolution N = spindle speed in revolutions per minute

Having computed the machining parameters a visual simulation of the roughing process is displayed (either on the vdu or on the plotter), Figs. 7, 8, followed by the final roughcut at a reduced feed rate. The machining parameters are displayed on the vdu and are continually updated, Fig. 6. After a tool change for a finecut tool, usually an end mill, the finishing cuts are displayed - 324 -

APPENDIX M

at a slower feed rate and spindle speed so as to achieve a good surface finish.

The roughing algorithm has been formulated bearing in mind the limitations and capabilities of the present microcomputer based workstation. Thus the roughing cutter path locus consists of horizontal and vertical (X,Y) movements only. For the majority of cases where the machining time is not a critical factor this algorithm is an acceptable one. However, the modularity of the package enables such algorithms to be optimised or changed without grossly affecting the rest of the package. Furthermore, fast algorithms do exist (6) for the optimisation of the cutter paths for machining arbitrarily shaped pockets, and they can be easily incorporated on a commercial system.

The final operation is drilling. If there are any drilling operations to be performed then they too can be executed by performing tool change(s) and using the milling head as a drilling machine.

The tool changes, spindle speeds, feed rates and cutter paths are' stored in an integer binary format in a cutter location data (CLDATA) file for subsequent access by the part program GENERATE package.

The Part Program GENERATE (PPGP) Package

This package is responsible for the conversion of the CLDATA from a binary to an ASCII format and transmitting it, via a standard RS232 serial communication bus to the CNC system(s).

COMMUNICATION BETWEEN THE WORKSTATION AND THE CNC SYSTEM

One of the advantages of the above system is that it eliminates the NC papertape which is conventionally used in transferring NC commands from the CAD workstation to the NC machine tool. The papertape have several disadvantages over the direct communication link, and are as follows:

relatively slow to generate and to read takes time to be transported from the workstation to the NC machine tool expensive in terms of paper and storage costs easily damaged and are difficult to identify.

Thus, by generating an ASCII CLDATA file and transmitting it down a standard communication bus (eg RS 232) all of the above-mentioned disadvantages are eliminated. Furthermore, the bus can also be utilised for the two-way communication. The implications associated with this are almost limitless. - 325 -

APPENDIX M

RELATIVE MERITS OF THE CURRENT SYSTEM

Several benefits of the current system can be postulated and summarised as:

1. A reduction in the total system costs due to the introduction of micro-electronic technology in the processing, control and mechanical engineering areas.

2. Low computer software costs due to the modular structure of the packages. The modules' architecture is such that modification and interfacing with other modules is a relatively straightforward task.

3. Interactive and visual (simulation) features lead to the rapid detection and correction of errors.

4. Customised software packages can be quickly and cheapy assembled from existing modules.

5. A general purpose hierarchical DB which is common to all the software packages.

6. A direct communication link between the CAD workstation and the CAM system greatly reduces CAD to CAM data transfer times by eliminating the generation of NC papertapes. This greatly improves design to production times with lower overheads and skilled labour costs.

7. System modularity allows NC part programs to be easily generated for a wide range of control tape formats, such as EIA and ISO.

PERFORMANCE OF THE SYSTEM - see Fig. 9

LIMITATIONS OF THE CURRENT SYSTEM

As briefly mentioned earlier, microcomputer based systems possess certain restrictions in the form of on-line memory, processing speed, fast backup storage, or existing software backup. This is especially true for most 8-bit microsystems and the above described CAD/CAM packages were formulated with those implications in mind. However, by developing most of the software packages in a high level language and maintaining modularity then the task of transferring them from an 8-bit to a 16-bit microcomputer is a relatively simple one.

The transfer to a 16-bit microcomputer with a link to other computers will be welcomed since it encourages more complex 2D, 2^D and even 3D milling operations to be performed.

CONCLUSIONS

The design and development of an 8-bit microcomputer based CAD/CAM system for the design and direct manufacture of simple milling components has been described. Consequently, the system has been formulated for 2D and 2^D pocket milling operations but software modularity enables expansion of the packages to handle more complex 2D, 2^D and 3D milling operations. Furthermore, other machining operations such as turning, drilling, shaping, grinding and punching - 326 -

APPENDIX M

can easily be introduced since all that is required is the replacement of the cutter path derivate and the part program generate packages.

The immediate future of this CAD/CAM system is to transfer it onto a 16-bit microsystem and further develop it into a commercially viable low cost system mainly for use in small to medium sized industries.

REFERENCES

1. Gooze, M. "How a 16-bit microprocessor makes it in an 8-bit world". Electronics, September 27, 1979.

2. Dalzell, D.T. "Intelligent machine tools and the microprocessor". PhD Thesis, Imperial College, University of London, 1981.

3. Khurmi, S.K. "The microprocessor and computer-aided design and manufacture". PhD Thesis, Imperial College, University of London, 1982.

4. Booth, G.M. "Hierarchical configurations for distributed processing Compcon Digest, September 1977.

5. Pak, H.A. "Microprocessors in computer-aided design and in computer- aided manufacture in mechanical engineering". PhD Thesis, Imperial College, University of London, 1981.

6. Persson, H. "NC machining of arbitrarily shaped pockets". Computer Aided Design, Vol 10, No 3. Southwest Technical Product's

M6809 8--bit Microcomputer

64K 8K I/O AMD 9511A RAM ROM COMMUNICATION APU PORTS > 13 ra z CO a CO m <1 x 2

Dual drive Graphics/alpha- Multi-micro Communication 8 inch floppy numeric vdu computer based link to NC disk unit HP 2648A plotter system

FIG. 1 Hardware Configuration of the CAD/CAM Workstation - 328 -

APPENDIX M

: \

no

?SCXLI Ait/ i IXISTONG ! <^J>RS?ARS A S:

daca base forruaz

3DIT PACKACS <

013?LAY PACKAGE hard PLOTTER PACLAGE copy daca oase rsrra;

Too L Library v PATH CSRI7ATE AND SIMULTATTCN PACKAGE / MacarAils ar.d 7 i Machiriac Para- '— yzecara Library \

7 CLOATA for:

PART PROGRAM GENERATE package

.r.csrzroeesssr T ; high lave! :cnunizacizn / zachize czcL 0u3 Lar.gzaga crrza:

;\|"-cgoor—CTj

HACHIJfE TOOL

nc ooerrands

\ i "tmi35z0 ccypc.nznc

fig. 2 macro interpackage communication diagram Product PRODUCT LEVEL Specification] HIERARCHICAL LEVEL 1 Record

> hj tj ra o m X 1st Nth Component 3: COMPONENT LEVEL Component Specification Specification] HIERARCHICAL LEVEL 2 Record Record

PRIMITIVE LEVEL HIERARCHICAL LEVEL 3

FIG. 3 A THREE LEVEL HIERARCHICAL DATABASE STRUCTURE EMPLOYED IN THE CAD/CAM SYSTEM FIG. 4 A Typical View of a Component Displayed in Four Views Reg in Set scale value Formulate a grid and calculate the roughcut Rressenhnm' constraint coordinates a Igor i thin

Select views required

Execute pocket roughing algorithm. Display rough- cut movements. Display workpiece

Execute and display final Input blank size roughing locus > y anil material spec i fica tions

Execute and display final finishing locus

Much i n i ng \ Input machining pa mine te rsl- pa rainete rs 1 i b i a i y J Vert ical drilling algorithm i Tool 1 i b i a ry Display > 1 a nk

Compute finecut and roughcut Generate machining codes offsets and store in MCEDATA file

Check for roughcut i lit er Terences . Roughcut Roughcut filtering f i 1 ters MCPDR a I gor i thin plott ing a Igor i thin

Display finecut ami roughcut off set loci

FIG. 5 MACRO FLOWCHART OF THE MCPDRS PACKAGE FOR 2 ID POCKET MILLING OPERATIONS - 332 -

APPENDIX M

Fig.6s Visualisation of the workpiece's geometry and contouring roughcut and finecut loci - 333 - - 334 -

APPENDIX M

-FV

rr

Fig.8a Geometry of the workpiece.

Workpiece

Finecut constraint

Roughcut locus

Roughcut constraint

Datum & Fig.8b Finecut and roughcut constraints and roughcut locus

o Fine cutter o Rough cutter

Fig.8c Final roughcut and finecut loci .

Fig.3d Drilling operation locus - 335 -

APPENDIX M

PROCESS MANUAL/AUTOMATIC/ COMMENTS APPROXIMATE INTERACTIVE METHOD EXECUTION TIME OF DATA PROCESSING (MINS)

Initial Design Manual The design-manufacture N/A process initiates with the preparation of a working sketch, suitably dimensioned. There is no require- ment of a GA drawing

Workpiece data Manual Verification of the 5 preparation sketch and calculation of some geometrical dimensions

Input of the Interactive Conversion of the geo- 15 workpiece's metry into primitive geometrical and commands accepted by technological the CREATE package, specifications and input of the technological specifications

Hard copy genera- Automatic Output via printer 2 tion of database Generation of the Automatic Execution of the MCPDR 8 workpiece offsets, package. Simulation rough and finecut on vdu loci and simulation of the cutter path

Hard copy genera- Automatic A hard copy of the 4 tion of the cutter workpiece and the paths cutter paths can be obtained via the PLOTTER PACKAGE

Generation of NC Automatic Task of PPGP package 3 part program Transmission and Automatic 3 storage of NC part program to QNC machine tool

Machine setup Manual Setting up time only 5 applicable for 1st component of a batch

Machining time Automatic CNC 4

TOTAL EXECUTION TIME 49

FIG. 9 PERFORMANCE TIMES OF THE CAD/CAM SYSTEM FOR THE COMPONENT ILLUSTRATED IN FIG. 7.