Geometric assistance for visual reasoning and construction of solids with curved surfaces from 2D orthographic views

Geometric assistance for visual reasoning and construction of solids with curved surfaces from 2D orthographic views

Advances in Engineering Software 32 (2001) 21±35 www.elsevier.com/locate/advengsoft Geometric assistance for visual reasoning and construction of so...

2MB Sizes 0 Downloads 33 Views

Advances in Engineering Software 32 (2001) 21±35

www.elsevier.com/locate/advengsoft

Geometric assistance for visual reasoning and construction of solids with curved surfaces from 2D orthographic views C. Hubbard a, Yong Se Kim b,* a

b

DEMACO, 100 Trade Centre Drive, Suite 303, Champaign, IL 61820, USA CAD/CAM Laboratory, Mechanical Engineering Department, University of Wisconsin-Milwaukee, 3200 N. Cramer, Milwaukee, WI 53211, USA Received 12 May 1999; received in revised form 26 February 2000; accepted 13 March 2000

Abstract As the extensive use of solid models becomes widespread, it is important to have a mechanism by which existing engineering drawings can be converted into solid models. Therefore, a geometric assistance that can aid in visual reasoning and constructing of solid models is bene®cial. In this paper, we present key operations for a system called the Assistant for Reasoning and Construction of Solids (ARCS), which provides this assistance given a set of two orthographic views. The geometric domain of ARCS encompasses curved solids with cylindrical and spherical surfaces, such as those found in typical mechanical parts. We have devised the Cylindrical and Spherical Warping operations to create cylindrical and spherical surfaces, which use interactive computer graphics that guide a human user to curved faces of a solid. These operations are then illustrated with examples using ARCS to create the solid models of typical mechanical parts from their orthographic projections. q 2000 Elsevier Science Ltd. All rights reserved. Keywords: Visual reasoning; Solid modeling; Orthographic projection; Cylindrical surfaces; Spherical surface; User-interface for visualization; Drafting-tosolid model conversion

1. Introduction As the extensive use of solid models becomes widespread, it is important to have a mechanism by which the existing engineering drawings can be converted into solid models. Rather than building the model from scratch, the information already contained within the engineering drawing should be used to create the model. The reasoning to reuse the existing data is twofold: reuse saves work and helps avoid data loss and mistakes in the resulting model. Also spatial reasoning capability is critical to engineers [1], and thus the tools to support visual reasoning of solid models are desired. Previous research on the problem of constructing solid models from their orthographic views has been addressed numerous times over the last two decades. The majority of this research has addressed the problem in the realm of automatic construction methods. Initial work in this area was done to ®nd polyhedral solids from their orthographic views [2±4]. Subsequent work * Corresponding author. Tel.: 1 1-414-229-4756; fax: 1 1-414-2296958. E-mail address: [email protected] (Y.S. Kim).

allowed curved surfaces and the problem of solid construction became much more complex. This complexity is re¯ected in the restricted geometric domain of the orthographic view input and the resulting solid models created by such systems [5±7]. These automatic construction methods all require input from three unambiguous orthographic views. Dutta and Srinivas provided an algorithm to ®nd solid models containing curved surfaces from two polygonal orthographic views [8]. Very recent work in this area has been done to take advantage of new technologies, but does not extend the geometric domain of surfaces from some previous systems [9,10]. In this paper, we present key operations for a geometric assistant that can aid human engineers in visually reasoning and constructing solid models given a set of two orthographic views. We call this system the Assistant for Reasoning and Construction of Solids (ARCS). We developed an initial system that contains the geometric assistance for building polyhedral objects from their orthographic views. This system, called the Visual Reasoning Tutor (VRT), was designed speci®cally to address the need to teach student engineers about the relationships between orthographic views and their corresponding 3D solids [11]. This system, while important and

0965-9978/01/$ - see front matter q 2000 Elsevier Science Ltd. All rights reserved. PII: S 0965-997 8(00)00071-5

22

C. Hubbard, Y.S. Kim / Advances in Engineering Software 32 (2001) 21±35

Fig. 1. Top and front orthographic views of a solid.

Fig. 3. Face sweep operation in VRT.

successful in its own context, is limited to polyhedral parts. Thus, a more general geometric assistance would be necessary to address solids that can contain curved surfaces. In a typical mechanical part, curved surfaces are usually created from geometric primitives like cylinders or are the result of rounding operations. The majority of surfaces, which result from rounding operations, can be described by cylindrical and spherical patches. In this light, our system, ARCS, will address cylindrical and spherical surfaces. These surfaces are widely used and are suf®cient to cover many realistic engineering parts.

The ARCS system is being developed based on VRT. The geometric framework for building solids is based on VRT's visual sweeping methods [12]. In the sweeping operations, the orthographic view from which the face is initially swept is a constraint imposed on the resulting face. All subsequent operations made on this face cannot change its (orthographic) forward projection with respect to the view from which it was created. Additionally, constraints of planarity are added and thus the resulting objects are polyhedral. Fig. 1 shows the orthographic projections of a solid which will be used to illustrate the VRT sweeping operations. In

the VRT environment, the orthographic views are projected onto a viewbox, as shown in Fig. 2. VRT has three sweeping operations: Face Sweep, Edge Sweep and Vertex Sweep. All sweeping operations are performed on a loop, a sequence of contiguous edges whose starting and ending vertices are the same. Loops can be selected from the orthographic views, or from an existing face in the created 3D solid. When a loop is selected from the orthographic views, a new face is created. When a loop is selected from an existing face of the solid, that face is altered by the subsequent operation. To select a loop, the user must pick each edge in the loop individually, using the mouse. The left mouse button toggles the selection of an edge, and selected edges are highlighted by the system. If more than one edge is near the picked location, repeated depressions of the left mouse button cycle through the user's choices. When a loop is formed, the user presses the middle mouse button to con®rm the selections. A loop is checked for topological validity by examining each selected edge to ensure that the edges are contiguous, and that the loop is closed and does not self-intersect. If the selected edges are from the solid, the loop's geometric information is checked to see if it matches the geometric information of a face in the solid. The Face Sweep operation is the translation of a loop along a viewing direction. Fig. 3 shows a Face Sweep

Fig. 2. Orthographic views projected onto viewbox.

Fig. 4. Selected edge and vertex for vertex sweep.

2. Relation to VRT

C. Hubbard, Y.S. Kim / Advances in Engineering Software 32 (2001) 21±35

Fig. 5. Vertex sweep operation in progress.

23

Fig. 7. Face sweep of top view loop.

operation applied to the triangular loop in the front view projection. The loop is selected and con®rmed, then mouse movement by the user causes the newly created face to move along the front viewing direction. Note that during sweeping operations, the forward projections of the changing face are displayed in both the top and front views. In VRT, the user sees an animation of the face movement and the changing projections. The displayed forward projections guide the user to position correctly the face in threedimensions, given the constraints of the two orthographic views. During the Vertex Sweep operation, the user selects three items: a loop on which to operate, an edge to remain stationary and a vertex that can move in a viewing direction. Fig. 4 shows the highlighted vertex and edge on the face created from the previous Face Sweep. Once these parameters are selected, the selected vertex moves according to mouse movement by the user. Figs. 5 and 6 show stages of a Vertex Sweep. Again, note the highlighted forward projections of the face. Vertices not included in the selected edge±vertex pair (e.g. faces with more than three vertices) are projected onto the plane, which is described by the three vertices in the selected edge±vertex pair. Like the Vertex Sweep, the Edge Sweep requires the user to select a loop, a vertex and an edge. However, the selected vertex remains stationary and the selected edge moves

following mouse movement by the user. Fig. 7 shows a Face Sweep from the top orthographic projection, and Fig. 8 shows the selection of an edge±vertex pair for an Edge Sweep on this face. Figs. 9 and 10 illustrate subsequent stages of the Edge Sweep. The remaining faces of the solid can be created similarly. Figs. 11±14 show completion of the solid's construction. It should be noted that the VRT also offers a Construct operation to create faces of a solid that cannot be swept (i.e. faces that appear in both top and front views as a line segment).

Fig. 6. Vertex sweep operation (®nal location).

Fig. 9. Edge sweep operation in progress.

Fig. 8. Selected edge and vertex for edge sweep.

24

C. Hubbard, Y.S. Kim / Advances in Engineering Software 32 (2001) 21±35

Fig. 10. Edge sweep operation (®nal location).

Fig. 12. Edge sweep to position ®nal triangular face.

Furthermore, the Visual Teacher component of VRT has the capability to provide the user with an evaluation of progress and various levels of assistance during any stage of the solid construction [13]. VRT's interface has been successful, as veri®ed in the implementation of the system in visual reasoning education [14,15] and its general approach is propagated to ARCS. The general procedure is to: 1. 2. 3. 4.

select a type of operation; select a loop on which to perform the operation; select ®xed parameter(s); visually reason about the animated consequences, while changing the value of one variable parameter; 5. determine the value for the variable parameter based on visual analysis and the constraints of a face in a 3D solid. 3. Operations of curved surfaces To handle curved surfaces in addition to planar surfaces, new operations and de®nitions need to be developed. Three additional operations are necessary to handle the curved surfaces in the intended domain of parts: ² Cylindrical Warping; ² Spherical Warping; ² Planar Stretching.

Fig. 11. Face sweep to create back triangular face.

Fig. 13. Face sweep in progress to create bottom face.

The new operations follow the general procedure of the VRT sweeping operations. All of the following operations assume that the face upon which to operate has been created using at least one Face Sweep operation. Unlike the loops in VRT, ARCS loops can contain circular or elliptic arcs. These loops can be classi®ed in two categories based on the types of edges that comprise them: circular (or elliptic) edges only; or mixed curved and linear edges. The curved edge data contain information about the starting and ending points of an edge. These starting and ending points are used to denote the limits of the

Fig. 14. Completed solid.

C. Hubbard, Y.S. Kim / Advances in Engineering Software 32 (2001) 21±35

25

Fig. 15. Key points and Help Edges.

edge, just as two vertices denote the limits of a linear edge. When a linear edge is selected, it is highlighted from vertex to vertex. Similarly, when a curved edge is selected, it is highlighted from its start point to its end point, regardless of the curve's relation to adjoining edges. 3.1. Cylindrical Warping

Fig. 17. Spherical Warping.

A Cylindrical Warping can create a piece of a cylindrical surface from a planar face with two parallel edges. The parameters necessary for de®ning a cylinder are the cylinder's axis (direction and location) and radius. The Cylindrical Warping uses information about edges that coincide with the cylinder's surface, axis direction and axis location in order to specify the cylinder. Before describing the operation, we need to de®ne terms necessary to complete it.

The Warping Axis is a vector in the direction of cylinder's axis and its direction is parallel to an edge in the face on which the operation is performed. The user selects the Warping Axis with the mouse by clicking one of the edges in the face to which the Cylindrical Warping is applied. After the axis direction is chosen, the cylinder's axis is not created until more parameters are speci®ed.

Fig. 16. Cylindrical Warping.

Fig. 18. Planar Stretching.

26

C. Hubbard, Y.S. Kim / Advances in Engineering Software 32 (2001) 21±35

Fig. 19. Orthographic views of bracket from Ref. [16].

Fig. 21. After Face Sweeping and Planar Stretching operations.

A Key Point is a point in both an orthographic projection and the 3D geometric entity, which is used to help specify that geometric entity. For example, a Key Point can be the starting or ending point that describes an arc in a view, or the center of an arc. Fig. 15, shows Key Points P1, P2 and P3. The Key Points can also be the intersection of edges and projections of Key Points along a principal axis. The points P4 and P5 in Fig. 15 are projections of P3. Help Edges are edges that are described by and derived from the Key Points. A Help Edge is needed when the projec-

tion of a loop does not re¯ect a change from a curved face to a planar face. This situation occurs when the planar face is tangent to an adjoining curved face. Fig. 15 shows a Help Edge as the dotted line segment between the points P4 and P5. The user can request ARCS to calculate the Help Edges. Side Edges are edges or Help Edges that are parallel to the Warping Axis and that are contained in the face to which Cylindrical Warping is applied. Side Edges remain stationary during the Cylindrical Warping operation, and always

Fig. 20. Orthographic views projected onto viewbox.

Fig. 22. Face D created with Help Edges.

C. Hubbard, Y.S. Kim / Advances in Engineering Software 32 (2001) 21±35

27

Fig. 23. Aligning Side Edges.

Fig. 25. Result of Cylindrical Warping.

lie on the surface of the changing cylinder. The user uses the mouse to select Side Edges. The procedure for a Cylindrical Warping is:

Setting the axis location implicitly provides the value of the radius, necessary to complete the cylinder's description.

The axis location is the variable parameter for the Cylindrical Warping. The possible axis locations are determined by the previously ®xed Side Edges and the axis direction; the axis must be equidistant from each Side Edge and parallel to the Warping Axis. The locus of all points, which are equidistant from the two (parallel) edges, is a plane (the medial axis plane) on which the axis must fall. Given that we know the axis direction, its location can be varied by moving the axis along the plane. Speci®cally, it is moved in the direction of the line,

Fig. 24. Cylindrical Warping in progress.

Fig. 26. Planar Stretching operation.

1. 2. 3. 4.

Select Loop; Select Warping Axis Direction; Select Side Edges; Move and Place Cylinder Axis.

28

C. Hubbard, Y.S. Kim / Advances in Engineering Software 32 (2001) 21±35

Fig. 27. Cylindrical Warping in progress.

Fig. 29. Face Sweep creates Face E.

which also lies on the plane, but is perpendicular to the axis. Movement of the location changes the radius of the resultant cylindrical surface. Fig. 16 illustrates a scenario where a Cylindrical Warping is used. Fig. 16a depicts the initial two orthographic views of a cylinder. Fig. 16b shows the result of a Face Sweep of the front view loop. Cylindrical Warping is applied to this face, and the Warping Axis direction is chosen to be v. Fig. 16c shows a portion of the medial axis plane, P. The cylinder's axis must lie in this plane, and be parallel to v. The

cylinder's axis moves by following mouse movement and direction, and is highlighted to show its current position. As the cylinder's axis moves along the viewing direction, the radius of the surface changes. This radius change is displayed as the projection of the cylindrical surface so that the user can match it with the constraints of the top view. Once the user chooses the ®nal location (see Fig. 16d), information in the orthographic views is used to snap the cylinder into an appropriate location.

Fig. 28. Result of Cylindrical Warping.

Fig. 30. Cylindrical Warping of Face E.

C. Hubbard, Y.S. Kim / Advances in Engineering Software 32 (2001) 21±35

Fig. 31. Orthographic views on viewbox.

3.2. Spherical Warping Comparable to Cylindrical Warping, Spherical Warping can create a piece of a spherical surface. To de®ne a sphere, parameters must be set for the sphere's center and radius. The Spherical Warping uses information about points on the sphere's surface and the location of the sphere's center to specify the sphere. To use the Spherical Warping operation, the procedure is:

Fig. 32. Four faces created by Face Sweeping operations.

29

Fig. 33. Help Edges created.

1. Select Loop; 2. Select Three Points to Fix (on Surface); 3. Move and Place Sphere Center. Once the face is created, three points on this face must be selected to remain ®xed on the surface of the sphere. In other words, the resultant spherical surface must pass through these three points. Designating three points facilitates the selection of the sphere's center, since the locus of

Fig. 34. Result of Planar Stretching.

30

C. Hubbard, Y.S. Kim / Advances in Engineering Software 32 (2001) 21±35

Fig. 35. Cylindrical Warping in progress.

Fig. 37. Face Sweep of top view loop.

points that satisfy the conditions for the sphere's center (i.e. all points that are equidistant from the three ®xed points) lie on one line. Moving the location of the sphere's center along this line causes the radius of the sphere to change. Fig. 17 shows a situation in which a Spherical Warping is used. Fig. 17a shows the initial two orthographic views of a solid, which contains a spherical surface. In Fig. 17b, a Face Sweep is applied to the top view loop, followed by the initiation of a Spherical Warping. Here, Points P1, P2 and P3 are selected by the user to remain ®xed. These points are

the Key Points from the top orthographic view that are projected onto the circular face. Now, the position of sphere's center must be selected. The center c must lie on line m, as seen in Fig. 17c. In Fig. 17c, the projection of the newly created spherical surface can be seen in the front view. Fig. 17d shows that as the position of the center changes, the radius of the sphere also changes. Again, the projection of the spherical surface is shown on the front view so that a user can visually compare it with the given front view projection.

Fig. 36. Result of next Cylindrical Warping operation.

Fig. 38. Planar Stretching to align face.

C. Hubbard, Y.S. Kim / Advances in Engineering Software 32 (2001) 21±35

Fig. 39. Face Sweep of create face for hole boundary.

31

Fig. 41. Completed hole boundary.

In VRT, the Edge Sweep and Vertex Sweep operations are available to stretch a planar surface by constraining the orthographic view, and varying the selected edge±vertex pairs (as illustrated in Figs. 4±6, 8±10). The combination of an edge±vertex pair provides the system with three points, which describe the plane of the face. Given a face with curved edges, there may not exist an appropriate edge±vertex pair needed for the Edge Sweep or

Vertex Sweep. Therefore, a comparable operation to stretch planar surfaces that have curved boundaries has been devised. This operation is called Planar Stretching. In general, we must preserve planarity and the forward projection, but allow for the ¯exible modi®cation of the normal to the surface, and stretching of the surface size. Essentially, we need a method to describe the plane onto which to inverse-project the orthographic view. Instead of VRT's three-points (from an edge±vertex pair) method, we will specify the plane normal and one point on that plane.

Fig. 40. Cylindrical Warping of hole boundary.

Fig. 42. Additional Face Sweep operations.

3.3. Planar Stretching

32

C. Hubbard, Y.S. Kim / Advances in Engineering Software 32 (2001) 21±35

Fig. 43. Another view of partially constructed solid.

Fig. 45. Planar Stretching to align Side Edges.

For a Planar Stretching operation, the following procedure is used:

The ®xed parameter for the Planar Stretching is the point selected in step two. The point can be any Key Point or vertex contained within that face's geometric information. The user selects this point with the mouse.

The variable parameter is the face normal. If it is required that this normal pass through the ®xed point, the normal can be altered by allowing its rotational freedom. Movement of the normal's direction will cause the face to stretch so that its forward projection matches the orthographic view, while remaining planar. Fig. 18 illustrates a situation in which a Planar Stretching operation is used. Fig. 18a shows the initial orthographic views of a right cylinder with its top end cut at an angle. In Fig. 18b, we see the result of a Face Sweep of the top view

Fig. 44. Face Sweep of top view loop.

Fig. 46. Cylindrical Warping to join pieces of partially constructed solid.

1. Select Loop; 2. Fix One Point (on Surface); 3. Adjust and Place Normal.

C. Hubbard, Y.S. Kim / Advances in Engineering Software 32 (2001) 21±35

33

Fig. 47. Similar cylindrical face created.

Fig. 48. Face Sweep of top view loop.

loop. Planar Stretching is applied to this face. Point P1 is ®xed. Vector n is the normal to the face. Fig. 18c and d illustrates that as n moves, the face stretches.

Side Edges of the face. It is important to do this operation ®rst, as these edges will not move during the Cylindrical Warping operation. Now, the Cylindrical Warping is applied. Fig. 23 shows the selected axis direction for the resulting cylinder. The Side Edges are the leftmost edge and the left Help Edge. Once the Side Edges are selected, the radius is controlled by the placement of the cylinder axis. Mouse movement determines the location of the cylinder's axis; as the mouse moves, the cylinder axis location follows its changing position. Recall that the cylinder's axis must always be equidistant from the previously selected Side Edges. Fig. 24 shows the curved surface and the cylinder axis. When the axis is placed in the correct position, the radius of the surface matches the curve of Face C. The result of a successful Cylindrical Warping is shown in Fig. 25. Figs. 26, 27 and 28 show the effects of the Planar Stretching followed by a Cylindrical Warping on the rightmost end of Face D. The Side Edges are the right Help Edge in Face D and the rightmost edge of Face D. To create the cylindrical boundaries of the through-hole seen from Face C, another Cylindrical Warping is performed. First, the planar face must be constructed using a Face Sweep from the top view. The result is Face E in Fig. 29. The selected axis direction is also seen here. In this case, the Side Edges are the bounding edges of Face E that are parallel to the Warping Axis. Fig. 30 shows the changed radius of the cylindrical surface once the axis location is chosen. Note that this operation only created one half of the cylinder that comprises the through-hole. The remaining half can be constructed similarly.

4. Examples This section contains examples that illustrate how ARCS could be used to create solid models of typical mechanical parts from their orthographic projections. 4.1. Drill press bracket The following example constructs part of a drill press bracket using the operations in ARCS. This part was taken from [16]. Fig. 19 shows the two given orthographic views of the bracket. Fig. 20 shows the same orthographic views positioned on the top and front faces of a viewbox whose faces are parallel to the principal planes. Fig. 21 shows the result of three Face Sweep operations. The faces swept are labeled A, B and C. Fig. 21 also shows the result of the Planar Stretching on Face C. Note that if there are at least two straight line segments, an Edge Sweep or Vertex Sweep is possible. Next, Fig. 22 shows the result of a Face Sweep on Face D from the top view. Face D contains two Help Edges that are constructed from the Key Points contained in the orthographic views. The Help Edges will be used to complete Cylindrical Warping operations. Note that as each operation is performed, the forward projection of the changing face is highlighted in both the top and front views. Before we can perform Cylindrical Warping on the left end of Face D, Planar Stretching is used to align the future

34

C. Hubbard, Y.S. Kim / Advances in Engineering Software 32 (2001) 21±35

Fig. 49. Planar Stretching aligns future Side Edges.

Fig. 51. Adjoining cylindrical face created similarly.

The following example constructs the solid model of a connector. Fig. 31 shows the top and front orthographic views of the connector projected onto the ARCS viewbox. The ®rst four faces are created using the Face Sweep operations on loops in the top and front views. Fig. 32 shows the result of these Face Sweep operations. Fig. 33 shows that the C-shaped face has been divided into three separate faces using Help Edges. These faces will

be used to create a cylindrical surface on this end of the connector. To create the cylindrical surface, ®rst the Planar Stretching is applied. The result is shown in Fig. 34. Then, Cylindrical Warping is applied, as shown in Fig. 35. The sequence of Planar Stretching and Cylindrical Warping is repeated for each of the faces created by Help Edges. Fig. 36 shows the next cylindrical face created. Fig. 37 shows both cylindrical faces, and the Face Sweep of another top view loop. This face must undergo a Planar Stretching so that its front view

Fig. 50. Cylindrical Warping in progress.

Fig. 52. Backfacing faces created. Remaining faces to be constructed.

4.2. Connector

C. Hubbard, Y.S. Kim / Advances in Engineering Software 32 (2001) 21±35

projection is aligned with the given orthographic view. The result of the Planar Stretching is shown in Fig. 38. Next, the remaining portions of the cylindrical surfaces are made. Fig. 39 shows a Face Sweep of a top view loop that corresponds to the through-hole in the cylindrical end of this part. The through-hole can be recognized by hidden lines that are given in the top view. In Fig. 40, Cylindrical Warping is applied to the hole boundary to align it with the front view. As seen in Fig. 41, the lower portion of the hole boundary is created similarly. The right-end of the part is addressed next. The result of the two Face Sweep operations is shown in Fig. 42. Fig. 43 shows another angle of the partially constructed part at this point. Fig. 44 shows the Face Sweep operation applied to a loop in the top view. This face will be used to join the pieces of the partially constructed solid together. A Planar Stretching is applied to this face to align Side Edges for a Cylindrical Warping. The result of the Planar Stretching is shown in Fig. 45. Fig. 46 shows the Cylindrical Warping in progress. A symmetric piece is created similarly, as seen in Fig. 47. Fig. 48 shows s Face Sweep operation on another top view loop. In Fig. 49, Planar Stretching has been applied to this face to align its Side Edges for Cylindrical Warping. Fig. 50 shows this Cylindrical Warping in progress. The symmetric half of the cylindrical surface is created next, as seen in Fig. 51. From Fig. 52, the remaining faces can be created using the Face Sweep or Construct operations. 5. Conclusion We have presented key operations for ARCS, a geometric assistant for constructing non-polyhedral faces of solids from their orthographic views. The intended application for ARCS is for guiding human users in the creation of solid models from the existing 2D drawings of mechanical parts. The Cylindrical and Spherical Warping operations create and manipulate cylindrical and spherical surfaces, representative of the majority of curved surfaces found in typical mechanical parts. ARCS also offers the Planar Stretching operation that is necessary to manipulate planar faces with curved boundaries. The ARCS system has been implemented on a Silicon Graphics platform, using the C programming language, Motif and OpenGL graphics routines. This paper described a new technique and user interface to generate cylindrical and spherical faces of solids from their 2D orthographic projections. Using the technique and the user interface described in the paper, a human

35

user can explore many different curved faces satisfying the constraints of an orthographic projection and determine the ®nal shape of the faces by visual reasoning about the interrelation with the other orthographic projection. This capability is critical in generating solid models from the existing 2D drafting data because automatic generation of all proper curved surfaces would be, in general, impossible due to complexity of many real parts and therefore human decision based on rich exploration is necessary.

References [1] Hsi S, Linn M, Bell J. The role of spatial reasoning in engineering and the design of spatial instruction. Journal of Engineering Education 1997;April. [2] Idesawa M, Soma T, Goto E, Shibata S. Automatic input of line drawings and generation of solid ®gure from three-view data. Proceedings of the International Computer Symposium, vol. II, 1975. [3] Lafue G. Recognition of three-dimensional objects from orthographic views. Computer Graphics 1976;10(2). [4] Markowsky G, Wesley MA. Fleshing out projections. IBM Journal of Research and Development 1981;24(6):934±54. [5] Sakurai H, Gossard DC. Solid model input through orthographic views. Computer Graphics 1983;17(3):243±7. [6] Gu K, Tang Z, Sun J. Reconstruction of 3D objects from orthographic projections. Computer Graphics Forum (Netherlands) 1986;5(4):317±23. [7] Senda T, Arimitsu Y, Automatic reconstruction of solid from a set of the orthographical three views. IEEE International Conference on Systems Engineering, Kobe, September 1992. [8] Dutta D, Srinivas L. Reconstruction of curved solids from two polygonal orthographic views. Computer Aided Design 1992;24(3):149± 59. [9] Das AK, Langrana NA. Geometry reconstruction of vectorized drawings consisting of orthographic views. Proceedings of the ASME Computers in Engineering Conference, Irvine, August 1996. [10] Masuda H, Numao M. A cell-based approach for generating solid objects from orthographic projections. Computer Aided Design 1997;29(3). [11] Kim YS, Moon C, Chauhan S, Hubbard C, Mengshoel OJ, Zhao H. Visual reasoning tutor (VRT): instructional software system for missing view problem. Proceedings of the ASEE Engineering Design Graphics Conference, Ames, November 1995. [12] Zhao H, Kim YS. Geometric operations for visual reasoning of a solid from orthographic projections. Advances in Engineering Software 1999;30(7):445±50. [13] Mengshoel OJ, Chauhan S, Kim YS. Intelligent critiquing and tutoring of spatial reasoning skills. Arti®cial Intelligence in Engineering Design, Analysis and Manufacturing 1996;10(3):235±49. [14] Hubbard C, Mengshoel OJ, Moon C, Kim YS. Visual reasoning instructional software system. Computers and Education 1997;8(4). [15] Moon C, Kim YS, Pleck MH. Testing and evaluation of intelligent tutoring system for visual reasoning. Submitted for publication. [16] Giesecke FE, Mitchell A, Spencer HC, Hill IL, Loving RO, Dygdon JT. Engineering graphics. 4th ed. New York: Macmillan, 1987.