Show messages:
1-2
3-22
23-29
From: Michael Gibson
Hi krass, it sounds like you've got it worked out but just in case:
>
> I wrote that the controller system understands only keyboard shortcuts (and mouse clicks) to program the device.
>
> For example, Alt + F1 (Cntrl + G) and so on.
> But not the format of the script type moi (script: var vp = moi.ui.mainWindow.viewpanel.getViewport('3D'); <...>
Right, inside MoI you set up the shortcut key and MOI script, like Alt+F1 = script: var vp = moi.ui.mainWindow.etc..
Then inside the device software you don't give the MOI script there, you just tell it to send Alt+F1.
So there are 2 pieces that work together - set up shortcut key with script in MOI and in the device software assign a device button to emit the shortcut key.
- Michael
From: Michael Gibson
Hi krass,
re:
> 1 - where can I find a list of all the hotkeys (scripts) for my3d tools?
There are some of the most commonly used scripts listed here:
https://moi3d.com/4.0/docs/moi_command_reference11.htm#shortcutkeys
like Hide, Lock, reset all views, select all, deselect all, invert selection, go to split view, maximize 3d/top/front/right view, isolate selection, select all curves, turn grid snap on/off, and some more.
Also there are more scripts here:
https://moi3d.com/download/scripts/PetrsMoiPage/PetrsMoiPage.htm
> 2 - is it possible to bind the rotation of the selected object to the scroll/dial
> wheels (now it is done by holding the mouse and rotating it)?
Sorry no, the mouse scroll wheel is used in MOI for zooming the view in and out. There isn't any way to set it to do object rotation instead of that.
It is possible to set up a shortcut key that would rotate the selected objects by one step though, would you like that? Scripts that modify objects are set up a little differently than ones that modify settings.
- Michael
From: krass
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
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)
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
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)
thanks michael, updated all 6 viewport numpad functions plus seperate "reset" view function on numpad * - its all working nicely...
Show messages:
1-2
3-22
23-29