Keynote Paper
User-Friendly CAD Systems J. Hatvany ( l ) , Computer and Automation Institute, Hungarian Ac. SciJBudapest; B. J. Stone (1). The University of Western Australia/Nedlands
ABSTRACT New developmenis in Computer Science and Technobgy are rendering it possible to create computer systems that allow the engineer to use his own. accustomed language and notalion both to communicate his problem and also to obtain the computefs answer. The notions of user-friendliness and the tools that now facilitate its implementationare discussed. The example of spindle design and analysis is used to illustrate the new possibilities. KEY WORDS: CAD, User-friendly systems. object-oriented programming. spindle design, sensilivity analysis. INTRODUCTION The use of computers in engineering and particularly in the area of CADICAM is increasing at an accelerating rate. Computer-Aided Design (CAD) has come to mean more than simply a computerizeddrawing board, and application programs now exist which allow the analysis of various aspects of proposed designs. This analysis aspect of design is oflen referred to as CAA (Computer-Aided Analysis) and is an essenlial component of good design. However, in both CAD and CAA. there are remarkably few programs which could be described as user-friendly. This is not too surprising, as it has hitherto taken two to four times longer to make a program friendly than simply to write the engineering algorithms. Let us therefore cast a brief glance at the Computer Science and Technology developments ihal are now changing this situalion. During the tirsl two-thirds of the history of computing it was generally hoped that there would be some convergence in programming languages and operating systems. linally ending the "Tower of Babel" situation lhat users found so irksome. In actual fact. as Figure 1 shows, the opposite proved to be the case. The evolution 01 programming languages did not stop with FORTRAN, C, or LISP, but has proceeded to two whole new classes of program procedures. One of these is typified by VlSlCALC (a system tor handling business spreadsheets without having to write so much as a line of -computer program"). These are the sylems. The other new class, of the utmost importance fore ineering applications. is that to which SIMULA. SMALLTALK and the Apple Macintosh2system ( which is used in the examples of this paper) belong. These are the Qbiect-orientedsysytems.
Constraints
-
Objects
SIMULA LISP -11111111111
-- - -
Symbols
BASIC COBOL ALGOL
Numbers Records
FORTRAN
Figure 1. The evowion ol programmng languages The philosophy of object-oriented programming has been likened to the revolution in small-arms manufactureintroducedby Eli Whilney. when he divided the production of various parts of Ihe gun between different workmen, who had to make parts that would lit togelher. Another comparison thal has been made is that the *objects' in this style of programming are like the integrated circuits of software - you choose those with the function you Want and need not bother what is inside Ihem. These "objects" are activated by socalled messages, where it is no longer necessary to separate data and procedures (Ihe 'object- will find its own appropriate procedures and manage its own data). They are in fact -encapsulated". i.e. they are like the car: to start lhem you simply 'turn the ignition key'. We shall show later jusl how easy this is to do. Only a few years ago, object-orientedprogramming was far too expensive in terms of computer resources. Today, very fast processors and large memories are available in low-cost table-top computers. It is becoming more and more easy lo write user-friendly systems lor engineers USER-FRIENDLINESS A general definition of user-friendlinessis no1 easy to formulate but a single sentence definition might read, ' A user-friendly program avoids the user gelling to an impasse and readily provides all the information required.' This needs amplification and the following aspects are pertinenl (To make lhis paper as user-friendlyas possible it will be illustratedwherever possible with examples.) :-
Annals of the CIRP, Vol. 36/2/1987
I.
The user should not be left in a position where there is no way forward or backwards which is no1 readily available on screen either directly or via some 'help' option. To be faced wah a typical 'b' and nothing else but a 2 cms thick manual is decidedly unhelpful and unlriendly. It could be said that a really friendly package would have no need of a manual as all the informationshould be available within the program.
2.
It should always be possible to retrieve a previous state without having to Start again. II is often the case that once an entry has been made it cannot be changed. For those examples where a large amount of data is required it is extremely frustratingto have a typing error near the completion 01 the data entry and to have to begin again.
3.
At any stage during Ihe running of the program the complete range of options currently available should be easily accessible to the user.
4.
The desired informationshould be obtainable from the program. This implies that it is known by the programmer what the user will need. CAD/CAA packages written by computer programmersare often lacking in this respect. A typical failing is to be found in Drawing Packages for microcomputers which do not have the facility to include a fillet radius by specifying two line Segments and a radius.
5.
For complex drawings and also lor involved analyses it is often necessary to be able to observe several pieces of information at once so that they may be compared.
6
For a designer Ihe aim of an analysis is often to determine how sensitive a critical parameter is lo variations in other parameters and a 'sensitivity' option is very helpful.
It may be seen that user-lriendlinesshas two aspects. Firstly. those requirements that relate to all programs independent of the topic or the usets state of knowledge. Secondly. those aspects which are determined by the particular application and what may be expected of an educated user. TO clarify these slatements consider an intelligent user who has little engineering experience. The program may be made friendly in a general way but without the knowledge of terms like sliffness. stress, pressure etc. it would be extremely difficult to make the package friendly. In fact a teaching package couM first be required, involvingcomputer assisted learning (CAL). The remainder of this paper will be concernedwith amplifying and illustrating these basic compOnents of user-friendliness. AVOIDANCE OF AN IMPASSE There are difficulties with regard lo an impasse which Rlale to Ihe operating system of the particular computer being used. For most multi-user sytems this is a problem but for some microwmpUIerslhe operatingsystem is transparenlto the user and acarefrol use of icons makes the machine friendly from the point of switching on. The main concern of this paper is however with the user-friendlinessof the computer package. To avoid the user getting to an impasse with a parlicular package and lo provide all the informalion required it is necessary that the initial informationon screen is sufficient to enable progress to be made. The use 01 menus is therelore to be encouraged, but with one proviso; it should be possible to see all the menu titles at all times. In some CAD packages a numbered menu is provided at the Outset and when a number is typed the options available under that mew title are displayed. However, it is then diflicult and/or inconvenient lo find the options available under a different menu title. Thus it is recommended that 'drop down' menus should be used so that the complete range of oplions available may be examined easily and rapidly. The word processing package being used to prepare this paper has the menu tilles across the top of the screen and a mouse. which moves a cursor on the screen. is used to point an arrow at any of the titles. When the mouse is triggered by using a simple Switch that menu drops down as shown in Rgure 2. By keeping the switch down and moving the pointer along the mew titles each m n u drops down and so all the options available are quickly and easily seen. Figure 2 also illustrates another useful facility that may be employed with drop down menus, i.e. options not currently available may be shown in a different style, in this case taint letlering as opposed to bold. Thus 'New' and 'Open' are not currently available because a document is already open. However it the document Is closed then the 'New' and 'Open' oplions will be available and will be in bold type. The software developer needs to control the menu options so that they are only available when they may be used. It is also possibb for additional menus to be made available at approptiate times. For Ihe package illustrated any parlicularoption is selected by moving the pointer down the menu with the switch still depressed and then when the required option is high-lightedIhe switch is released.
451
Edit
Search F o r m a t F o n t
Style
T h i s program a l l o w s the s t a t i c analysis o f spindles w i t h several bearings.
S(+lP l)[>(?l l...
Up t o 20 spindle elements and 10 bearings may be used. For t h e example above there are f o u r spindle elements
Close Saue Saue Rs... P a g e s e t UP... Print... Puit
1 . I
Element 1 Element 2
.......
Figure 2. Typical drop-down menu. It is clear that il menu titles are displayed at the slan-up of a program Ihe user will have several options available and these should include some information options as shown in Figure 3. This Figure shows a menu from a spindle design program and initially Iwo options are open under the menu titled 'Spindle' and one of these will give information on request
...........
Dimensions-metres Element number
I 1OD= 7 1 I D =1 L=
Figure 3. Information option available When lhis information option is selected Ewo windows appear which show a typical spindle and also give information about the range of spindles that may be analysed. (see Figure 4.) Initially the shaft is shown as one piece, then an animation is presented which finishes as shown in Figure 5 and indicates the way in which the shaft is broken up into component elements. Finally inlormalion is given on how to proceed. Another source of a possible impasse relates to the correction of input data. It is possible to type in the wrong value of a parameter and then wish to change it. It should therefore be possible to survey the input data and edit it before linally requesting the program to accept it As an example consider the input of the data relating to a shaft element for the spindle design package already mentioned. Figure 6 shows the relevant input window. The cursor, controlled by the mouse, is used to select an input box and then the numerical informationis entered and displayed. This is done for each Of the inpul boxes and the total information may be observed. If any entry needs to be changed the input box is re-selectedand this is then cleared to allow a new entry to be made. When the user is satislied with the information the 'OK' box is selected and the information aCCepted by the program. If any of the information is omitted then the program will not respond to the 'OK selection. Furthermore if the data are not consislent the program will indicate the fad. Thus, for example, if the 'ID is enlered as being greater than or equal to the 'OD' the data wll not be accepted and 'ID>OD?' will appear in the 'ID entry box when the 'OK b o x is selected. The 'Finished? question relates to the completion of the initial geometry specification for the spindle, i.e. no more spindle elements are to be added.
I -
.....................
............
O -D - - -J - -m - D I
...
................
..........
Figure 5. Final appearance of Second Window.
Bearings Statics Dynamics
Typical s p i n d l e g e o m e t r y
Element 4
Use e i t h e r t h e N e w o r Open options. Bearings may be added o r removed f r o m 0 spindle. The m a t e r i a l c h a r a c t e r i s t i c s may be modified.
Information I::hIN gt! EI t: i i w r r t It if if *:It: mt! ri t Wiir oil t? +:If: int! rr t M a t e r i a l Char ;orc:e ;to s i t i11ri f' rirr t
I
[1
Element 3
I
.................. ......... ............
1 Finished?
(OK) (YES)
I
Figure 6. Input window with allowance for correclions whether this is a sullicient help, no doubt the user will decide. Other informationshould be available which describes in engineering terms what the package or menu item will do. One word of caution - it is possible to find such information windows remaining on screen when the task is linished and another task is being underlaken. Clearly such inlormationwindows should be removed as appropriate.
To i n p u t i n f o r m a t i o n c l i c k the cursor in t h e appropriate box and type i n t h e value. The t o t a l i n f o r m a t i o n i s only accepted when t h e OK box i s clicked. Values may be changed by r e - c l i c k i n g i n the box and re-typing. The elements must be entered in order and the program a u t o m a t i c a l l y updates t h e element number. The values o f t h e previous element are s t i l l displayed i n case any a r e common t o t h e n e x t element. L a t e r i n t h e program t h e i n t e r n a l d i a m e t e r s may be changed. When t h e s h a f t geometry i s f i n i s h e d c l i c k on YES.
Figure 7. Information window to assist data input.
with several bearings. Up t o 20 spindle elements and 10 bearings may be used. F o r t h e example above there are f o u r spindle elements.
=€El
.................. ......... .........
................... .......... ............
The major difliculty concerns the provision 01 information of a technical kind. For example. ifa user wishes to complete a dynamic analysis of a spindle and that option is available within a package, should basic dynamics be assumed or an introduction to dynamics be provided? It seems be& to at least assume the basic knowledge that would be required to make use 01 the results from the package as otherwise it is difficult to envisage why the user would be interested in the package in the first place. Also for topics such as basic dynamics it would seem more appropriate to have a computerassisted learningpackage that covers the topic rather than include the same material in several analysis packages that use dynamics. It would then be appropriate if help was requested in a technical area to give a referencelo such a computer-assisted learning package or indeedto a suitable text. SENSITIVITY ANALYSIS
Figure 4. lnilial appearance of Information Windows INFORMATION HELPS It should always be possible to have access to an 'Information' or 'Help' option. These have gained a reputation lor being singularly unhelpfulbut this need not be the case. It is possible if multiple windows are being used to have an information window appear with the current task window. This should then give the relevant inlormation to allow the task to proceed. Thus for the spindle element already considered an intormation window appears at the same time as the data input window as shown in Figure 7 As to
452
The main purpose of a design analysis package is to assist the designer in achieving something near an optinum design within the constraints of the particular design task. It followsthat one of the main requirements is to be able to determine the effect of making changes. )I is of great interest to be able to examne the sensitivity of a particular design requirement to changes in a design parameter. For exanple in the design of spindles a major design requirement is that the Stiffness at the cutting point should be high to minimise deflectionsfrom the cutting forces and h e m reduce geometric inaccuracies. To achieve this objective the designer has various design parameters to specify such as:1. Stillness 01 bearings. 2. Position 01 bearings. 3. Geomelry 01 shall.
Thus a user-friendly spindle design package should be able to provide intormation on the sensilivity of the wting paint stillness to the positionof. say, the back bearing. The package already referredto provides such Sensitivity graphs. see Figure 8. This graph was obtained by using the Statics mew and setediog 'Chose item'. The back bearing is then selected using the mouse and the data relevanl to the back bearing are then displayed. Ifthe mouse is clicked in any 01 the data value boxes a graph 01 cutting point stiffness against that parameter is drawn. It is then possible to observe what would be the optimum value for the back bearing position and how sensitive the culling point stiffness is to any departure from the optimum. The optimum value (or any other) tor the back bearing position may be selected by clicking on the graph, whence the x-axis coordinate is noted and recorded as the new value.
Are you sure you need 8 neeatire tolerance o f l o p ?
142
, +
h
176
Y 0
f
245
290
6
t
I
tole ranees
Figure 10 Checking manufacturing costs of a spindle.
\ Figure 8. Sensitivity of stiffness to position of back bearing. This type of procedure allows the designer lo quickly investigate the major design parameters and if there is more than one design requirement, as would normally be the case. then it is possible to investigate several design parameters and their effect on the design requirements. It has been found with the spindle design package that what has onen taken several weeks using other techniques may be accomplished in a matter of minutes. It should also be noted that, whereas a final design could well be subjected to a detailed and extremely accurate analysis using for example a finite element package, it would be uneconomical to do lhis too often with interim designs. Thus it is not necessafy to have the same degree 01 accuracy for sensitivity analysis as even if some accuracy is lost it is probable that the most sensitive design parameters would still be apparent. For the spindle package there is another interesting design problem. It is not Certain what the values 01 bearing stiffness will be as the mounting details may greatly alfect the sliffnesses. e.g. the quality ot the interlace between the bearing ouler race and the housing. Thus the designer has to accommodate a degree ot uncertainty in Ihe design intormalion. It follows that it is desirable to be able to investigate the dependence of any of the design requirements on this uncerlain data. Figure 9 shows the variation of d i n g point stiftnesswith the radial stillness 01 the back bearing and it is clear that the actual value 01 the bearing stiffnessis not too critical unless it is extremely low.
MNCLUSloNS The very rapid development of amputer herdware end software In r m t yegs hs made it pmJible to use pragremming procedures in psticuls , those baspd rm the object-oriented schaol which are eliminating much of the t i m e work hitherto involved in persuadiq a computer to 65 whet the engineer wwld like to heve. Of wtstmdiq Importance is the feet thet programs can now be created by the mr himself art of realy-made, %nmpsulated' malules with v u y comfortabk facilities for expmsim md combination, thus requiriq no expertise in amputer crcience. detebsse maMJement, graphics. etc.
-
-
Oneofthestrikingresultsof this lineofdevelopment has beentheappaanceofa much mare usa-friendly gmastion o CAD pqrems, which spdc to the engima in his w n lanpuege.accept input in his w n ratural mode of expression (e.g. by letting him point at certain valuesofadiaprem) md giveenswers immediately intelligible in engineering terms. The new style of us%--fiendly CAD srjtems. has, foaurse its own set of tehnical rwirwnents. This peper has striven to show tM these can nw be fulfilled, ad t h r m a number of examples to illustrate the new possibilities.
Stiffness 106N/m
30: 2.0
c
10-
Figure 9. Sensitivify of stiffness to radial stiffness of back bearing. Figure 10 shows the possibilitiesof a user-friendly sensitivity analysis of a completely different kind, namely the use of a computer to check the cost-sensltlvlty ot an almost completed design. It is a familiar text-book tact - unfortunately not suflidently applied in practice that close on 80% of the costs 01 a product are incurred through deusbns made at the design stage and that these costs may later be only marginally reduced by process optimisation. elc. The package illustrated in Figure 10 makes it possible for the designer to check the tolerances. surface finish and material quality parameters which he has chosen against their cost. leading him to produce not only a dimensionoptimat, but also a cost-optimaldesign.
-
In the case of the tolerance analysis shown here, a rule-based program selects what appear to be the most demanding tolerances and translates the IS0 notation to the micron dimension appropriate lor the given situation. It then poses a question leading to a possibly bwer-cost product and upon receiving an answer proceeds accordingly. offering eilher a parameter change or lwking at the next most demanding tolerance.
453