Knowledge-based automatic dimensioning

Knowledge-based automatic dimensioning

Knowledge-based automatic dimensioning Alan H. Bond and Syed Z. Ahmed Computer-Aided Design Laboratory, Manufacturing Engineering Program, 3066 Engin...

792KB Sizes 9 Downloads 120 Views

Knowledge-based automatic dimensioning Alan H. Bond and Syed Z. Ahmed

Computer-Aided Design Laboratory, Manufacturing Engineering Program, 3066 Engineering 1, University of California, Los Angeles, California 90024, USA A knowledge-based system, for automatically dimensioning a given 3D CAD model, is described. It was found that 1. 2.

3.

dimensioning should preferably be based upon manufacturing features which are sets of surfaces in specified 3d relationships several different kinds of rules are needed (a) for each feature, rules for generation of dimensions onto sets of surfaces comprising it (b) for each surface, the generation of linear dimension forms (c) for each such form, the instantiation of the dimension onto an explicit 3d linear element (d) the selection of 3d linear elements to express in 2d views, and the selection of views to use (e) the layout of the 2d dimensions generated. a large amount of redundancy occurred, which had to be managed and retained, until final decision on selection and placement of 2D dimensions were made.

The system works by a sequence of applications of rules, which construct a set of prioritized goals connected by a network of redundancy relationships. Rules of types (a), (b) and (c) are successively applied, starting with the 3D model, to produce linear dimensioning goals, with redundancy relations among them. View selection and 2D layout involve rules of types (d) and (e), and a complex evaluation of each individual 2D dimensioning choice for each 3D linear dimensioning goal. The system was written in Prolog, using the UCLA C A D L O G intelligent CAD system. Key Words: automatic dimensioning, knowledge analysis of dimensioning, layout rules, goal tree, violable rules, dimensioning redundancy.

1. I N T R O D U C T I O N To correctly dimension a drawing is not a simple process, and requires training and experience for a human draftsperson. Dimensioning involves comprehension and appreciation of the three dimensional form of the objects being dimensioned. It also requires an understanding of how the three or more two-dimensional views given in the corresponding drawings are used. Dimensions should be generated so as to allow the person using the drawing to understand the three-dimensional form and its dimensions. In this work, a dimension is considered to be a graphical element which specifies the magnitude of another graphical element. There are two common types, linear and angular, there are a few different graphical styles of dimensions, and also a tolerance may be present in the dimension. The purpose of dimensioning drawings is to allow the user to understand the spatial arrangement of the objects being drawn. Fig. 1 shows an illustrative example of a 3D model, and Fig. 2 the three views to be dimensioned. Fig. 3 is an example of an acceptable dimensioning of the part. There are a very large number of different ways to Paper accepted March 1988. Discussion ends July 1989. © Computational Mechanics Publications 1989 32 Artificial Intelligence in Engineering, 1989, Vol. 4, No. 1

dimension a given set of drawings. For each twodimensional element, the dimension can be placed next to the element, near or far away with extension lines and on either side of the element. Since a corresponding element occurs in other views, it is not necessary to dimension all these corresponding elements, and indeed, it is a typical rule of drafting that only one of a set of corresponding elements should have an explicit dimension. There are usually a number of parallel elements of the same length, and where it is clear from the drawing that they are of equal length, only one of the set of equal elements should be dimensioned. There are often several ways of dimensioning a given figure. For example, a triangle could have three sides dimensioned, or two sides and a height, or two sides and an included angle etc. Some of the knowledge and skill required has been expressed as drafting principles, which occur in books on technical drawing and drafting manuals e.g. 1, and also in ANSI standards documentation e.g. 2. These principles are expressed in English, and have not been formalized. They rely upon the user of the principle understanding spatial and judgemental terms of some sophistication, and upon common sense and experience to combine principles as needed. It is clear from these principles that dimensioning operates initially upon three-dimensional entities. Thus textbooks, and the ANSI standards, talk of analysing the

Knowledge-based automatic dimensioning: A. H. Bond and S. Z. Ahmed

¥

Fig. 1. Example of 3D model of part to be dimensioned

1 Fig. 2.

design in general 'shapes', like cylinders etc. These shapes are in the main volumes, however there are also examples of 'shapes' used in dimensioning principles which are not volumes, but instead are sets of surfaces in a given threedimensional configuration. An example of this is the slot, see Fig. 4. We can call these shapes features. There are three different sets of features used in CAD/CAM depending upon the use to which the drawing will be put. The original use of drawings is for a designer to specify to a manufacturing engineer the part that should be manufactured. In this case, the manufacturing engineer will use features associated with the production processes for forming the features. These are manufacturing features. Alternatively, a designer communicating with another designer would use features relating to the design and to the functioning of the part, which are design features. Finally, yet another different set of inspection features is required for inspecting the manufactured part. Thus automatic dimensioning must take into account which type of features are to be used, and use appropriate dimensioning principles. Comprehensibility of drawings is a hidden but important cost of production. Turner a for example, referred to a survey of errors on drawings which suggested that 7 0 ~ of scrap production in the engineering industries is attributable to drawing production errors and drawing comprehension errors. This cost is hidden since the standard accounting methods do not allocate scrap production costs to the drawing office. Comprehensibility of engineering drawings has been studied by Spencer and Milnes-Walker 4. Their ergonomic study indicated that a drawing layout is most comprehensible if the layout 'clearly conveys the principle underlying its layouts". They also found that the choice of views is crucial, and that extra redundant views, over the minimum number logically required to convey geometric

The three 2D views to be dimensioned

~ ,l.

.50

2.00

V

mt,

1 .00

,1,

8

m

l

i I 1

Fig. 3.

An acceptable dimensioning of the part

Fig. 4.

.00

Dimensioning principle for a slot

Artificial Intelligence in Engineering, 1989, Vol. 4, No. 1 33

Knowledge-based automatic dimensioning: A. H. Bond and S. Z. Ahmed

information, increased comprehensibility greatly. Ergonomic study of the use of dimensioning information in drawing comprehension has been carried out by Cheney and Spencer 5"6. Automatic dimensioning and tolerancing by computer has been studied by Hillyard and Braid 7 9 by Requicha and Voelcker 1°-12 and by Minagawa et al} 3. There are many relations between dimensioning and tolerancing, in production engineering and in methods of theoretical analysis. Hillyard and Braid assert that 'The nature of an engineering drawing is that it shows the salient features of an object in a form which corresponds either to the design or to the manufacture or preferably both. An automatic dimensioning algorithm will therefore never be able to reconstruct perfectly the designer's thoughts. For these reasons complete automatic dimensioning will always produce inferior results to manual dimensioning. The ideal strategy is one in which the designer dictates the important dimensions and those with significant tolerances, and leaves the algorithm to note and fill in missing dimensions'. This statement was made before rule-based methods became available. Hillyard and Braid 8 set forth a theory to explain how dimensions and views combine to specify the shape of a mechanical component. So far as we know, we are the only researchers using an AI approach and addressing the problem of representing all the knowledge used in dimensioning. This is just one part of the much larger problem of automatic visualization and of understanding visual comprehension. 2. THE P R O B L E M OF D I M E N S I O N I N G

6.

Similarly situated dimensions, e.g. parallel, should be grouped together whenever possible, etc. There are many other rules and conventions dealing with: notes, angles, cylinders, curves symmetry, assembles, tolerances, etc.

The current work has dealt mostly with categories 3, 4 and 5 and with regard to these, the problem of dimensioning correctly is found to be one of resolving conflicts among rules and even violating rules as needed. Figs 5 through 19 show examples of application of the above stated rules where conflicts do occur and are sometimes acceptable i.e. the rules can be violated. Fig. 5 illustrates the correct application of a layout rule that states 'do not place a dimension on a figure'. Fig. 6 shows a case where the rule is disregarded for the sake of avoiding long extension lines and promoting clarity. Figs 7 and 8 illustrate the incorrect and the correct application of the rule 'place a dimension between views whenever possible'. Fig. 9 shows erroneous dimensioning. In it the extension lines now cross the object lines and cause some cluttering and confusion. Another incorrect example is shown in Fig. I0 although other rules are obeyed here. Here an important rule called 'the contour dimensioning principle' is being violated. A correct version which applies this principle is illustrated in Fig. 11. The principle of grouping related parallel dimensions is illustrated in Fig. 12. This rule seems to be of secondary importance.

2. O0

~-

There are several basic dimensioning principles which can in general be placed into the following categories: 1. 2.

3.

.

5.

34

General Rule: Each dimension should be given clearly, so that it can be interpreted in only one way. End-use Rule: Only those dimensions should be given which are used for Design, Manufacturing or Inspection of the part. Redundancy Avoidance Rules: A dimension should be attached to only one view. A complete chain of dimensions (cycle or closed loop) should be avoided. Feature Rules: Dimensions should be placed in views where the true shape of a feature (or contour) is shown. Layout Rules: Dimensioning to hidden lines should be avoided whenever possible. Dimensions should not be placed on a figure unless clearness is promoted and long extension lines are avoided. Dimensions applying to two adjacent views should be placed between views, unless clearness is promoted by placing some of them outside. Longer dimensions should be placed outside all intermediate dimensions, so that dimension lines will not cross extension lines. Dimensions should line up in chain fashion. A dimension line should never be drawn through a dimension figure.

Artificial Intelligence in Engineering, 1989, Vol. 4, No. 1

---~

Fig. 5.

2.00

Dimensions on a figure - incorrect

w

7--

,

2.00

t-

I

1 .00

Fig. 6.

Dimensions on a figure - promote clarity

Knowledge-based automatic dimensioning: A. H. Bond and S. Z. Ahmed 1

b

.00 b

i°V -

II

t 2.00:

2.00

.,.50

.70

2.00 Fig. 7.

1

2.00

1

1.20

_L

.50

Fig. 11.

Contour dimensioning principle applied

Dimensions between views - incorrect

~4.00 -.~ 1.00 '''~~ 2.00 1

.00

2.00~ 1

I

~i

.50

t

'

t

2.00

1 .20

Fig. 8.

Dimensions between views - correct Fig. 12.

2.00

I

I

I

Grouping of related parallel dimensions

---'~-

"= . 5 0

I .00

It .80

Fig. 9.

I

t

2.00

,[

Extension lines cross object lines

--F

~

--

1.( 2 . 0 0 -----~

.8O .50

-T

2.00

.70

Fig. 10.

t

14olation of the contour principle

Fig. 13.

Clarity rather than grouping

However, as shown in Fig. 13 this rule may also be violated to avoid long extension lines and to promote clarity. Sometimes, as shown in Fig. 14, it may be impossible to avoid violating a rule such as the one 'avoid crossing of extension lines and dimension lines' depending upon the required application. As shown in Fig. 15 crossing of extension lines and dimension lines should be avoided. Fig. 16 illustrates that it is acceptable to have extension lines cross each other.

Artificial Intelligence in Engineering, 1989, Vol. 4, No. 1 35

Knowledge-based automatic dimensioning: A. H. Bond and S. Z. Ahmed

1

analysis is intended to be as far as possible independent of control considerations or implementation criteria.

.00

.~ 2.00

Fig. 14. Exceptional cases are possible

3.1 Creation of 3D dimensions for 3D features These are rules which apply to 3D features (which are configurations of faces) and which create dimensions which apply to certain distances in 3 space. An example is the rule for dimensioning a slot. The dimensions created are (i) the distance between the faces of the slot (ii) the length of the slot (iii) the depth of the slot 3.2 Surface dimension allocation For each surface in 3D, these rules create dimensions on linear elements or between linear elements. An example is the rule for dimensioning a rectangular face. The dimensions created are (i) the distance between one pair of parallel edges (ii) the distance between the other pair of parallel edges 3.3 lnstantiation of general 3D dimensions onto 3D straight line and angular dimensions Fig. 20 gives an example of instantiation of a general 3D dimension onto a pair of points, so that a projection can be made for evaluation.

Fig. 15.

Avoid crossing of extension and dimension lines

1 .00

2. O0

1 .50 -~ I--

2.50

Fig. 17. An object Fig. 16.

Crossing extension lines permitted .50

Another interesting case of violation of rules is shown in Figs 17 to 19. The object shown in Fig. 17 if dimensioned as in Fig. 18 results in an obviously redundant display of the 0.5 dimension. However, in Fig. 19 the object shown is such that the 0.71 dimension needs to be twice dimensioned (apparently redundantly) to avoid any confusion to a human being examining the drawing. All these cases illustrate some of the difficulties involved in properly displaying dimensions on a drawing automatically.

iL

36

Artificial Intelligence in Engineering, 1989, Vol. 4, No. 1

_i

I

Fig. 18.

Obvious redundancy

.71

.71

IF[

3. ANALYSIS O F T H E K N O W L E D G E U S E D IN DIMENSIONING

We used the following basic approach to automate dimensioning using our 2-D and 3-D CAD models. This

50

Fig. 19.

Not so obvious redundancy

r

Knowledge-based automatic dimensioning: A. H. Bond and S. Z. Ahmed to eliminate is not obvious. It seems one should eliminate based upon end-use considerations.

Fig. 20.

Instantiation of a size_dist_str dimension

Fig. 21.

Redundancy of general 3D dimensions

3.4 Redundancy relations in 3D Fig. 21 shows a 3D model with a number of general 3D dimensions which exhibit some redundancy. We found that all cases we looked at could be taken care of by looking for redundancy of elements which were members of the same (maximal) face. Then if two elements are equal, parallel and if their end points lie at the vertices of a rectangle, then they are redundant, and only one of them should be expressed. The same applies to the distance apart of two parallel lines which are tangent to a circle with a diameter dimension. 3.3 Selection of 3D elements to be explicitly dimensioned It is not 2D projections that are to be selected, but 3D elements, since if an element is to be expressed, its dimensions should be expressed in all relevant views. To find the relevant views, we need further rules, such as if a straight line element is perpendicular to one plane of projection them to consider only the parallel views. To select one 3D element over another that it is redundant with, we have to weigh each 2D view of it. The criteria for evaluation include (i) whether the 2D element is a hidden line (ii) whether it is near the periphery of the 2D view (iii) whether it is toleranced In addition, the designer might explicitly mark particular 3D elements as interesting and therefore to be expressed.

3.6 Further redundancy in 2D views After projection into 2D views, there can be new accidental redundancies created, which are not present in 3D. They can be dealt with by finding all the cycles and eliminating elements from cycles. Deciding which element

3.7 Layout rules Quite a lot of layout rules emerged as operating in finding a good dimensioning layout. Dimensions should in general be placed as close to their element as possible. A dimension can be put on either side of its element. For interior elements i.e. not on the periphery of the projection, it is often advisable to place the dimension on the periphery, and to use extension lines. One strategy is to place all dimensions on the periphery, the only exceptions being for small interior features, where long extension lines would create unacceptable cluttering. Dimensions should not overlap, and so interfering parallel dimensions are usually spaced at a convenient distance apart with smaller ones on the inside. Often we have a whole set of parallel dimensions competing for the same space. In this case, it seems the best effect is obtained by packing them into a minimal number of layers, with shorter dimensions on the inside as far as possible. Groups of related parallel dimensions should be placed together, even if this may mean moving a dimension further away from its element (up to some limit). This is illustrated in Fig. 12. The three 2D views are usually arranged on one sheet in a correct spatial relationship. The usual one is a central principal view, with a top view above it and a side view at its side, as in Fig. 3 for example. If possible, it is preferable to place a dimension between the two views containing projections of the 3D element being dimensioned. It is still attached to one preferred view, closer to it and connected by extension lines. Thus, in layout there are several layout principles operating. In some cases, there is an indication of priority between principles, so that if two principles give conflicting layout advice, a choice can be made. In other cases, conflict is avoided by using ordering principles. For example, overall dimensions to be placed first, then each feature to be dimensioned in turn in order of importance. There can be overriding of any level of decision if the diagram becomes not easily comprehensible. For instance, a great deal of clutter can lead to undoing dimensioning decisions all the way back to reselecting views, or reselecting elements from redundant sets. 3.8 Several acceptable solutions Finally, there are ususally several different acceptable choices of dimensionings for a given problem. Any of these can be considered to be a solution to the dimensioning problem. 4. O U R A U T O M A T I C D I M E N S I O N I N G SYSTEM The task of generating drafting dimensions of acceptable standards requires a great deal of drafting knowledge, both drafting conventions and common sense spatial knowledge. Further, this knowledge has to be available and applicable at any point in the visualization process, which starts with a given 3D model and generates 2D views and explicit dimensions.

4.1 The software architecture We designed a structure of dimensioning goals forming a goal tree, with goals linked also by a rich network of

Artificial Intelligence in Engineering, 1989, Vol. 4, No. 1 37

Knowledge-based automatic dimensioning: A. H. Bond and S. Z. Ahmed redundancy constraints. We define a set of elements to be redundant if expressing one of the elements implies that the others need not and usually should not be expressed. For example, the decision as to which one of a set of redundant 3D elements and in which views and where to place the dimension, is all dependent upon the conventions for clear visualization of 3D models, for grouping of related information into views, for choice of views for best drawing comprehension, for clear uncluttered and quickly readable layouts and so on. This complex decision which is made by experienced human draftspersons with relative ease can only be accomplished mechanically by allowing the many types of knowledge and requirement to be brought to bear at the same time on a large redundant set of alternatives. A staged processing system with decision made and committed in stages often results in poor visualizations. Our software architecture is to use a set of rules for each of the seven kinds of knowledge identified in the previous section. We start from a 3D model which contains linear elements, faces and volumes. This model is represented symbolically as statements in Prolog. It is a model developed at UCLA for CAD/CAM work and is part of an Intelligent CAD/CAM system. The sets of rules are applied in sequence until the final dimensioned drawing of three 2D views is produced. All the items generated by rules are symbolic statements which we call goals. Thus, the first 3D rules generate goals which are general 3D dimensioning goals. Further rules are driven by the model and by existing goals. Their action is to produce new goals or modify old goals. Part I of the goal tree produced in our example is shown in Fig. 22 and part II is shown in Fig. 23.

4.1.1 The geometric model The 3D model used consists of 3D elements which can be line, circular or elliptical segments. These correspond to CADAM 3D wireframe elements, but have also a Prolog symbolic form. Then there are faces, which are sets of 3D elements, and are represented by membership relations in Prolog. We represent faces which are planar or circularly cylindrical, and we have maximal and minimal faces.

...............

I o"'cKE' I %2}

REGULAR VOLUMES 3--D

FEATURES

Fig. 22.

38

-- ~

~

~3)

x4 1

~

Part I of Goal tree for example

Artificial Intelligence in Engineering, 1989, Vol. 4, No. 1

SELECTION REDUCED

I

/ /x ~4,

X

\

TV

, I SV

P~

TV

X

2D

SETS

I

\ I

PV

REDUNDANT

SV

PV

TV

X

SV

×

CYCLES

() . . . . 2D

o

X

CYCLE

©

GROUPING

GROUP

Fig. 23.

Part II of Goal tree for example

Minimal faces do not include any other faces. Maximal faces are maximal accumulations of contiguous minimal faces with the same equation. We represent volumes as sets of faces, again by membership relations in Prolog and in similar fashion have minimal and maximal volumes. All dimensioning rules we needed can be expressed in terms of minimal and maximal volumes and minimal and maximal faces.

4.1.2 Goal types Each goal has a record of its supergoals and has a numerical weight, which gives a priority which can be set by the user. The form of a goal is goal(goalnumber, goaltype, volumes faces and elements involved, numerical weight, parent's goalnumber) The dimensioning process begins by injecting a set of dimensioning goals, one for each minimal volume in the part. The types of goal used are

1. size_vol The goal of dimensioning the given minimal volume. 2. size_dist face The goal of dimensioning the distance between two parallel plane faces. 3. size_diameter face The goal of dimensioning the diameter of a plane circular face. 4. size face The goal of dimensioning a general face. 5. size_dist_str The goal of dimensioning the distance between two parallel lines. 6. size_maxelement The goal of dimensioning a maximal element. 4.2 Examples of rules Each of the following sub-sections deals with a level in the goal tree (parts I and II).

Knowledge-based automatic dimensioning: A. H. Bond and S. Z. Ahmed 4.2.1 Creation of general 3D dimensions for 3D features

4.2.4 Generating redundancy relations among dimensions on 3D elements

1.

Two rules only are needed, and are applied to pairs of elements in the same surface.

Special 3D features (a) Right circular cylinders If we have a size_vol goal for a minimal volume which is a right circular cylinder, then generate two size_diameter_face goals, one for each end of the cylinder of the form

goal(n,size~liameter_face facenumber, weight,parent) and one size dist_face goal for the distance between the ends of the cylinder of the form

goal(n,size_dist_face facenumber l , facenumber 2,weight,parent )

(b) Rectangular prisms If size_vol goal for rectangular prism, then generate three goals, one for each pair of parallel faces of the form

goal(n,size dist_face facenumber l , facenumber 2,weight,parent ) 2.

General 3D volumes For each face of the volume, generate a size_face goal.

4.2.2 Surface dimension allocation 1.

Special surfaces (a) Rectangles Create two goals of the form

goal(n,size dist_str,element l ,element2, element3,element4 ,weight,parent ) This is the goal of dimensioning the distance between two edges elementl and element2, and where the two elements element3 and element4 can be used later for instantiating the general dimension onto actual 3D elements. (b) Complete circles Create

goal(n,size_diameter_face facenumber, weight,parent) .

General surfaces For each maximal element, generate a size_ maxelement goal.

4.2.3 Instantiating general 3D dimensions onto 3D elements The four types of goal for general 3D dimensions are

size_diameter face, size_dist~face, size_dist_str and size~naxelement

1.

For parallel equal straight lines whose end points forma rectangle, we create a redundancy relation

redundant(element l ,element2) 2.

For tangents to a circle, size_dist__str is redundant with size_diameter~face dimensions.

These rules are applied over the model. The sets of binary redundancy relations effectively link together elements which are not in the same surface,

4.2.5 Projection of 3D elements and selection of 3D elements to explicitly dimension For each 3D element, the corresponding 2D elements in each of the 3 views are generated. If there is a 'true view' i.e. a view in which the true length of the element occurs, then we consider only that one view. We evaluate each 3D element by evaluating each 2D view of the element, using three criteria (i) Is it solid or dashed i.e. a hidden element (ii) Its depth of nesting from the outside boundary (iii) Whether the view is principal, side or top view We then select for explicit dimensioning that 3D element with the best value. If there is more than one true view, we evaluate each and choose the best. All dimensioning goals for 3D elements redundant with the selected dimension are marked as satisfied. This propagates through the set of redundancy relations since 3D elements redundant with satisfied goals are themselves satisfied. This selection process is repeated until all dimensioning goals for 3D elements are satisfied. The result is a set of explicit 2D dimensions as logical statements.

4.2.6 Redundancy in 2D projections (2-D cycles) We project all parallel linear elements onto a line and find all dimension cycles. We then eliminate one element from each cycle successively until no more cycles remain. Currently we have not implemented any strong rules for selecting which dimension to eliminate, and therefore simply eliminate the smallest dimension.

4.2.7 Layout rules and grouping For a set of parallel dimensions competing for the same layout space, we exhaustively find all possible packed layouts obtained by arranging dimensions in layers of noninterfering dimensions. We select those with the fewest layers, and among these order them by putting the smallest dimensions on the inside. We group parallel dimensions together and we place a dimension between views.

4.3 Example For size_dist~str goals, we only have rectangles in our example and so they are instantiated onto the maxelements in the goal itself. When no such perpendicular element exists, we create the end points of an invisible straight line element between the two parallel lines and we attach the dimension to them.

The example part of Fig. 1 is processed as follows, referring to Figs 22 and 23. In Fig. 22, at the top level, the object is determined to be of an irregular shape and goals to dimension each face are set up. Next the size face goals are examined for face shape. Some are found to be rectangular and others irregular.

Artificial Intelligence in Engineering, 1989, Vol. 4, No. 1 39

Knowledge-based automatic dimensioning: A. H. Bond and S. Z . Ahmed

Size_face goals are then used to generate further lower level goals. Irregular faces (represented by goals 5, 6 and 10) generate goals to size each element (goals 28-33, 3638 and 45,46). Size_face goals for rectangular faces generate sub_goals of the form size_dist_str (3944) between opposite parallel edges. The size_dist_str goals generate further size_element goals corresponding to the elements which connect the opposite sides of a rectangular face. Pairs of goals generated thus are redundant with each other and also take preferences over size_element goals referring to the same element which are generated by irregular faces. In this example goals 29-32 and 37 are some of the deleted size_element goals, when it is found that the same element also belongs to a rectangular face. At this stage, all goals are of the form size_element. The next step (Fig. 23) is to evaluate each size_element goal in all three views. Using a simple weighting scheme, one size_element goal is chosen from amongst each redundant set along with the view in which it is best shown (e.g. PV (Principal View) for the element from first set and TV (Top View) for the element from second set in Fig. 23) and a 2D dimension goal is set up. Thus a set of dimensions to be displayed is determined. There may still be a cycle in 2D, consisting of three or more dimensions from different views. This is checked for and one member of the cycle is deleted. Some manufacturing or inspection oriented criteria are desirable while selecting the dimension to delete. At present we delete one dimension arbitrarily. Finally to properly layout the dimensions which are collinear and overlapping, a grouping step is performed to pack such dimensions into the least number of layers. These dimensions are then converted into the proper C A D A M format for display. 5. C O N C L U S I O N To obtain the acceptable dimensioning for the example given requires all the knowledge we have listed. Conversely, if the system has this knowledge, it can produce acceptable dimensionings, at expert levels. The method described in this paper is quite general. It applies to any prismatic part and can easily be generalized to wider classes of parts, and other projections. The system was evaluated informally and has attracted positive evaluations from engineers and draftsmen. A full human factors study could be done in the future. The necessity and sufficiency of the knowledge base are difficult and interesting questions. The knowledge we use is probably sufficient since it yields good results. We haven't explored the completeness of our rule sets. This research points up the large amount of knowledge operating in tasks which are relatively easy for humans.

40

Artificial Intelligence in Engineering, 1989, Vol. 4, No. 1

In particular, spatial knowledge is a relatively unexplored area in expert systems research, and it is an open question whether the levels of spatial intuition and spatial knowledge, common among engineers, can be represented and used with present day expert systems techniques.

ACKNOWLEDGEMENTS We should like to thank Basuki Soetarman and Dong Kim for their comments and assistance during this research. We should also like to thank Dr Michel A. Melkanoff, Director of the U C L A Manufacturing Engineering Program, for his encouragement, and for providing the framework within which this research could proceed. The UCLA Computer-Aided Design Laboratory is supported by gifts from many corporations.

REFERENCES 1 2 3 4 5 6 7 8 9 l0

11 12

13

Giesecke,F. E., Mitchell, A., Spencer, H. C., Hill, I. L. and Dygdon, J. T. Technical Drawing, Macmillan, New York, 7 edition, 1980 ASME, Dimensioning and Tolerancing ANSI Y14.5M 1982, Technical Report, American Society for Mechanical Engineering, New York, New York, 1983 Turner,B. Effectivecommunication,Engineering Designer, 1967 Spencer,J. and Milnes-Walker, N. D. The ergonomic study of engineering drawings, Applied Ergonomics, 1971, 2, 162-170 Cheney,R. L. and Spencer, J. Dimensional information on engineering drawings, Ergonomics, 1974, 17, 343-363 Spencer,J. and Cheney, R. L. A study of dimension layout for engineering drawings, Ergonomics, 1976, 19, 35-52 Hillyard,R. C. and Braid, I. C. Analysis of dimensions and tolerances in computer-aided mechanical design, Computer Aided Design, 1978, 10, 161 166 Hillyard,R. C. and Braid, I, C. Characterising non-ideal shapes in terms of dimensions and tolerances, Computer Graphics, 1978, 12, 234~238 Hillyard,R. C. Dimensions and Tolerances in Shape Design, PhD Thesis, University of Cambridge, UK, 1978 Requicha,A. A. G. and Voelker, H. B. Solid modeling: a historical summary and contemporary assessment, IEEE Transactions on Computer Graphics and Applications, 1982, 2, 924 Requicha,A. A. G. Representations for rigid solids: theory, methods and systems, Computing Surveys, 1980, 12, 437464 Requicha,A. A. G. Part and assembly description languages I: Dimensioning and Tolerancing, Technical Memo 19, Production Automation Project, University of Rochester, Rochester, New York, 1977 Minagawa,M., Okino, N. and Kakazu, Y. Developmentof full automatic dimensioning system based on 3d solid geometry, Software for Discrete Manufacturing, (Eds J. P. Crestin and J. F. McWaters), Proceedings of the 6th International IFIPflFAC Conference on Software for Discrete Manufacturing, PROLAMAT 85, 1986, 145-154