Sie sind auf Seite 1von 17

FEASY: A Sketch-based Tool for Finite Element Analysis

Sundar Murugappan School of Mechanical Engineering Purdue University West Lafayette, IN 47907 Email: smurugap@purdue.edu Karthik Ramani School of Mechanical Engineering School of Electrical Engineering (by courtesy) Purdue University West Lafayette, IN 47907 Email: ramani@purdue.edu

Eric Saund Palo Alto Research Center 3333 Coyote Hill Rd Palo Alto, CA 94304 Email: saund@parc.com

Maria C. Yang Dept.of Mechanical Engineering and the Engineering Systems Division Massachusetts Institute of Technology Cambridge, MA 02139 Email: mcyang@mit.edu

The potential advantages of freehand sketches have been widely recognized and exploited in many elds especially in engineering design and analysis. This is mainly because the freehand sketches are an efcient and natural way for users to visually communicate ideas. However, due to a lack of fundamental techniques for understanding them, sketchbased interfaces have not yet evolved as the preferred computing platform over traditional menu-based tools. In this paper, we address the specic challenge of transforming informal and ambiguous freehand inputs to more formalized and structured representations. We present a domain- independent, multi- stroke, multi- primitive beautication method which detects and uses the spatial relationships implied in the sketches. Spatial relationships are represented as geometric constraints and satised by a geometric constraint

solver. To demonstrate the utility of this technique and also to build a natural working environment for structural analysis in early design, we have developed FEAsy (acronym for Finite Element Analysis made easy) as shown in Fig. 1. This tool allows the users to transform, simulate and analyze their nite element models quickly and easily through freehand sketching, just as they would draw on paper. Further, we have also developed simple, domain specic rules-based algorithms for recognizing the commonly used symbols and a method for combined interpretation of text and geometry in understanding different contexts in nite element modeling. We illustrate the proposed approach with a few examples. The results of the user study suggest that our proposed algorithms are efcient and robust. The users are also highly satised with the interface and found it to be effective and easy to use.

Address

all correspondence to this author.

Keywords Sketch-based interfaces, CAD, Finite Element Analysis

beautication,

Introduction Over the past few years, there has been increased interest to support freehand sketching in user interfaces and tools for various applications in diverse domains such as Computer aided Design (CAD), simulation, computer animation and software design. The main motivation is based on the fact that freehand sketching is a natural, efcient and convenient way to visually represent ideas. Also, as sketch-based interfaces mimic the pen-paper paradigm of interaction, they provide a host of advantages over the traditional windows, Icons, menus and pointers (WIMP) style Graphical User Interfaces (GUI). The users can seamlessly and directly interact with the computer and require practically limited or almost no training, whereas in menu based interfaces, the users are forced to learn the system rather than the system having to learn the users intentions. Further, studies in cognitive science have shown that sketching does not break the users thought process [1]. Due to this reason, sketches are particularly useful in early stages of design where their uidity and ease of construction enable creativity and the rapid exploration of ideas [2]. Despite the potential benets, sketchbased interfaces have not yet evolved as the computing platform of choice. One of the major requirements of such interfaces is the need for fundamental techniques to transform the informal and ambiguous freehand inputs to more formalized and structured representations. Such a transformation is a crucial step in sketch understanding, for assisting rapid creation and evaluation of new ideas and also in reduction of the total time and effort spent in creating drawings on a computer. This process is termed as beautication. Another such challenges are symbol recognition, the task of recognizing shapes and symbols and sketch interpretation, the task of combined text and geometry interpretation. Two of the main challenges that have hindered the development of a robust beautication system are: Segmentation - identication of critical points on the strokes and, Recognition - classifying the segment between adjacent critical points as low level- geometric primitives (like lines, circles and arcs). Many of the current methods place many constraints on how users must draw shapes. For a natural sketch-based interface, there should not be any limitations on the users drawing style or any dependency on how a particular sketch is drawn (number or order of strokes or the number of primitives in the stroke). In this paper, we present a multi-stroke, multi-primitive beautication method that allows the users to draw in an unrestricted fashion and at the same time robustly copes with the imprecision and variation in freehand input. When beautication is done on per-stroke level, it is termed as local. Local beautication often misses some important global information in sketches such as the spatial relationships between different primitives in a stroke and between strokes. These spatial relationships are usually represented as geometric constraints (like parallelism and tan-

(a)

(b) Fig. 1. The FEASY interface (a) showing a hand-drawn sketch of an example 2d bracket (b) and the deformation results in ANSYS

gency). Cognitive studies show that users attend preferentially to certain geometric features while drawing and recognizing shapes. Pu et al [3] highlight the role of such geometric constraints in beautication. Our method identies these spatial relationships and uses them to drive beautication. Further, to demonstrate the utility of this technique, we have developed a sketch-based interface for static nite element analysis. The primary rationale for the proposed tool is that the contemporary software tools for Finite Element Analysis (FEA) and simulation, like ANSYS and SIMULIA have a steep learning curve. Even, to solve simple one (1D) and two dimensional (2D) problems, the users have to follow a very tedious process. Usually, a FEA problem can be broken into four stages: 1) Initial setup which involves element and material selection, description, 2) creating geometry, 3) dening loading and boundary conditions and 4) meshing, solving and visualization of results. Among these steps, geometry creation and specifying load and boundary conditions are the crucial and time consuming process for the user. Also, users experience greater cognitive load causing deterioration in speed, attention focus, meta-cognitive control, correctness of problem solutions, and memory in using

traditional systems [4]. This sketch-based tool would allow the users to create geometry as they would draw on paper with minimal constraints imposed on them. Also, it is more intuitive to specify loading and boundary conditions through symbols as shown in Fig. 1 than through traditional menubased input. Hence, we have developed a domain-specic algorithm for recognizing common symbols used in FEA. The various symbols recognized are shown in Fig. 9. Our ultimate goal is to create a unied framework for 1D and 2D nite element analysis that integrates all the four stages in one platform. As one step towards the goal, our system to date would allow the users to set-up the problem up to the simulation stage (i.e., except actual solving and visualization) as they would do on paper naturally and intuitively. The system would then export the model geometry, boundary conditions, loads, material and element description and meshing parameters in a unied data le as a set of commands (like a script) specic to the FEA software. The users can then run this le to get the desired results. An example of the procedure for ANSYS is shown in section 6. Similarly it can be extended to other tools. The potential uses of this tool are many. We foresee this tool to be used in early design and in engineering education. It can be used as a learning tool for undergraduate students especially in mechanical and civil engineering. The students can use this tool to quickly verify answers to hand-worked problems and also in preliminary stages of design projects to evaluate their ideas. This can also be used as a potential tutoring tool for teaching assistants and as a lecture-aid for instructors. The remainder of this paper is organized as follows. Section 2 provides some background and related work. This is followed by the description of the system in section 3. In section 4, we present the beautication algorithm and in section 5, the symbol recognition and sketch interpretation followed by nite element integration in section 6. Results of the user study and discussion are presented in section 7. We conclude with the limitations of our current implementation, ways to address them and future work in section 8.

Related Work This section provides an overview of the past work in Beautication and sketch-based interfaces for varied applications. 2.1 Beautication - Segmentation and Recognition Much of the earlier work [58], assumed that each pen stroke represented a single primitive such as a line segment or a curve. Despite their simplicity, the strategy based on single primitive/stroke usually results in a less natural interaction because of the constraints imposed on the users drawing freedom. For a natural freehand sketching interface, users should be allowed to draw multiple primitives with a single stroke and segmentation algorithm should take care of nding the critical points. Taking advantage of the interactive nature of sketching, Sezgin et al [9] and Calhoun et al [10] used the pen-speed and curvature properties of the stroke to determine the critical points. They found that it was natural to slow the pen when making intentional discontinuities in the shape. When a user is sketching at a constant speed, many segmentation points will be missed due to this biased assumption. Also, the speed data is dependent on recording the sketching activity in real time. Kim and Kim [11] proposed new metrics based on curvature - local convexity and local monoticity for segmentation. Hammond et al [12] introduced an effective method to nd corners in polylines. Their method is founded on a simple concept based on the length between two points. They showed higher accuracy over [9] and [11]. Other approaches to segmentation utilized articial intelligence, such as the template-based approach [13], conic section tting [2], and domain-specic knowledge [14]. Despite their relative success in sketch segmentation, these are dependent on various restrictive conditions. For example, a large number of sketch examples are required for the purpose of training the computer in the methods proposed in [2], otherwise, the segmentation performance will be affected. Also, the variance of freehand sketches makes it difcult to dene unied models or rules for sketch segmentation utilizing different applications. Recognition is usually performed at two levels: the composite (higher) or symbol level and primitive (low) level. Calhoun et al [10], Shpitalni et al [2] and Zhang et al [15] used least-squares based method for recognition. In [16], Qins classication was based on the curves linearity, convexity and complexity. For a detailed description of different techniques we refer to [17]. Xiong et al [18] improved the algorithm described in [12] to include curves in addition to just lines. However, the algorithm fails to recognize corners at a place where a line smoothly (tangentially) transitions to an arc and also between two arcs. Our beautication method improves upon the technique described in [12]. We address its drawbacks i.e., identifying corners at heavily obtuse angles and tangential locations. Also, we identify arcs and circles in addition to only the line segments. Further, our method can be easily extended to support other geometric primitives like splines. We explain our method in detail in section 4.

1.1

Contributions In this paper, we have developed

1. A novel interface that integrates freehand sketching, geometry constraint solving and symbol recognition in an unied framework for structural and thermal nite element analysis. 2. A multi-stroke, multi-primitive beautication method that incorporates automatic constraint detection and solving, to transform the ambiguous freehand input into more structured formal drawings. 3. A symbol and text recognition algorithm for the nite element domain. 4. An algorithm for combined text and geometry interpretation, based on different contexts.

For symbol recognition, Fonseca et al. [19]developed an online scribble recognizer called CALI. The recognition algorithm uses Fuzzy Logic and geometric features, combined with an extensible set of heuristics to classify scribbles. Since their classication relies on aggregate features of the pen strokes, it might be difcult to differentiate between similar shapes. Kara et al. [20]described a hand-drawn symbol recognizer based on a multi-layer image recognition scheme. It can learn new symbol denitions from a single prototype example and is insensitive to translation, rotation, and uniform scaling. However, this method requires training and is sensitive to non-uniform scaling. Veselova et al [21] used results from perceptual studies to build a system capable of learning descriptions of hand-drawn symbols which are invariant to rotation and scaling. For our needs to reliably recognize a small set of nite element domain specic symbols independent of translation, rotation and scaling, and at the same time to be computationally effective for interactive use, we have built custom recognizers by extending SIGER [22] using vector strings and regular expressions. 2.2 Sketch-based Interfaces The emergence of pen-input devices like Tablet PCs, large electronic Whiteboards and PDAs have led to demand for sketch based interfaces in diverse applications [23] In CAD based applications like [24] and [25], the user has to draw objects in pieces, reducing the sense of natural sketching. Our system allows drawing strokes with multiple primitives without any restriction on the user. Sketch based interfaces have also been used in early software design [26, 27]; user-interface design [28]. Gesture- based systems have been explored in 2D pen-based applications [29, 30] where input strokes are converted or replaced with predened primitives. CALI [19] is an online recognition library of simple gestures to create and edit 2D shapes for diagrams. ParSketch [31] is sketch-based interface for editing 2D parametric geometry. MathPad [32] is a tool for solving mathematics problems. Kara et al developed a sketch-based system for vibratory mechanical systems. STRAT [33] is a pen-based tool for students to learn standard truss analysis. Krichoffs pen [34] is a pen-based tutoring system that teaches students to apply Kirchhoffs voltage law and current law. Hutchinson et al. [35]developed a unied framework for nite element analysis. They used an existing freehand sketch recognition interface. However, the users still had to navigate through a lot of menus to specify input. Also, the beautication method is not robust, constraining the users drawing freedom. Moreover, the system does not address the problems related to the ambiguous nature of freehand input. We have developed methods for resolving ambiguity through interaction, described in section 4.

Strokes Strokes Resampling Clustering

Critical Points Segmentation Recognition Primitive Recognition


Merging Geometry Geometry Constraints Solving Sketch Interpretation Beautified Geometry Final Sketch
Geometry Mode Symbol Mode

Text

Symbols

Fig. 2.

The System Pipeline with two modes of input - Geometry

and Symbol.

System Overview Freehand sketches are usually composed of a series of strokes. A stroke is a set of temporally ordered sampling points captured in a single sequence of pen-down, pen-move

and pen-up events [17]. Our sketch-based interface allows the user to draw in a natural way just as they would do on paper. The user can draw freely and there is no restriction on how a particular shape or symbol is drawn and text is written. One of the important challenges in such a sketch-based interface is to robustly classify the pen-strokes as geometry, text and gestures, which in itself an active area of research and not the focus of this work. Lineogrammer [36] provides heuristics for modeless disambiguating between text, geometry elements and command gestures. For example, to distinguish between text and geometry, one of the criteria, they used is that the size of text must be small and (or) the gap between continuous strokes is less than a certain threshold. We use similar heuristics to distinguish between handwritten text and geometry elements. However, both the FEA problems geometry and symbols are composed of low-level primitives like lines and arcs. To maintain the naturalness of the interface, The symbols or geometry can be specied in a single stroke or multiple strokes and there should be no requirements that the parts of symbol/geometry be drawn in the same order. Hence to accommodate these requirements and simplify recognition, we ask the user to switch pen colors (i.e. switch modes) while specifying geometry or symbols. Text can be input only in symbol mode. In addition to reducing ambiguity, multi-color would provide visual clarity to the drawn sketch. Figure 2 shows the system pipeline through which the the strokes are processed. Strokes are input in either the geometry mode or the symbol mode. Accordingly, the strokes are colored either in black or red respectively. Each stroke input in geometry mode is decomposed into lowlevel geometric primitives with minimal error. The lowlevel primitives recognized in the current implementation of our system include lines, circles, and circular arcs. The system then identies the spatial relationships between the primitives. These relationships are represented as geometric constraints which are then solved by a geometry constraint solver. For this purpose, we have integrated LGS2D [37] in our system. The output from the solver is the beautied ver-

P4 P3 P1 L1 P2

Fig. 3. A freehand sketch with the problem geometry (in black) and symbols (in red)

sion of the input which is updated on the screen. The details of the beautication algorithm are explained in the next section. The user can continue sketching or switch modes. The strokes input in symbol mode are not processed like in geometry mode. When the user presses the process button, the red colored strokes are rst clustered into stroke-groups and classied as either text or symbol. Then, each stroke-group is recognized. Finally, the symbols, text and geometry are interpreted together for understanding the various contexts to yield the nal sketch. For example in Fig. 3, the load (downward single-arrow symbol) is associated with F = 100 (text) and point P3 implying that a force of 100 units in negative y direction is applied at P3 . Similarly, the double-headed arrow is associated with 20 units and line L1 implying that a dimension constraint equal to 20 for length of L1 is added to the geometry and satised by the geometry constraint solver. The details of the various steps are explained in section 5. Once the sketch is complete and processed, the user selects the OUTPUT button, which starts the FE integration causing a dialog to pop-up, where the user species the material properties, element description and meshing parameters (if any). When the dialog is closed successfully, All the information is exported as a unied le suitable for import in ANSYS. Sketches can be created in our system using any of a variety of devices that closely mimic the pen-paper paradigm. We use Wacom Cintiq 21UX digitizer with stylus, tablet-PCs and a traditional mouse. Both Wacom and tablet PCs are particularly suited to natural interaction, enabling the user to sketch directly on a computer display. The system uses Microsoft Tablet PC SDK to capture the user input strokes and for handwriting recognition. The users can view their sketch either as raw pen strokes and (or) as primitives in geometry mode and as raw pen strokes or their interpretations in symbol mode. Common interpretation errors can be easily corrected in our system. Correction of errors in beautication is explained in section 4.6. When a symbol or text is recognized incorrectly, the user can explicitly mark it by holding down a button on the stylus and circling it. A pop-up menu will open, where the user can choose from a list of possible classications. As the FEA domain is small, the number of misclassications will be a minimum if not zero.

Beautication Beautication aims at simplifying the input where the various points of the strokes are interpreted and represented in a more meaningful manner. Our approach to transforming the input to formalized representations (i.e. beautication) is based on the architecture shown in Fig. 4. There are ve steps in the pipeline namely - resampling, segmentation, recognition, merging and geometry constraint solving. An example of the user drawn freehand stroke is shown in Fig. 4(a). Figure 4(b) shows the raw points (blue circles) as sampled by the hardware and Fig. 4(c), the uniformly spaced points after resampling (green circles). The segmentation step explained in section 4.2 identies the critical points (red circles) shown in Fig. 4(d). Then, the segments between the adjacent critical points are recognized and t with primitives (Fig. 4(e)). The status of the freehand sketch after merging is shown in Fig. 4(f) and nally the sketch is beautied considering the geometric constraints (Fig. 4(g)). The various steps are explained in detail in the following sections. For simplicity, we limit the discussions to a single stroke in a sketch. All the other strokes are processed similarly. 4.1 Stroke Resampling Freehand input is prone to contain some noise. Sezgin [38] identied two main sources - imprecise motor control and digitization. As the interface places no constraint on the users drawing freedom, we ignore the noise due to the slight tremble of hand or poor drawing skills of the user. We consider the input as it is and all input points are considered as genuine. However, the sampling frequency of the mechanical hardware coupled with the drawing speed of the user result in non-uniform samples of the raw freehand input. To achieve uniform sampling, we resample the points of the input stroke such that they are evenly spaced. We used a xed interspacing distance, Id of 200 HIMETRIC units (1 HIMETRIC = 0.01mm = 0.0378 pixels). The resampling algorithm discards any sample within the Id of earlier samples and interpolates between samples that are separated by more than Id . The start and end points of the stroke are by default added to the resampled set of points. Figure 4(c) shows the result of resampling for the stroke. Uniform resampling is important for the segmentation algorithm to work efciently. 4.2 Segmentation In our system, a single freehand stroke can represent any number of primitives connected together. The task of segmentation routine is to nd those critical points that divide the stroke into its constituent primitives. These critical points are corners of the piecewise linear strokes and also the places where curve and line (curve) segments connect. Our segmentation algorithm builds upon the approach described in [12], which works well for strokes composed of only line segments. One of the drawbacks of this method is that the algorithm often misses identifying the corners at heavily obtuse angles. We address this drawback and also improve their algorithm to accommodate curves in addition to line segments. We are interested in improving this algo-

(a)

(b)

(c)

(d)

(g)

(f)
Fig. 4. Beautication of a freehand stroke

(e)

rithm especially for its simplicity (easy to program) in implementation, high efciency and at the same time not being computationally intensive. They described a measure called straw (chord length) which in essence is a naive representation of the curvature of the stroke. The straw at each point pi is computed as strawi = |piw , pi+w |, where w is a constant window and |piw , pi+w | is the Euclidean distance between the points piw and pi+w . As the stroke turns around a corner, the straw length starts to decrease and a local minimum value corresponds to a likely critical point. However, when there is smooth continuity between a line and an arc or between two arcs, the straw length does not vary much and it fails to identify the transition in such regions. Hence, we use another such measure, chord angle which is effective in identifying these gradual changes in addition to nding the corners.

chord angle at each point pi is computed as follows pi piw pi pi+w pi = arccos ( ) | pi piw || pi pi+w |

(1)

The likely critical points of the stroke are those indices where the chord angle is a local minimum, which is lesser than a threshold (t). Figure. 5 shows the computation of the chord angle. The blue circles represent the resampled points and represents the chord angle computed using the equation 1. To avoid the problem posed by choosing a xed threshold, we set the threshold to be equal to the median of all the chord angle values. For the stroke in Fig. 4(a), the initial set of critical points obtained is shown in Fig. 4(d). By default, the start and end points of a stroke are considered as critical points. A window of uniformly spaced points is used to compute the curvature (chord angle), which smoothens out the noise, if any in the input stroke. The larger the window, the larger the smoothing effect resulting in missed critical points. Like [10], we found that setting the window size w = 3 to be effective irrespective of the user or the input device used. 4.3 Recognition The next task after segmentation is to classify and t the segments between adjacent critical points as low-level geometric primitives. The current implementation of our system recognizes lines, circular arcs and circles. Our recognition method is based on least squares analysis [39], but the computation of parameters of best t line and circular arc differ from the traditional approach. Usually, the least square t of lines and arcs result in the end points of the primitives to be

Fig. 5. Chord Angle computation. The blue circles represent the resampled points. represents the chord angle computed for the resampled point (red) using a window size of 3 (green points)

After resampling the stroke, we compute chord angle for the resampled points pw to pnw . where n is the total number of resampled points and w is a constant window. The

(a) Fig. 6.

(b)

(c)

Recognition. (a) shows the freehand stroke with critical

As the start and end points of the arc are xed, the center of the arc should lie on the perpendicular line that passes through the mid-point of the line connecting the end points of the arc (Figure 7). Let P1 (x1 , y1 ) and PN (xN , yN ) be the end points of the arc, C (a , b ) be the mid point of line joining P1 and PN , and n = (nx , ny ), the normal to the line joining P1 and PN . Therefore,

points. (b) shows the results of least squares tting. There are discontinuities between adjacent segments. (c) shows the results of our algorithm

C =

moved to new location. For example see Figure 6. To prevent discontinuities between adjacent primitives of the stroke, we x the endpoints of the primitives (as it is) of the original segment and then perform the analysis. Figure 6(c) shows the result of our recognition algorithm. 4.3.1 Fitting a straight line Let SN = {pi = (xi , yi )|i = 1, 2, ....., N} be the given points of the segment and let P1 (x1 , y1 ) and PN (xN , yN ) be the end points of SN . These N points are tted by a straight-line y = mx + c, where m and c represent the slope and intercept, respectively. As the end points of the line segments are xed, the slope and the intercept are estimated as follows,

1 (P1 + PN ) 2 C = C + tn, t

(5) (6)

The center, C(a, b) is the solution to the problem


N1

Find C minimizing

i=2

Pi C2

(7)

using Eqn. (6), the solution to Eqn. (7) is

t= yN y1 xN x1 1 c = [(yN mxN ) + (y1 mx1 )] 2

1 N1 (xi a )nx + (yi b )ny N 2 i=2

(8)

m=

(2) (3)

and hence the radius, R = PN C. The average distance from the points (xi , yi ), i = 1 to N, Ea , can be calculated using the following equation, N | (xi a)2 + (yi b)2 R| i=1 Ea = N After nding the errors, the segment is typically classied by the primitive that matches with the least error. However, line segments can always be t with high accuracy as an arc with a very large radius. In such cases, if the arc length is less than 15 degrees, we classify it as a line. Similarly, an arc is classied as a circle if its arc length is close to 2. When the tting error of both the arc and line is large for a segment, then, it is best to t with curves like splines. The system identies these cases, but the current solution just ts the primitive (line or an arc) with the least error. The reasons are 1) high-order curves seldom occur in practice. By examining more than 500 parts randomly chosen from over 10,000 mechanical parts of high complexity from aerospace manufacturer and Purdue Shape Benchmark (www.purdue.edu/shapelab), it was found that roughly 5% of the standardized parts had variable radius curves. 2) Geometric constraints are well dened and popularly used for only points, lines, arcs and circles. Constraints involving other higher order curves involve complex representations and also exponential growth of candidate solutions [6].

The average distance from the points (xi , yi ) to the tted straight line, El , can be calculated using the following formula:

El =

N |(mxi + c) yi | i=1 N

(4)

4.3.2 Fitting a circular arc SN can also be tted as a circular arc, according to the equation (x a)2 + (y b)2 = R2 , where C(a, b) is the center of the arc and R is the radius.

Fig. 7.

Least Squares Arc Fitting

L1

Point
L4 L5 L8 A1 A3

Line

Arc (Circle) Coincidence, Point on Arc (Circle)

A4

Point
A5

A2

Coincidence, Horizontal Alignment, Vertical Alignment

Point Line

on

(a)

(b)

Fig. 8. Recognition and Merging

Line

Point on Line

Parallel, Perpendicular, Collinear Tangency

Tangency

Merging The initial critical points set obtained through segmentation routine may contain some false positives. The merging procedure repeatedly merges adjacent segments, if the t for the merged segment is lower than a certain threshold. For every ith segment, we try merging it with i 1st and i + 1st segment. Let these new segments be seg1 and seg2 . The t errors for seg1 and seg2 are calculated according to section 4.3. For the segment with least error among seg1 and seg2 , merging occurs if and only if the error is less than the sum of the corresponding errors of the original segments. For example in gure 8(b), the two lines (L4 and L5) are merged into an arc (A4) and the three arcs (A1, A2, A3) yield one arc (A5). 4.5 Geometry Constraint Solving Pu and Ramani [3] highlight the importance of geometric constraints in beautication. Geometric constraints are widely used and an integral part in many design related applications, such as drawing programs, CAD tools and graphical user interfaces. Geometric constraints are usually classied as either (1) explicit constraints, which refer to the constraints that are explicitly specied by the user such as dimensions - distance between a point and a line or angle between two lines, (2) implicit constraints, which refer to the constraints that are inherently present in the sketch such as concentricity and tangency. It is natural for users to express geometric constraints implicitly when they are sketching. In current drawing systems, specifying geometric constraints is a difcult, time consuming and a tedious task. Also, the users need to undergo prior training before using the system. Novice users must be made aware of geometric constraints and how these can be used to create what they want. To reduce this cognitive overload and to effectively support the use of geometric constraints in freehand sketching, the system infers and satises the constraints automatically (using the method described in [40]) without much intervention from user. We have integrated LGS2D [37] library with our system and used it for constraint solving purposes. Table 1 lists the the different constraints inferred in our system. 4.6 Resolving ambiguities with Interaction Any recognition system is not devoid of ambiguities. Our system provides the interface to correct the errors through simple interactions. Errors in segmentation include missed and unnecessary critical points. In our system, when

4.4

Arc (Circle)
Table 1.

Coincidence, Point on Arc (Circle)

Tangency, Concentricity

Implicit geometric constraints inferred in our system for

beautication.

the user taps on or near a critical point with the stylus (or left click using a mouse), the system rst removes that critical point and the corresponding two primitives that share this point. This results in an unrecognized segment which is then classied and ret. The user can also add a segmentation point in a similar manner. The nearest point on the stroke to the clicked location is used as the input point where the existing primitive is broken into two primitives. However, the start and end points of a stroke cannot be removed by clicking unless the stroke represents an arc. In such a case, clicking on one of the end points, converts the arc to a circle. Errors in recognition correspond to primitive misclassication. An input stroke drawn by holding down a button on the stylus (or both left and right mouse button together) is recognized as a pulling gesture. The primitive that is closest to the starting point of this gesture is the one to be pulled and accordingly its classication is altered i.e. if the primitive was a line, it is ret as a circular arc and vice versa. This gesture does nothing for a circle because a line (circle) can never be misinterpreted as a circle (line) and moreover adding a critical point to a circle breaks it into two arcs. Additionally, the user can erase a primitive, a stroke or a part of stroke using the eraser end of the stylus, just as using a pencil eraser.

Symbol Recognition and Sketch Interpretation The strokes drawn in the system are of two colors - black and red, drawn in two modes - Geometry and Symbol respectively. The black colored strokes represent the geometry and the red colored strokes collectively represent both text and the symbols. The symbols drawn in nite element domain, both in academia and research have well- dened and standardized forms. The list of symbols commonly used in nite element domain (i.e. for loading and boundary conditions) is shown along with other symbols recognized in our system in Fig. 9 Fig. 10 (a) shows an example of beautied 2D bracket drawn in geometry mode. The sketch consists of 7 line

(a)

Roller

(b)

Fully Constrained

Fig. 11.

The different possible variations of (a) Roller and (b) Fully

constrained symbols

Fig. 9.

The list of Finite Element symbols recognized in our system

segments (L1 - L7), two circular arcs (A1 and A2) and a circle (C1). Fig. 10 (b) shows the various red colored strokes input in symbol mode. 5.1 Clustering The rst step in processing this collection of strokes (which is activated by pressing the Process button) is to cluster them into smaller groups. We use both a temporal and a spatial proximity strategy to group strokes. This stems from the observation that a group of strokes comprising a symbol are generally drawn close to each other and continuously. At the same time, the user must not be constrained to complete a symbol before moving on to the next one. For example, if the user species P=100 as a loading condition initially and later wishes to change it to P=1000, the operations required must be as simple as adding a zero to then input rather than have to erase and rewrite again. The criteria, we used for clustering is that the strokes are within a spatial threshold distance of 100 HIMETRIC units and (or) the time gap between continuous strokes is less than 500 milliseconds. Figure 10 (c) shows the results of the clustering, where a dashed bounding box is drawn around each group. 5.2 Text and Symbol Recognition The next step is recognition of each stroke-group, where each stroke- group comprises of either text or symbols. We use the height of bounding box (1.5centimeter) as the criteria to distinguish between text and symbols. The strokegroups that are classied as text are next recognized using the inbuilt handwriting recognizer (Microsoft Tablet PC SDK). The texts drawn in a consist one of the sketch are primarily

of two types: 1) loading conditions (force, temperature or pressure) which alphabets - F, T or P on the left hand side of an equal to symbol and numbers on the right hand side, and 2) dimensions, which are made up of only numbers. This observation helps in robust recognition of text and also helps in correcting misclassication of texts and symbols. After the identication of texts, the next step is to recognize the remaining stroke-groups. On quick observation, one can see that almost all of the symbols are comprised of either lines and (or) circles and only the Moment symbol consists of an arc. The various symbols are congurations of these lowlevel primitives. Also, some symbols like Roller have different variations (Fig. 11a), where there is a difference in the number of circles drawn. A good symbol recognition algorithm must account for these variations. Though these symbols seem different, there are certain distinct properties for each symbol or group of symbols that are different from other symbols (or groups). For example, in Fig. 11, the fully constrained symbol is different from roller symbol, as it can be distinguished with the presence or absence of circles. In this case, the number of circles does not matter in differentiation. We have created similar heuristic based rules to recognize different symbols. The reason behind using such an approach is that the number of symbols in this set is nite and each symbol has some distinct properties that can be used to differentiate from the other symbols in spite of the possible variations. Also, there is no training required. For the recognition of various symbols, we have built custom recognizers by extending SIGER (Simple gesture recognition library) [22] using vector strings and regular expressions. Sketch Interpretation The sketch needs to be interpreted after beautication and symbol recognition. Generally, users draw related objects in such a way that they are closer to each other. We use this observation to associate and group objects to provide context. For example, in Fig. 10 (d), the load symbols, P=100 and line L6, combine together to imply the meaning that a pressure load of 100 units is applied on the line in negative y-direction. The various context observed in nite element analysis can be classied into three categories, namely loading conditions, boundary conditions and dimensions. Accordingly, the various symbols (Fig. 9) fall into these categories. We use this classication information and 5.3

L7 L1 A1 A2 L2 C1

L6 L5 L4

L3
(a) (b) (c)
P = 100

(d)

(e)

Fig. 10.

Symbol Recognition and Sketch Interpretation. (a) A beautied sketch at the end of geometry mode. (b) Red-colored strokes

represent the dimensions, loading and boundary conditions drawn in symbol mode. (c) Clustering of strokes into stroke-groups represented by dashed bounding boxes. (d) Classication of stroke-groups into text (black) and symbols (blue). (e) Final sketch after sketch-interpretation

spatial proximity reasoning of the bounding boxes to understand the different contexts in the sketch. Applied loads in the system are either point-loads or uniform loads which can be forces, pressure or temperature (depending on the problem). The magnitude and direction of the loads are determined from the text and direction of arrow. When there is only one load symbol detected, it refers to a point-load and the detected load is applied to the nearest point (node) in the geometry. If a pattern of load symbols is inferred next to hand written text, then the closest starting and end points of the arrows are found and the system searches for a nearest primitive on the geometry and applies to it. The types of boundary conditions are either fully constrained or constrained in only one direction (specied with a roller symbol). The specic direction i.e., x- or y- direction is determined from the orientation of the symbol, for example, like the pattern of circles in the roller symbol. Like loads, boundary conditions can be applied either to a single point or a primitive. Finally, the interpreted dimensional constraints are satised by the solver and the sketch gets updated accordingly. Figure 10 (e) shows the nal sketch after interpretation of different contexts in the sketch. The freehand input symbols are replaced with recognized text and symbols. The load applied on line L6 is replaced with a single downward arrow and a bounding box around the line along with recognized loading condition (P=100). Similarly, line L1 is fully constrained which is indicated by a bounding box and a triangle, and line L2 is constrained along the x- direction, indicated by a bounding box and a circle. The dimensions of

line L4 and L6 have been updated and they are shown in the tree. The tree is located on the left of the sketching area as shown in Fig. 1(a). The text, geometry and symbols in a sketch have an inherent structure and they all combine only in some specic ways. For example, a dimensional value can never be associated with a straight single headed arrow; a loading condition can never be associated with a fully constrained symbol; any arrow cannot exist on its own without an associated text group. This kind of reasoning helps in correcting errors automatically, enabling robust sketch interpretation. Clustering is an important step for the stages: symbol and text recognition and sketch interpretation to work efciently. If two or more stroke-groups overlap each other, then the system might provide inconsistent results. Also, as the sketch gets crowded with numerous dimensions and symbols, it is quite difcult to input them avoiding overlaps. To accommodate such potential scenarios, the user can specify a small subset of the symbols in one iteration, process them (by pressing the Process button) and add more in the next iterations.

FE Integration When the user presses the Output button, the system shows a dialog box, where the user enters the material information, element type and description, and mesh size (if necessary) for nite element analysis. Finite element solvers like ANSYS do not require any units, but assume that the input is

consistent. Our system also behaves along the similar lines. Hence, it is on the part of the user to make sure that the input units are consistent. Our current implementation of the system supports three types of elements which are commonly used in structural, thermal and static nite element analysis. They are 1) Two dimensional- spar element, a uni-axial tension-compression element with two degrees of freedom at each node, i.e., translations in the nodal x- and y-directions. This element is used for modeling trusses. The equivalent element in ANSYS is LINK1; 2) Two dimensional structural solid element, for modeling solid structures. The equivalent element in ANSYS is PLANE42. The element can be used as a plane stress, plane strain or an axisymmetric element. The element is dened by four nodes having two degrees of freedom at each node: translations in the nodal x and y directions. The element properties include Youngs modulus (), and Poissons ratio (), as well as geometric information, such as cross-sectional area.; and 3) A plane element with 2D thermal conduction capabilities. - PLANE55 in ANSYS. The element has four nodes with a single degree of freedom, temperature, at each node. Specifying the mesh size is optional and it is enabled except for 2D-spar element. The current version of the prototype allows only for one area to be meshed which is determined by subtracting the area inside inner contours from the outside contour. It is on the part of the user to ensure this is met. Similarly, the users can also specify what results they wish to view after the analysis, for example, like the displacement sum of nodal solution. Currently, the system allows the users to choose from von misses stress, reaction forces, deections and temperature. On closing this dialog successfully, the system exports the input i.e., model geometry, boundary conditions, loads, material, element and meshing information to a unied le specic for ANSYS (as a set of APDL commands). This le can then be then run in ANSYS to yield the desired results. Figure 12 shows the results of nite element integration for the bracket in Fig. 10. Here, the three dimensional bracket is modeled as a two-dimensional problem with uniform thickness = 0.5inches. The nite element specic parameters include Material: Steel, = 30e6, = 0.3 Element Type: PLANE42 (Plane stress with thickness = 0.5) Element Size: 0.5 Solution: Nodal Solution - Displacement Sum Figure 12(a) shows the generated ANSYS specic code which can be run and solved in ANSYS. Figure 12(b) shows the plotted results in ANSYS. In this case, it the displacement vector sum.

sketching aspects of CAD programs (like AutoCAD and Pro/Engineer) and hence were well aware of use of geometric constraints in making diagrams. They were also familiar with using ANSYS for nite element analysis. In addition, they had used digitizing media like Tablet PCs and (or) PDAs before but not Wacom Cintiq. First, we demonstrated the capabilities of our system, i.e., the two modes of input - geometry and symbol; beautication of the freehand strokes in geometry mode which includes segmentation, recognition of geometric primitives and automated geometry constraint detection and simultaneous satisfaction, with a few examples; red-colored strokes drawn in symbol mode, symbol recognition and sketch interpretation; and nally, nite element integration. In addition to illustrating the work ow, we also demonstrated its limitations, i.e. the system recognizes only lines, arcs and circles and does not handle over-tracing (making several overlapping strokes, such that the strokes are perceived as a single object collectively); interaction techniques (like clicking on a critical point) for correcting errors during beautication and symbol recognition; and nally, symbol recognition might fail when two different symbols overlap each other. The participants were given 15 minutes to get acquainted with the system and to clarify any questions they had. Next, the participants were asked to sketch and solve the four problems as shown in Fig 13. Each problem had a verbal description of the boundary conditions, loads and dimensions (collectively termed as non-geometry information) accompanied by a graphic that represented just the geometry, devoid of dimensions and symbols. The reason behind such a formulation was to analyze how the users input the non-geometry information in the symbol mode and also to remove any bias on how the information has to be input. The four problems were chosen in such a way that they were diverse and at the same time be able to test all the capabilities of the system. The problem types were (a) static twodimensional truss problem, (b) three-dimensional structural problem modeled as a static, two-dimensional problem with constant thickness, (c) steady-state heat conduction problem and (d) static plane stress structural problem. The description of the problems are as follows. 1. Problem1: Plot the Von Mises Stress for the shape in Fig. 13(b) and the following loading conditions. A at rectangular plate (Fig. 13(a)) is made of steel ( = 210000 MPa and = 0.3) with two holes and a constant thickness of 0.75cm. The width of rectangular plate = 20cm and height = 10cm. The two holes must be completely inside the plate and on the same imaginary horizontal line, but should not touch the edges of the plate or each other. The left end of the rectangular plate is welded (fully constrained) and a uniform pressure of 0.1MPa acts along the right end of the plate. Use PLANE 42 element in plane stress with thickness and a mesh size of 0.25. 2. Problem 2: Plot the displacement vector sum for the shape in Fig. 13(b) and loading conditions. The material properties are: = 210000 MPa and = 0.3. The

Results and Discussion We conducted a preliminary user study to evaluate the effectiveness of our proposed methods. Our prototype was ported on to a PC with Wacom Cintiq 21UX LCD monitor. Six graduate students from mechanical engineering participated in this study and all of them were familiar with

1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.

FINISH /CLEAR /PREP7 ET,1,PLANE42,,,3 MP,EX,1,30E6 MP,PRXY,1,0.3 R,1,0.5, K,1,0,0 K,2,10.6,0 K,3,35.6,0 K,4,35.6,25 K,5,50.6,25 K,6,50.6,34.3 K,7,40.6,34.3 K,8,0,34.3 K,9,0,25 K,10,0,17.9 K,11,7.1,17.9 K,12,0,10.8 K,13,-7.1,17.9 L,1,2 LARC,2,4,3,25 L,4,5

24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46.

L,5,6 L,6,7 L,7,8 L,8,9 LARC,9,11,10,7.1 LARC,11,12,10,7.1 L,12,1 ALLSEL AL,ALL CYL4,10.6,25,3.8 ASBA,1,2 SFL,4,PRES,100 DL,6,A3,ALL DL,7,A3,UX ESIZE,0.5,0 AMESH,ALL EPLOT ALLSEL FINISH /SOLU SOLVE /POST1 PLNS,U,SUM

(a)

(b)

Fig. 12. Finite Element Integration. (a) The generated ANSYS specic code (APDL) for the bracket. (b) graphic showing the displacement vector sum.

radius of inner arc = 10 cm and outer arc = 15cm. The arcs are concentric and the length of a horizontal line segment = 20cm. The top left edge is fully constrained and a point load = 750N acts downward at the bottom left point. Use PLANE 42 element in plane stress and a mesh size of 0.5. 3. Problem 3: Plot the displacement vector sum for the truss in Fig. 13(c) consisting of 6 joints and 9 links. Here, links L1, L2, L4 and L5 are horizontal (parallel to X-axis). Similarly, (L6, L8 and L3) and (L7 and L9) are parallel. Node N1 is fully constrained, while Node N2 is constrained only in the y-direction and free in the x-direction. A load of 100N acts along negative ydirection on N5 and a load of 200N acts along the positive x-direction on N4. The material properties are same as previous examples. Use LINK element with cross sectional area of 0.5 square units. 4. Problem 4: Plot the temperature contour plot for the shape in Fig. 13(d) and boundary conditions: A square plate (width = 10 and thickness = 1) with a circular hole (diameter = 5) at the center. The top end of the plate is constrained at a temperature = 500 degrees Celsius and the bottom edge at 100 degrees Celsius. The left and right edges are maintained at zero degrees Celsius (fully constrained). The thermal conductivity (k) of the material is 10 W/mC. Use PLANE 55 element in plane stress and a uniform mesh size of 0.25. Six participants solved four problems each providing a total of 24 sketches. Some of the sample sketches drawn by the participants are shown in Fig. 14. 7.1 Beautication During the sketching process, a number of data pertaining to beautication, recognition and interpretation stages were collected by the system. Table ?? summarizes the re-

sults obtained after beautication in geometry mode. For beautication, the various data analyzed include number of strokes needed to create the geometry, number of various interactions (clicking to remove or add critical point, deletions and pulling gesture) used to obtain the nal geometry, number of critical points correctly identied, number of segments correctly recognized, processing time per stroke and total time taken for creating the complete geometry. The data is compiled for each problem across all users. The number of critical points correctly identied and the number of segments correctly recognized were calculated according to the participants perception [9] - correct-corners accuracy instead of an all-or-nothing accuracy [12], because an allor-nothing accuracy can be used only when both the input and output are devoid of ambiguities which is not the case with freehand input. For example, it is difcult for the user to even correctly identify the tangential transition point between a freehand line and an arc. Through, this study we were interested to nd out if the users were able to nish the task given and whether they were able to accomplish it with minimum interactions and strokes. The initial results indicate that we have a robust beautication algorithm and the participants were able to draw the given shapes successfully and at the same time with minimal interactions and lesser time. All of the participants reported that the system was easy to use and expressed a positive attitude towards drawing using freehand sketching. The participants were very appreciative of the system inferring the implicit constraints automatically and satisfying them simultaneously without the need for manually specifying them. A total of 88 geometry strokes and 13 interactions were recorded for the geometry part of the problems. The input strokes comprised of both single-primitive and multiprimitive types. A single-primitive stroke means a stroke can represent only one kind of primitive i.e. a line, an arc or a circle. On the other hand, a multi-primitive stroke can rep-

(a)

(b)

(c)

(d) Fig. 14. Sample sketches from participants for the four problems. From left to right, each sub image inset in gures (a) - (d) shows the

freehand sketch drawn in geometry mode, the beautied sketch, sketch with input symbols and text drawn in symbol mode, sketch after text & symbol recognition and context interpretation, in that order.

Beautication Total number of strokes Total number of interactions Number of critical points segmented correctly Total number of critical points Critical points segmentation accuracy (%) Number of segments recognized correctly Total number of primitives Primitives recognition accuracy (%)
Table 2.

Problem 1 21 1 47 47 100 38 38 100

Problem 2 26 10 78 80 97.5 54 54 100

Problem 3 27 3 70 70 100 49 50 98

Problem 4 14 1 41 41 100 32 32 100

Total 88 15 236 238 99.16 173 174 99.43

Results of User study - Beautication.

results show that our system is more natural, efcient and at the same time robust and less time consuming for twodimensional geometry creation. 7.2 Symbol and Text Recognition Table 3 shows the results of text and symbol recognition algorithm implemented in the system. Our system correctly clustered and recognized 223 out of 228 stroke-groups with an accuracy of 97.81%. The various symbols recognized and their individual accuracies across both problems and types are shown in Table 3. A perfect recognition was achieved for Problem-2 and Problem-3. This is mainly attributed to the symbols being spread far apart and the chances for overlap between two different symbols being a minimum. In problem 1, a double headed dimension arrow was incorrectly recognized which was however rectied automatically at the time of context interpretation. Problem-4 had 5 dimensions, 2 boundary conditions and 2 loading (temperature constraints) conditions, which when specied in a single iteration can lead to a crowded sketch and a high chance for overlapping symbols. In one such instance, the fully constrained condition on the left end of the symbol overlapped with the temperature constraint on the bottom edge. The participant had to manually delete the overlapping stroke(s) and process it again. To avoid the over crowdedness, 3 of the 6 participants resorted to two iterations of the process routine for Problem-4, where they specied all the dimensional constraints in the rst iteration and all the loading and boundary conditions in the second iteration. This process is similar to traditional nite element systems where users usually nish the problem geometry before specifying other constraints. 7.3 Sketch Interpretation Table 4 shows the results of various contexts interpreted in the user study. Our system correctly interpreted 129 out of 132 contexts in the sketch with an accuracy of 98.48%. The misinterpreted contexts were due to the overlapped symbols as explained in the previous section. The results suggest that our recognition and interpretation algorithms work robustly for the domain of static nite element analysis. Table 5 shows the CPU processing times for beautication, clustering, text and symbol recognition and sketch interpretation for the four problems. The performance values indicate that the algorithms are fast for real time interactive use. Overall, the participants reported that they liked the user interface being highly intuitive and easy to use. They also provided some suggestions for improving the system. The main improvement suggested was to infer symmetry and expand the geometric constraints set that can be either detected automatically or specied manually like equal radii constraints and equal lengths. For example, in even a relatively simple geometry like in Problem-4, ve dimensional constraints were required to construct the square and place a circle at the center. For more complex geometries, specifying all dimensions would be a tedious task and there might not be enough space to specify them without overlapping, requiring

(a)

(b)
N6 L5 N5 L4 N4

Y L6 L7 L8 L9 L3 X

L1 N1 N2

L2 N3

(c)

(d) Fig. 13. Problems used in user study.

resent any number and any kind of primitives connected together. In all, 101 operations were required for successfully completing the geometry. In contrast, if the system allowed only single-primitive strokes to be input to create the geometry, then the minimum number of total strokes required would be equal to 168, approximately 40% more number of strokes for geometry creation. In addition this number does not reect the number of operations that would be required to specify geometry constraints. Our system correctly segmented 236 critical points out of 238 with 99.16% accuracy and correctly recognized 173 out of 174 primitives, achieving 99.43% primitive recognition accuracy. These statistical

Symbols

Problem 1 CR T 6 0 6 12 18 42

Problem 2 CR 6 0 6 18 24 54 T 6 0 6 18 24 54

Problem 3 CR 6 6 12 0 12 36 T 6 6 12 0 12 36

Problem 4 CR 11 0 11 29 42 93 T 12 0 12 30 42 96

Recognition accuracy CR 29 6 35 58 95 223 T 30 6 36 60 96 228 % 96.67 100 97.22 96.67 98.96 97.81

Fully constrained Roller Load Dimension Text

6 0 6 11 17 40

Total Accuracy (%)

95.24%

100%

100%

96.88%

Table 3. Results of User Study - Symbol and Text Recognition. (Legend: CR - total number of correctly recognized symbols and T - total number of symbols)

Contexts

Problem 1 CI T 12 6 6 24

Problem 2 CI 18 6 6 30 T 18 6 6 30

Problem 3 CI 0 12 12 24 T 0 12 12 24

Problem 4 CI 30 11 11 52 T 30 12 12 54

Recognition accuracy CI 60 35 35 130 T 60 36 36 132 % 100.00 97.22 97.22 98.48

Dimensions Loading conditions Boundary conditions

12 6 6 24

Total Accuracy (%)

100%

100%

100%

96.30%

Table 4. Results of User Study - Context Interpretation. (Legend: CI - total number of correctly interpreted contexts and T - total number of contexts)

Time Processing time for all strokes in beautication (milliseconds) Clustering time of strokes in symbol mode (milliseconds) Symbol recognition + Sketch Interpretation time (milliseconds)
Table 5.

Problem 1 152 49 312

Problem 2 573 30 433

Problem 3 330 23 287

Problem 4 136 102 742

CPU Processing Time for the four problems with varied complexities on a dual core 3.0GHz processor and 2GB of RAM

many iterations. A possible solution is to modify some of the dimensions directly in the left tree. This particular system is currently best suited for exploratory studies in early design where the actual dimensions are not that important in comparison to the shape; for in-classroom demonstrations, where the location of stress concentration or the deection of a truss member is the focal point of discussion rather than the actual values.

Conclusions Our overarching goal is to develop robust sketch understanding techniques that would enable pen-based interfaces to be the preferred computing platform of choice. In this

paper, we addressed the specic challenge of transforming ambiguous and informal freehand input to more formalized representations i.e., beautication. To this extent, we created a beautication method that is not domain specic, supports multi-primitives like lines, arcs and circles, and considers the spatial relationships implied in the freehand sketches. In addition, to create a natural working environment for designers, we developed FEAsy, a sketch-based interface that integrated freehand sketching with nite element analysis. We had presented methods for symbol and text recognition, and interpretation of various contexts in nite element domain. We showed the capabilities of the system and also how this system can be used to evaluate ideas especially in early de-

sign and also as a potential learning tool for students. Most notably, all models were created quickly and in a more natural manner just as one would draw on paper. Anyone familiar with the nite element analysis domain can learn the system quickly with very little training. The current implementation of the system, exports the model geometry, loading and boundary conditions into a unied le that can be run in ANSYS to visualize results. The results from the user studies have shown that our beautication, text and symbol recognition, and interpretation algorithms are efcient and robust. The participants also reported that the user-interface is highly intuitive and easy to use. Our immediate future work is to integrate a nite element solver and provide visualization capabilities in the system making it a unied tool for nite element analysis.

Acknowldegments This material is based upon work supported by the National Science Foundation Division of Information and Intelligent Systems (NSF IIS) under Grant No. 0535156. This work was done in collaboration with PARC (formerly Xerox PARC). We would like to acknowledge Dr. Eric Saund for his suggestions during this work. Any opinions, ndings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reect the views of the National Science Foundation.

References [1] Davis, R., 2002. Sketch understanding in design: Overview of work at the MIT AI lab. In Sketch Understanding, Papers from the 2002 AAAI Spring Symposium, AAAI Press, pp. 2431. [2] Shpitalni, M., and Lipson, H., 1997. Classication of sketch strokes and corner detection using conic sections and adaptive clustering. ASME Journal of Mechanical Design, 119, pp. 131135. [3] Pu, J., and Ramani, K., 2007. Implicit geometric constraint detection in freehand sketches using relative shape histogram. In SBIM 07: Proceedings of the 4th Eurographics workshop on Sketch-based interfaces and modeling, ACM, pp. 107113. [4] Oviatt, S., Arthur, A., and Cohen, J., 2006. Quiet interfaces that help students think. In UIST 06: Proceedings of the 19th annual ACM symposium on User interface software and technology, ACM, pp. 191200. [5] Forbus, K. D., Lockwood, K., Klenk, M., Tomai, E., and Usher, J., 2004. Open-domain sketch understanding: The nusketch approach. In AAAI Fall Symposium on Making Pen-based Interaction Intelligent and Natural, October, AAAI Press, pp. 5863. [6] Igarashi, T., Kawachiya, S., Tanaka, H., and Matsuoka, S., 1998. Pegasus: a drawing system for rapid geometric design. In CHI 98: CHI 98 conference summary on Human factors in computing systems, ACM, pp. 2425.

[7] Landay, J. A., and Myers, B. A., 2001. Sketching interfaces: Toward more human interface design. Computer, 34(3), pp. 5664. [8] Lin, J., Newman, M. W., Hong, J. I., and Landay, J. A., 2001. Denim: an informal tool for early stage web site design. In CHI 01: CHI 01 extended abstracts on Human factors in computing systems, ACM, pp. 205 206. [9] Sezgin, T. M., Stahovich, T., and Davis, R., 2001. Sketch based interfaces: early processing for sketch understanding. In PUI 01: Proceedings of the 2001 workshop on Perceptive user interfaces, ACM, pp. 18. [10] Calhoun, C., Stahovich, T. F., Kurtoglu, T., and Kara, L. B., 2002. Recognizing multi-stroke symbols. In in 2002 AAAI Spring Symposium - Sketch Understanding, (Palo Alto CA, 2002, AAAI Press, pp. 1523. [11] Dae Hyun Kim, M.-J. K., 2006. A curvature estimation for pen input segmentation in sketch-based modeling. Computer-Aided Design, 38(3), March, pp. 238 248. [12] Aaron Wolin, Brian D. Eoff, T. A. H., 2008. Shortstraw: A simple and effective corner nder for polylines. In Proceedings of Eurographics 2008 - SketchBased Interfaces and Modeling (SBIM). [13] Hse, H., Shilman, M., and Newton, A. R., 2004. Robust sketched symbol fragmentation using templates. In IUI 04: Proceedings of the 9th international conference on Intelligent user interfaces, ACM, pp. 156160. [14] Leslie Gennari, Levent Burak Kara, T. F. S. K. S., 2005. Combining geometry and domain knowledge to interpret hand-drawn diagrams. Computers & Graphics, 29(4), August, pp. 547562. [15] Zhang, X., Song, J., Dai, G., and Lyu, M., 2006. Extraction of line segments and circular arcs from freehand strokes based on segmental homogeneity features. Systems, Man, and Cybernetics, Part B, IEEE Transactions on, 36(2), April, pp. 300311. [16] Qin, S. F., Wright, D. K., and Jordanov, I. N., 2001. On-line segmentation of freehand sketches by knowledge-based nonlinear thresholding operations. Pattern Recognition, 34(10), pp. 18851893. [17] Wenyin, L., 2003. On-line graphics recognition: State-of-the-art. In GREC, pp. 291304. [18] Xiong, Y., and Jr., J. J. L., 2010. A shortstrawbased algorithm for corner nding in sketch-based interfaces. Computers & Graphics, 34(5), pp. 513 527. CAD/GRAPHICS 2009; Extended papers from the 2009 Sketch-Based Interfaces and Modeling Conference; Vision, Modeling & Visualization. [19] Fonseca, M. J., and Jorge, J. A., 2001. Experimental evaluation of an on-line scribble recognizer. Pattern Recogn. Lett., 22(12), pp. 13111319. [20] Kara, L. B., and Stahovich, T. F., 2005. An imagebased, trainable symbol recognizer for hand-drawn sketches. Computers & Graphics, 29(4), pp. 501 517. [21] Veselova, O., and Davis, R., 2006. Perceptually based learning of shape descriptions for sketch recognition.

[22]

[23]

[24]

[25]

[26]

[27]

[28]

[29]

[30]

[31]

[32]

[33]

In SIGGRAPH 06: ACM SIGGRAPH 2006 Courses, ACM, p. 28. Swigart, S., 2005. Easily write custom gesture recognizers for your tablet pc applications. Tablet PC Technical Articles. Plimmer, B., and Grundy, J., 2005. Beautifying sketching-based design tool content: issues and experiences. In AUIC 05: Proceedings of the Sixth Australasian conference on User interface, Australian Computer Society, Inc., pp. 3138. L.Eggli, H.ChingYao, B.Bruderlin, and Elber, G., February 1997. Inferring 3d models from freehand sketches and constraints. Computer-Aided Design, 29, pp. 101112(12). Zeleznik, R. C., Herndon, K. P., and Hughes, J. F., 1996. Sketch: an interface for sketching 3d scenes. In SIGGRAPH 96: Proceedings of the 23rd annual conference on Computer graphics and interactive techniques, ACM, pp. 163170. Damm, C. H., Hansen, K. M., and Thomsen, M., 2000. Tool support for cooperative object-oriented design: gesture based modelling on an electronic whiteboard. In CHI 00: Proceedings of the SIGCHI conference on Human factors in computing systems, ACM, pp. 518 525. Chen, Q., Grundy, J., and Hosking, J., 2003. An ewhiteboard application to support early design-stage sketching of uml diagrams. In HCC 03: Proceedings of the 2003 IEEE Symposium on Human Centric Computing Languages and Environments, IEEE Computer Society, pp. 219226. Plimmer, B., and Apperley, M., 2004. Interacting with sketched interface designs: an evaluation study. In CHI 04: CHI 04 extended abstracts on Human factors in computing systems, ACM, pp. 13371340. Gross, M. D., and Do, E. Y.-L., 1996. Ambiguous intentions: a paper-like interface for creative design. In UIST 96: Proceedings of the 9th annual ACM symposium on User interface software and technology, ACM, pp. 183192. Landay, J. A., and Myers, B. A., 1995. Interactive sketching for the early stages of user interface design. In CHI 95: Proceedings of the SIGCHI conference on Human factors in computing systems, ACM Press/Addison-Wesley Publishing Co., pp. 4350. Naya, F., Contero, M., Aleixos, N., and Company, P., 2007. Parsketch: A sketch-based interface for a 2d parametric geometry editor.. In HCI (2), J. A. Jacko, ed., Vol. 4551 of Lecture Notes in Computer Science, Springer, pp. 115124. Laviola, J. J., and Zeleznik, R. C., 2006. Mathpad2: a system for the creation and exploration of mathematical sketches. In SIGGRAPH 06: ACM SIGGRAPH 2006 Courses, ACM. Peschel, J., and Hammond, T., 2008. Strat: A sketched-truss recognition and analysis tool. In Proceedings of the Fourteenth International Conference on Distributed Multimedia Systems.

[34] de Silva, R., Bischel, D. T., Lee, W., Peterson, E. J., Calfee, R. C., and Stahovich, T. F., 2007. Kirchhoffs pen: a pen-based circuit analysis tutor. In SBIM 07: Proceedings of the 4th Eurographics workshop on Sketch-based interfaces and modeling, ACM, pp. 75 82. [35] Hutchinson, T. C., Kuester, F., and Phair, M. E., 2007. Sketching nite-element models within a unied twodimensional framework. Journal of Computing in Civil Engineering, 21(3), pp. 175186. [36] Zeleznik, R. C., Bragdon, A., Liu, C.-C., and Forsberg, A., 2008. Lineogrammer: creating diagrams by drawing. In UIST 08: Proceedings of the 21st annual ACM symposium on User interface software and technology, ACM, pp. 161170. [37] Ltd, L. http://www.ledas.com/products/lgs2d/, accessed on feb 25th 2009. [38] Sezgin, T. M., and Davis, R., 2006. Scale-space based feature point detection for digital ink. In SIGGRAPH 06: ACM SIGGRAPH 2006 Courses, ACM, p. 29. [39] Chen K.-Z., Zhang X.-W., O. Z.-Y. F. X.-A., January 2003. Recognition of digital curves scanned from paper drawings using genetic algorithms. Pattern Recognition, 36, pp. 123130(8). [40] Murugappan, S., Sellamani, S., and Ramani, K., 2009. Towards beautication of freehand sketches using suggestions. In SBIM 09: Proceedings of the 6th Eurographics Symposium on Sketch-Based Interfaces and Modeling, ACM, pp. 6976.

Appendix A: Head of First Appendix Avoid Appendices if possible.

Appendix B: Head of Second Appendix Subsection head in appendix The equation counter is not reset in an appendix and the numbers will follow one continual sequence from the beginning of the article to the very end as shown in the following example.

Das könnte Ihnen auch gefallen