MoI discussion forum
MoI discussion forum

Full Version: shortcut assignments

Show messages:  1-4  5-24  25-29

From: krass
12 Jun 2025   [#25] In reply to [#24]
Mike, thank you very much for your (as always very useful and informative) advice.
I will study everything carefully!

As for rotation, it was not about the "mouse wheel", but rather an attempt to tie the rotation of an object/camera (as an option) to the sliders on Turbobox.
There are three different ones and - in addition to rotation, they also have "press" functions.

I am thinking about how they can be used in the work of Moi3D.

Image Attachments:
55shot_3.png 


From: Michael Gibson
12 Jun 2025   [#26] In reply to [#25]
Hi krass, some camera movement for the wheels might be good.

Try some of these:

Rotate 3D viewport one step up:
script: moi.ui.mainWindow.viewpanel.getViewport('3D').rotate( 'up', 4.0 );

Rotate 3D viewport one step down:
script: moi.ui.mainWindow.viewpanel.getViewport('3D').rotate( 'down', 4.0 );

Rotate 3D viewport one step left:
script: moi.ui.mainWindow.viewpanel.getViewport('3D').rotate( 'left', 4.0 );

Rotate 3D viewport one step right:
script: moi.ui.mainWindow.viewpanel.getViewport('3D').rotate( 'right', 4.0 );


Pan active view one step left:
script: var left_right = -1.0, up_down = 0.0, backwards_forwards = 0.0; var vp = moi.ui.getActiveViewport(); if ( vp ) { vp.pan( left_right, up_down, backwards_forwards ); }

Pan active view one step right:
script: var left_right = 1.0, up_down = 0.0, backwards_forwards = 0.0; var vp = moi.ui.getActiveViewport(); if ( vp ) { vp.pan( left_right, up_down, backwards_forwards ); }

Pan active view one step up:
script: var left_right = 0.0, up_down = -1.0, backwards_forwards = 0.0; var vp = moi.ui.getActiveViewport(); if ( vp ) { vp.pan( left_right, up_down, backwards_forwards ); }

Pan active view one step down:
script: var left_right = 0.0, up_down = 1.0, backwards_forwards = 0.0; var vp = moi.ui.getActiveViewport(); if ( vp ) { vp.pan( left_right, up_down, backwards_forwards ); }


Zoom like the mouse scroll wheel forward:
script: var vp = moi.ui.getActiveViewport(); if ( vp ) { vp.wheelZoom( true ); }

Zoom like the mouse scroll wheel backward:
script: var vp = moi.ui.getActiveViewport(); if ( vp ) { vp.wheelZoom( false ); }

- Michael
From: stefano (LIGHTWAVE)
4 May   [#27] In reply to [#2]
RE: VIEWPORT SHORTCUTS

-----on latest V5 beta im currently using testing viewport shortcuts like this (might try toggles later, but this set up i like, logical
and matches the UI as well)...

numpad zero = split
numpad decimal point = 3d
numpad 1 & 4 top / bottom
numpad 2 & 5 front / back
numpad 3 & 5 left / right


I want to have "reset" assigned to numpad+

1. is there a shortcut key which is same as pressing "reset" in the viewport?

UPDATE/NOW SOLVED: used this one:
script:moi.ui.getActiveViewport().reset();

also:

2. can a viewport selection be 'smart' e.g. if object selected and we select "top" it goes to top viewport and "resets"
if object not selected and user clicks or uses shortcut to goto "top" then the object is not "reset" in the view works
as it does now...


-----
Set Top View:
script:var vname = 'Top'; var vp = moi.ui.mainWindow.viewpanel; vp.mode = vname; if ( vp.getViewport(vname).name != vname ) vp.reverseView( vname );


Set Bottom View:
script:var vname = 'Bottom'; var vp = moi.ui.mainWindow.viewpanel; vp.mode = vname; if ( vp.getViewport(vname).name != vname ) vp.reverseView( vname );


Set Front View:
script:var vname = 'Front'; var vp = moi.ui.mainWindow.viewpanel; vp.mode = vname; if ( vp.getViewport(vname).name != vname ) vp.reverseView( vname );


Set Back View:
script:var vname = 'Back'; var vp = moi.ui.mainWindow.viewpanel; vp.mode = vname; if ( vp.getViewport(vname).name != vname ) vp.reverseView( vname );


Set Right View:
script:var vname = 'Right'; var vp = moi.ui.mainWindow.viewpanel; vp.mode = vname; if ( vp.getViewport(vname).name != vname ) vp.reverseView( vname );


Set Left View:
script:var vname = 'Left'; var vp = moi.ui.mainWindow.viewpanel; vp.mode = vname; if ( vp.getViewport(vname).name != vname ) vp.reverseView( vname );


Set Split View:
script:moi.ui.mainWindow.viewpanel.mode = 'Split';


Set 3D View:
script:moi.ui.mainWindow.viewpanel.mode = '3D';
From: Michael Gibson
4 May   [#28] In reply to [#27]
Hi stefano,

re:
> 1. is there a shortcut key which is same as pressing "reset" in the viewport?

Put in this for the "Command" part of the shortcut key:

script: var vp = moi.ui.getActiveViewport(); if ( vp ) { vp.reset(); }


> 2. can a viewport selection be 'smart' e.g. if object selected and we select "top" it goes to top viewport and "resets"
> if object not selected and user clicks or uses shortcut to goto "top" then the object is not "reset" in the view works as it does now...

Try these:

Set Top View + reset if any objects selected:

script:var vname = 'Top'; var vp = moi.ui.mainWindow.viewpanel; vp.mode = vname; if ( vp.getViewport(vname).name != vname ) { vp.reverseView( vname ); } if ( moi.geometryDatabase.getSelectedObjects().length > 0 ) { vp.getViewport(vname).reset(); }


Set Bottom View + reset if any objects selected:

script:var vname = 'Bottom'; var vp = moi.ui.mainWindow.viewpanel; vp.mode = vname; if ( vp.getViewport(vname).name != vname ) { vp.reverseView( vname ); } if ( moi.geometryDatabase.getSelectedObjects().length > 0 ) { vp.getViewport(vname).reset(); }


Set Front View + reset if any objects selected:

script:var vname = 'Front'; var vp = moi.ui.mainWindow.viewpanel; vp.mode = vname; if ( vp.getViewport(vname).name != vname ) { vp.reverseView( vname ); } if ( moi.geometryDatabase.getSelectedObjects().length > 0 ) { vp.getViewport(vname).reset(); }


Set Back View + reset if any objects selected:

script:var vname = 'Back'; var vp = moi.ui.mainWindow.viewpanel; vp.mode = vname; if ( vp.getViewport(vname).name != vname ) { vp.reverseView( vname ); } if ( moi.geometryDatabase.getSelectedObjects().length > 0 ) { vp.getViewport(vname).reset(); }


Set Right View + reset if any objects selected:

script:var vname = 'Right'; var vp = moi.ui.mainWindow.viewpanel; vp.mode = vname; if ( vp.getViewport(vname).name != vname ) { vp.reverseView( vname ); } if ( moi.geometryDatabase.getSelectedObjects().length > 0 ) { vp.getViewport(vname).reset(); }


Set Left View + reset if any objects selected:

script:var vname = 'Left'; var vp = moi.ui.mainWindow.viewpanel; vp.mode = vname; if ( vp.getViewport(vname).name != vname ) { vp.reverseView( vname ); } if ( moi.geometryDatabase.getSelectedObjects().length > 0 ) { vp.getViewport(vname).reset(); }


Set Split View + reset all if any objects selected:

script:moi.ui.mainWindow.viewpanel.mode = 'Split'; if ( moi.geometryDatabase.getSelectedObjects().length > 0 ) { moi.view.resetAll(); }


Set 3D View + reset if any objects selected:

script:moi.ui.mainWindow.viewpanel.mode = '3D'; var vp = moi.ui.mainWindow.viewpanel.getViewport('3D'); if ( moi.geometryDatabase.getSelectedObjects().length > 0 ) { vp.reset(); }
From: stefano (LIGHTWAVE)
4 May   [#29] In reply to [#28]
thanks michael, updated all 6 viewport numpad functions plus seperate "reset" view function on numpad * - its all working nicely...

Show messages:  1-4  5-24  25-29