Sei sulla pagina 1di 16

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 ( Exit Program )

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 ( Texture This )


Simply applies a texture to the selected object(s).

2º- Cut Object ( Cut This )


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.

3º- Glue Object ( Glue This )


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.

4º- Adjust Object ( Adjust This )


Moves an object along the plane it is glued to. Has a similar
working to the Positioning tool.

5º- Position Object ( Position This )


Positions an object in a given point. A stroke must be
drawn from the starting point to the desired location

6º- Rotate Object ( Rotate This )


Rotates an object in real-time around its centre.

7º- Move Object ( Move This )


Moves an object in real-time.

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 ( Top View )

Right View ( Right View) Left View ( Left View)

Isometric 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.
The all set of constraints: parallel, perpendicular,
tangent and tangent-perpendicular lines are
Figure 6-1 – Tangent Line 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.
Three examples of these situations can be view on
Figure 6-2 – Perpendicular to Tangent
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 João P. Pereira et al.

Figure 6-6 – Hole Section Manipulation 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 result is the same object but
the user must scratch it, finishing the without one of the sides of the hole.
scratch in the holes floor or possibly The above picture illustrates the
in the object top face as these to part result. This particular case can get in
are intended to stay after the handy to help designers to make
operation. 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 João P. Pereira et al.

As a final example, in order to delete


the holes floor, the user scratches the As a result, the holes floor disappears,
floor and ends the stroke in one side making the hole pass entirely thru the
of the hole. 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 João P. Pereira et al.

Figure 6-8 - Same Sized Edges: Highlight 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

Potrebbero piacerti anche