Hello Bryan, Haha....I guess this will start of a "Linux/Windows", "vi/emacs" kind of discussion. Anyway, I agree with you that some form of standardization would be nice.
I have worked with several 3D like applications, mostly in CAD (Cimatron, Solidworks, CATIA V5, Solidedge) or simulation (MSC.Patran, ANSYS, ABAQUS). I have not been a hardcore user of any of these software tools. But the way they handle rotating and moving camera/viewport is different for everyone of them. I personally like the following: - Rotation, left mousebutton - Zoom, scroll-mouse - Pan, click middle mouse button Ideally, something modifier keys could be used for more fine-grained control. An example could be to have 'w'+left mouse button zoom in with a rectangle. I will look into this subject early next year (2010), since I will be building my first serious program with PythonOCC. Regards, Marco On Sun, Dec 27, 2009 at 8:57 PM, Bryan Bishop <kanz...@gmail.com> wrote: > Hey all, > > I was wondering if anyone has a good example of easy user interaction > with OCC. In HeeksCAD, rotating and moving the camera/viewport, > rotating the object, etc. is made difficult by cryptic two-click mouse > button maneuvers, and rotating the camera versus rotating a particular > object isn't always obvious. > > The most useful viewport tools that I have seen so far are the ones > that specifically move you to the front, back, side, top, bottom, and > so on. I was wondering if anyone knows of a good example of a good > user interaction model with OCC. For instance, HeeksCAD and FreeCAD > both seem to use the default settings that are also used in > InteractiveViewer.py. > > The only program that comes to mind that seems to have a good user > interaction model is "gmsh". Click and hold left mouse button to > rotate, click and hold both left and right mouse buttons to zoom in > and out. Right mouse button moves the object. > > gmsh: > left mouse button: rotate > right mouse button: move camera left, right, up, down > left & right mouse button: zoom in/out > > HeeksCAD: > mouse wheel: zoom in/out > left & right mouse button: rotate > left mouse button (after left clicking on an object) move object > > FreeCAD > arrow keys: move camera left, right, up, down > left & right mouse button: rotate? > > To me, gmsh feels the most natural. HeeksCAD's mouse wheel and "click > an object and then move it" also feels natural. I wish these were more > standard, or customizable. Anyway, if anyone has any hints on how to > set up these specific actions under pythonOCC, I am all ears. > > - Bryan > http://heybryan.org/ > 1 512 203 0507 > > _______________________________________________ > Pythonocc-users mailing list > Pythonocc-users@gna.org > https://mail.gna.org/listinfo/pythonocc-users > _______________________________________________ Pythonocc-users mailing list Pythonocc-users@gna.org https://mail.gna.org/listinfo/pythonocc-users