Aven Bug (well, interface issues at least)

Lev Bishop lev.bishop@yale.edu
Tue, 14 Jan 2003 16:07:34 -0500 (EST)


On Mon, 6 Jan 2003, Olly Betts wrote:

> A 3D CAD package might provide a better insight into how others have
> solved a similar UI problem.

Speaking as an ex-MCAD programmer, you could do worse than look at the
dynamic view control UI for Pro/E. You can get a feel for it by using
ProductView Express which is a free download from www.ptc.com. If you can
get it to work, that is - it crashes internet explorer on my xp box,
which, speaking as an ex-PTC employee, doesn't surprise me at all... but
it works on my friend's windows 98 machine. Its a 3 button interface. Left
button lets you zoom - dragging right zooms in slowly, dragging up zooms
in quickly; clicking (in pro/e but not pvx) starts one corner of a zoom
window, completed with a second click at the other corner. Middle button
rotates - dragging drags the model in the sense that the front of the
model rotates in the direction of the drag - ie dragging down moves the
far part of the model up and the part near to the observer down, dragging
left makes the far part go right and the near part go left. Its like
you're grabbing the model and pulling it. (The free rotation mode in aven
doesn't work this way and does my head in). Since rotations don't commute
you can middle-drag in a loop and end up with the cursor in the same place
it started but have the model in a different orientation. Rotation rate is
linked to degree of zoom so the rotation is much slower if you zoom in
close (generally what you want). The rotation center is usually the center
of the part (something you can define), but (in pro/e not pvx) can also be
set to be the center of the screen (I forget how it decides the z-coord of
the rotation center, but it could be in the same way that aven does it);
but I find this mode to be confusing. You can also drag the center of
rotation around (it appears as a little multicoloured xyz axes thing to
help you orient yourself) which can be dead handy for investigating
details in a corner that's away from the part center, but I forget the
exact details of how you go about moving it. Right button is for panning -
you drag and the model moves the same distance and in the same direction
as you moved the cursor.

All of the above operations are done in conjunction with holding the 
control key - the 3 buttons have other meanings without the control key. 
Pro/E is similar to aven in that it has a "model tree", a tree structured 
text description of the entities in the part/assembly/whatever and that 
selections can be from either the graphical area or direct from the tree. 
There are different selection modes (for selecting a vertex, line, plane, 
feature, etc) and the item that would be selected were you to left click 
at any time gets "pre-highlighted" so you know whether you'll get the 
right thing. If you want to choose something that's hidden behind 
something else there's a "query select" mode of selection (activated by 
right-click ISTR) which gives a list of possible entities for you 
to choose from. Selecting an entity does not reorient either the model 
tree or the graphical display, as far as I can remember, but does 
highlight the selected item in each. Of course, nearly everything is 
configurable and you can, if you like, have the model rotating about its 
body axes rather than the screen axes, should that be your thing.

I think most of this would be useful to a cave viewer. Especially the
sense of free rotations, and the way the rotation center doesn't move
without you asking it to - together these make it much harder for you to
get lost in the model, I think. The sense of the pan function, and the
method of zooming are good too. I find having aven's having rotate and
zoom on the same button generally ok but occasionally annoying when I want
to do one without the other. Makes more sense to have different buttons or
different button modifiers for the different functions - not because its
hard to remember the idiom but because its hard to move the mouse exactly
horizontally or exactly vertically. Being able to set modes for selecting
legs as opposed to stations or whatever might be useful, assuming there's
any reason to want to be able to select legs, stations, etc. Preselection
highlighting and query-select could also be handy. Selection from the tree
is already implemented in aven.

However, an MCAD programme is not the same as a survey viewer. In
particular the plan and elevation views don't play such a major role, and
in a MCAD programme you have shading and highlighting and shadows and so
on to help you orient yourself whereas in a cave survey you only get a lot
of points and lines and so its easier to get confused. I think having a
shortcut between plan and elevation views (with dynamic sweep between
them) and having orientation modes which constrain you to stay within plan
or elevation is a feature of aven that's entirely appropriate and should 
be kept.

thoughts?

lev