INFORMATION SOCIETY TECHNOLOGIES (IST) PROGRAMME
GIDeS++ Constraint-Based Scene Modelling and Assembly – Manual and Report
Project acronym: SmartSketches Project full title: SmartSketches: A Multimodal Approach to Improve Usability in the Early States of Product Design Contract no.: IST-2000-28169 DELIVERABLE: D20b
Technical Report
2D Sketch Editor – Manual and Report
João P. Pereira et al.
TECHNICAL REPORT TITLE:
GIDeS++ Constraint-Based Scene Modeling and Assembly – Manual and Report
AUTHOR: Tiago Cardoso, Nelson Silva DATE:
September 2004
PAGES:
16
VERSION: 0.1 WORKPACKAGE: WP5 DELIVERABLE: D20b KEYWORDS: Natural interaction paradigms, RISC interfaces, incremental drawing, ambiguity mediation techniques, expectation lists, 3D modelling, geometric constraints. CIRCULATION: Consortium
Table of Contents 1.
INTRODUCTION ............................................................................................................................................. 3
2.
PRIMITIVES ..................................................................................................................................................... 3
3.
TOOLBARS ....................................................................................................................................................... 4
4.
VIEW .................................................................................................................................................................. 6
5.
MEASURES ....................................................................................................................................................... 7
6.
GIDES++ SYSTEM CONSTRAINT FEATURES ......................................................................................... 8
Page 2 of 16
Technical Report
2D Sketch Editor – Manual and Report
João P. Pereira et al.
Abstract This document part of Deliverable D20 from Workpackage WP5 of Smartsketches Project and constitutes a use manual of GIDeS prototype ++ – Gesture-based Interactive Design System ++ – developed in the scope of this Project. Therefore, his should be read in combination with the technical report which forms the other part of the same Deliverable (D20). As GIDeS++ system has in its core the GIDeS system, especially in 2D/3D primitive creation, the description of the interface related in this feature won’t be extensively explain, but enough information is given so that this document stands as an independent Manual. For further information about gesture’s repertoires that instantiate commands, primitive 2D and primitive 3D, as well as the expectation list that is responsible for the management of ambiguities proper of drawing activity, which, as it is known, constitute the main paradigm of interaction of GIDeS prototype, as also high level geometric edition operations must be instantiate – displacement, adjustment, glue and cut – and manipulation commands of the virtual camera, one should resort to GIDeS manual, part of Deliverable D16 on Workpage Wp3. In this manual, its given especial attention to new features, like the new measures layer, the new multi modal interface and mainly all constraints tools, that are the heart of this prototype.
1. Introduction The software in that the system GIDeS ++ is base on is susceptible of being performed in computational platforms endowed with operating systems from Microsoft, since the obsolete Windows 3.11 up to the most recent Windows XP. It includes in its architecture ACIS geometric core that enable a powerful manipulation of solid objects. Within the new multi modal interface, two Microsoft recognizers were used: Microsoft Speech Recognition SDK and Microsoft handwriting recognition.
2. Primitives As details in Deliverable D16a, next on Table 2-1 is illustrated as an example a list o created object and related gestures. This server as a mere reference and, as mention before, for further details on 3D primitive creation or 3D primitive gesture instantiation recognition subsystem, one should recourse to Deliverable D16 and D16a. These are example gestures used to create some of the primitives available in the system.
Page 3 of 16
Technical Report
2D Sketch Editor – Manual and Report
João P. Pereira et al.
... Table 2-1
3. Toolbars Following, a list of system buttons an associated action is illustrated. GIDeS++ system disposes of a multimodal interface, using handwriting and speech recognition as two new modalities. Most, if not all, toolbar buttons have a related voice command, therefore, in parenthesis, are indicated the motioned speech alternatives. Open a file
(
Open File )
Save a file
(
Save File )
Copy
(
Copy Object(s) )
Paste
(
Paste Object(s))
Drawing Layer
(
Drawing Layer )
Measures Layer
(
Measures Layer )
(
Exit Program )
Exit
Page 4 of 16
Technical Report
2D Sketch Editor – Manual and Report
João P. Pereira et al.
Rotate View
(
Rotate View )
Zoom In/Out
(
Zoom View )
Pan View
(
Pan View )
To enable this camera toolbar, the user should click the right mouse button everywhere besides over a selected object.
1º
2º 3º 4º
5º 6º
7º
1º- Texture Object Simply applies a texture to the selected object(s).
(
Texture This )
2º- Cut Object Allows the user to cut through a selected object as well as on its edges. Simply draw the cut starting on the face where the cut should begin.
(
Cut This )
3º- Glue Object Selecting a given face and vertex of an object and a face and vertex of a target one, the first of these will be transformed so that both faces and vertexes overlap.
(
Glue This )
4º- Adjust Object Moves an object along the plane it is glued to. Has a similar working to the Positioning tool.
(
Adjust This )
5º- Position Object Positions an object in a given point. A stroke must be drawn from the starting point to the desired location
(
Position This )
6º- Rotate Object Rotates an object in real-time around its centre.
(
Rotate This )
7º- Move Object Moves an object in real-time.
(
Move This )
Page 5 of 16
Technical Report
2D Sketch Editor – Manual and Report
João P. Pereira et al.
This toolbar pops up when right clicking over a select object.
Boolean Intersection Calculates the intersection between the two selected objects. Boolean Subtraction Subtracts the first selected object from the second. Boolean Addition Performs an addition between the two object selected. While having two object selected right click over one of them and, besides the common object tools these should also appear.
4. View By clicking in one of the elements below a camera animation will be performed enable a standard point of view. Top View (
Right View (
Right View)
Isometric View (
Top View )
Left View (
Left View)
Isometric View )
Page 6 of 16
Technical Report
2D Sketch Editor – Manual and Report
João P. Pereira et al.
5. Measures Using another modality to interface, the measures layer has a handwriting recognition system. In table 5-1, is an example of the interaction in this layer. Changing measures by clicking on the desired edge and writing the new length value is the main and simplest interaction on this layer. Later, other features using the measures layer will be explained, like constraints tools or equal size edges. It’s also important to mention that this layer allow the visualization of edge measures by mouse over.
After switching to the measures layer simply clicking on the measure you wish to change. A new window should popup.
Write the new measure you wish the edge to have then click the Recognize button. To cancel press the Cancel button.
Table 5-1
Page 7 of 16
Technical Report
2D Sketch Editor – Manual and Report
João P. Pereira et al.
6. GIDeS++ system constraint features A description of these new features and its interface and use is presented in their finish and ready to use version. Firstly, 2D constraints are shown, with their interaction with the expectation list and highlights. After, these same constraints, but regarding objects are revealed. Finally, 3D object edition tools and 3D constraints are described.
2D Constraints These particular Constraints are merely constructive as one isn’t able to direct manipulate sketches. Therefore, these were putted in the expectation list. After the user drawing a stroke, if a constraint is percept, the result will configure in the suggestion list as one more possibility.
Figure 6-1 – Tangent Line
The all set of constraints: parallel, perpendicular, tangent and tangent-perpendicular lines are operating and can be of great help to designers when making precise drawings. As for the feedback, the resulted symbols and graphic indications from the expert evaluation on Deliverable D12 were used with a slight change of aspect, but only for design and style reasons. When a constraint line is selected and highlighted, a small animation with the respective symbol is shown on the drawing.
Figure 6-2 – Perpendicular to Tangent
Three examples of these situations can be view on Figures 6-1 to 6-3. On the first, a tangent is achieved while on the second and third, a perpendicular and a parallel, respectively, are attained. In this first phase, only straight lines can retain these constrains as the number of possibilities would grow exponentially if used on any kind of stroke. Another important aspect is the fact that strokes connected to any constraint have a higher priority on the expectation list, showing firstly to others.
Figure 6-3 – Parallel Lines
Page 8 of 16
Technical Report
2D Sketch Editor – Manual and Report
João P. Pereira et al.
2D/3D Constraints Like in the previous section, D12’s expert evaluation’s ideas were maintain. The feedback is similar, being the only difference the fact that now edges and faces of object act as restrictive agents and not the draw itself. Also, another very useful constraint is present: Face concentric. This feature allows users to sketch precisely co-centric objects with ease. When a close figure is drawn, the centre of this is snapped to the centre of a face if close enough.
Figure 6-4 – Parallel Line to Edge
Figure 6-5 – Co-centric Polygon to Face
In Figure 6-4, one can see an example of a typical 2D constraint being used on an object edge. In this case, a parallel line is produced. In the right Figure 6-5, a co-centric figures is automatically accomplished and the snapped centre is illustrated with a point showing the precise centre and a small animation of a growing circle, getting the user attention for the fact that a co-centric constraint is being made. Finally, it’s important to mention that another feedback was manufactured. While gravity was already done and being used with great success. This fundamental constraint wasn’t still highlighted, so the user wasn’t able to know where this feature had taken place. Hence, a visual sign was created to show whenever gravity is performed. The sign was an animation of a circle growing and shrinking, giving the impression of a force field, in this case an analogy to gravity.
3D Constraints Regarding object manipulation on a more edition level instead of merely constructive, new features were also added. Firstly and most important, the section manipulation tool adds a new interaction process. This new process reassembles direct manipulation and a preview of a possible final result is shown real-time. It only reassembles direct manipulation as the object isn’t actually changed until the action is committed and it still depend on sketch because the user interaction is analogous to an indication of “this edge putted here” by drawing a line and therefore changing the section size. Still, this was different enough from the pure-sketch scheme and so, it had to be validated. Page 9 of 16
Technical Report
2D Sketch Editor – Manual and Report
Figure 6-6 – Hole Section Manipulation
João P. Pereira et al.
Figure 6-7 – Section Manipulation
In Figures 6-6 and 6-7 seen above, one can see the interaction with section manipulation operator. Firstly, the user picks the wanted edge/section to change, and then a preview, presented in the figures, will appear showing the result in the main working face. A special-effect animation will mark the original section and an animated arrow will spot from the centre of the section till the cursor. Along with these two indications, the top surface is also extended so that the user can preview its final look and be assuring of the result. If this extension overlaps the surface itself then the portion that will disappear with when committing will show up in another colour, which is blue by now. In a more technical approach, the result of this operation is an offset of the remaining face of the section. Besides the top and main face, where the preview will show up, other faces connected to the section will offset to fulfil the preview and the remaining faces will morph to close the object and connect to those offset faces. The user can then enlarge or shrink a section by pulling it, enabling more control and more edition-power over objects. Being holes so important to moulds industry, it’s crucial to be able to edit them as quickly as possible and with the great amount of control as possible. This operation is then a successful step into the goal. Next, on Table 6-1 another example of this feature’s use is shown. Using the same solid both shrinking and enlarging operations are performed step-by-step to a better comprehension.
Page 10 of 16
Technical Report
2D Sketch Editor – Manual and Report
João P. Pereira et al.
This model will be used to explain the mechanism and usage of this tool. There are two essential ways of using this tool: to shrink or to extend a section. To illustrate both cases, two paths are presented below. Firstly, the user should pick a section represented in white as these are the able sections. He should always pick this section by clicking near in the face in the same plane as the section, this is, the plane where the feedback will be showed.
In the example, the used decided to enlarge In this case, the user is shrinking the hole the hole, extending the section. A blue by reducing the section’s size. A plane plane appears to report the final result. with the same colour of the object will appear to give feedback.
Table 6-1
These two last pictures show the result of both operations.
Page 11 of 16
Technical Report
2D Sketch Editor – Manual and Report
João P. Pereira et al.
As illustrated in Table 6-2, another feature regarding holes and object parts manipulation was designed. This feature enables users to move a section just by dragging the section. To move a section and with it all correspondent object part - possibly a hole or an object’s extrusion – two simple interactions are enough. To begin the user picks the section by clicking in the centre point.
And finally, he positions the section in the desired place. Another section will appear for this proposes and dragging the cursor it is moved around.
The final result is the section moved and the related hole also moved for the new position.
Table 6-2
Page 12 of 16
Technical Report
2D Sketch Editor – Manual and Report
João P. Pereira et al.
Table 6-3
Another feature in the object space is delete holes tool. This Power Tool enables a wide range of possibilities, deleting object’s holes, portion, segments, extrusions or even faces. These two examples on Table 6-3 are the simplest ones and their interaction and result can be easily understood. Regarding the interface, this follows another idea. As scratching was already used with great success in deleting other entities, like lines or objects, it was only common sense to continue this kind of interaction to any other deleting tool as long as possible. Scratching an element will result in its deletion, but it’s important to mention that the final position of the cursor after the scratch must be an adjacent part of the object that will stay. This is necessary to avoid ambiguity and to give some context to the system. Has mention, these are not the only case available with this tool. Next, on table 6-4 is a list of other examples that will be explained for further comprehension.
Page 13 of 16
Technical Report
2D Sketch Editor – Manual and Report
João P. Pereira et al.
Base Model:
This model will be used as an example to illustrate the various possibilities when using the delete tool. Performed:
Result:
To delete one of the sides of the hole, the user must scratch it, finishing the scratch in the holes floor or possibly in the object top face as these to part are intended to stay after the operation.
The result is the same object but without one of the sides of the hole. The above picture illustrates the result. This particular case can get in handy to help designers to make injections holes.
To delete the entire hole, the user The result as shown in the picture should scratch most of the holes above is the cylinder without the sides. In a round hole, as is has only squared hole. one side, a simple scratch works. The scratch’s last point might be the object’s top.
Page 14 of 16
Technical Report
2D Sketch Editor – Manual and Report
As a final example, in order to delete the holes floor, the user scratches the floor and ends the stroke in one side of the hole.
João P. Pereira et al.
As a result, the holes floor disappears, making the hole pass entirely thru the cylinder.
Table 6-4
Finally, to illustrate another potential of this tool, a new example is presented here on Table 6-5. When deleting the top of this object, the object will be completed by continuing the surface until it closes, trying to reconstruct the surface original form or extrapolate a new one.
Table 6-5
Page 15 of 16
Technical Report
2D Sketch Editor – Manual and Report
Figure 6-8 - Same Sized Edges: Highlight
João P. Pereira et al.
Figure 6-9 – Same Sized Edges: Result
Last but not least, new feature named same sized edges operation. Until now, making two edges having the same length was a two step process. Firstly, one had to view the measure of the source edge, then select the destine edge and input the right size. Being this a common operation, this interface was inefficient and slow. Consequently, this new operation was created. Without having to know any edge length, the user just selects two edges and they became same sized. To do so, initially, the user draws a stroke thru an edge, that will become the original edge; after this, doing the same with another edge, which will become the destine edge, the operation with commit and the destine edge will gain the size of the previous one. As for feedback, when the operation takes place and so that there is no doubt about what edges were selected and are at work, an animation – shown in Figure 6-8 – will highlight both edges. After the animation is provided the user can make sure of what entities are at work and more clearly understand result – in this case, illustrated in figure 6-9 – if he made some mistake. It’s important to refer that the interface used in this operation is the same exercised by designer to illustrate on drawings that two edges or lines are the same size.
Page 16 of 16