MoI discussion forum
MoI discussion forum

Full Version: Share your MoI keyboard shortcuts

Show messages:  1-16  17-36  37-56  57-76  77-78

From: MPSchmied
27 Nov 2022   [#57]
Need a Keyboard Shortcut for the command "Area" to change the view rotate midpoint. This is the most important view function for me, it should works just with Ctrl+Shift.
From: Michael Gibson
28 Nov 2022   [#58] In reply to [#57]
Hi MPSchmied, you can set up a keyboard shortcut for Zoom Area by using this for the command part of the shortcut key:

script: var v = moi.ui.getActiveViewport(); if ( v ) v.interactiveViewChange('zoomarea');

That will trigger the area zoom on the viewport that the mouse is over.

But you can't set a shortcut just for ctrl+shift on their own, those are meant to be used as modifier keys that can be used in addition to another key.

- Michael
From: mk (MARKY)
28 Nov 2022   [#59] In reply to [#58]
This is great!

Even better than Ctrl+Shift and mouse area in Rhino, because here the zoom area can be precisely selected.
From: Elang
9 Dec 2022   [#60]
Hello.

Can we assign shortcut keys for ortho view that is work vice versa?

So if I press Ctrl+Numpad1, It will go to FULL FRONT VIEW (assume that I'm not in the Front View beforehand).
If it is already in Full Front View, then it will go to FULL BACK VIEW (the exact opposite of Front View) when I press the same shortcut.
Next, if I press the same shortcut key again, it will go to FRONT VIEW again. And so on.

This will also Works for RIGHT-LEFT and TOP-BOTTOM, with different shortcut key for each.

Hope I make myself clear in this, and please pardon my English.

Thank you very much in advance for any help.

:)
From: Michael Gibson
9 Dec 2022   [#61] In reply to [#60]
Hi Elang, there are some view setting shortcut key scripts listed here:
http://moi3d.com/forum/index.php?webtag=MOI&msg=3808.2

Are any of those close to what you want?

- Michael
From: Elang
10 Dec 2022   [#62] In reply to [#61]
Hi Michael

I tried the script from your link. I expect that if i tap the hotkey, the view will be change to the opposite direction from the current one.
So if it is in Front View, then tapping the same key will bring it to the Back View. Tapping it again will bring me to the Front View. And so on.

The script is not doing that for now.

Thank you.
From: Michael Gibson
10 Dec 2022   [#63] In reply to [#62]
Hi Elang, try these ones:

Set Top/Bottom view:

script: /* Set Top/Bottom view */ var vname = 'Top'; var vp = moi.ui.mainWindow.viewpanel; if ( vp.mode.toLowerCase() != vname.toLowerCase() ) { vp.mode = vname; } else { vp.mode = vname; vp.reverseView( vname ); }

Set Front/Back view:

script: /* Set Front/Back view */ var vname = 'Front'; var vp = moi.ui.mainWindow.viewpanel; if ( vp.mode.toLowerCase() != vname.toLowerCase() ) { vp.mode = vname; } else { vp.mode = vname; vp.reverseView( vname ); }

Set Right/Left view:

script: /* Set Right/Left view */ var vname = 'Right'; var vp = moi.ui.mainWindow.viewpanel; if ( vp.mode.toLowerCase() != vname.toLowerCase() ) { vp.mode = vname; } else { vp.mode = vname; vp.reverseView( vname ); }


- Michael
From: Elang
10 Dec 2022   [#64] In reply to [#63]
It works, Michael.

Thank you very much!
From: none (EVALON)
14 Apr 2023   [#65]
Hi All,

I have a quick question that I hope one of you can help with:

Using much of the fine information in this thread I have sorted out most of my shortcut key wishes, however, I can't seem to find out what the shortcut key is for editing the "size" (x,y,z size dialog box) of a selected object. I probably have missed it but would one of you know what it is?

Best regards & wishing you a pleasant day!

Jesper
From: Frenchy Pilou (PILOU)
14 Apr 2023   [#66] In reply to [#65]
Scale, Scale1D, Scale2D ;)

http://moi3d.com/4.0/docs/moi_command_reference11.htm#shortcutkeys

But for that you want exactly no need shortcut it's direct! :)


From: none (EVALON)
14 Apr 2023   [#67] In reply to [#66]
Hi Pilou,

& thanks for your feedback ;-) ... However, I am not sure we are thinking about the same - at least when I insert e.g. Shift+Q=Scale(1D, or 2D) into the Shortcut keys list something else than what I was intending seems to happen ..

Just to clarify: In the "properties panel" description in this link: http://moi3d.com/4.0/docs/moi_command_reference11.htm#shortcutkeys (approximately half way down the page) I would like #4, i.e. the "Edit Size" dialog to open up so that the "cursor" is immediately placed e.g. in the x-axis size dialog box. I hope this make sense ... ? BTW I use the MOI3D V3 version - maybe that makes a difference?

Cheers,

Jesper
From: Michael Gibson
14 Apr 2023   [#68] In reply to [#67]
Hi Jesper, see here for a script that you can put on a shortcut key for opening up the edit size menu:
http://moi3d.com/forum/index.php?webtag=MOI&msg=10769.2

- Michael
From: none (EVALON)
16 Apr 2023   [#69] In reply to [#68]
Hi Michael,

& thanks for your prompt & helpful reply ;-)

However, when I try your script I get an error message saying that " Typeerror: Result of expression 'moi.ui.findElement' [undefined] is not a function. " ... I have attached a screendump of what the moi.ini looks like an the error message. Maybe I need to change something somewhere to make it work ... ?

Cheers, Jesper

Image Attachments:
Moi3D.jpg 


From: Michael Gibson
16 Apr 2023   [#70] In reply to [#69]
Hi Jesper,

re:
> However, when I try your script I get an error message saying that " Typeerror: Result
> of expression 'moi.ui.findElement' [undefined] is not a function. "

The script uses some infrastructure that was added in MoI version 4, but you're using MoI version 3, so that's the problem.

Try this instead, it should work ok in v3:

script: /* Show edit size menu */ moi.ui.showMenu( 'EditSizeMenu.htm', moi.ui.sidePane.PropSizeContainer, 0, 0 );

- Michael
From: none (EVALON)
16 Apr 2023   [#71]
Hi Michael,

Thanks again for helping out with this - I have copied the script to my .ini list and it works fine! ... Much appreciated ;-)

Jesper
From: pafurijaz
21 Apr 2023   [#72]
This topic saved my life..
Now I works too fast, thanks to all!
From: Metin (METIN_SEVEN)
22 Sep   [#73]
Recently reinstalled MoI after moving back to a Mac, and revised my keyboard shortcuts, with an emphasis on interoperability with Blender.

Here's my new list of keyboard shortcuts for commands and scripts. Some commands require a plugin or script to run. A search on this forum usually suffices to find the plugin or script.

You can copy the list (or parts of it) into your MoI.ini text file, under the [Shortcut Keys] section.
Keep in mind that I'm using a Mac keyboard, which has some differences with a Windows / Linux PC keyboard. For example, a Mac keyboard includes a Command key.
If you've switched between PC and Mac, like I did, your MoI.ini file might have two Shortcut Keys sections: [Shortcut Keys] and [Shortcut Keys Mac]. This can be confusing, so if you're currently using a PC, I'd advise to remove the [Shortcut Keys Mac] section, and if you're using a Mac, remove the [Shortcut Keys] section.

In case there are better / newer commands or scripts that could replace entries from my list, I would much appreciate it if you'd let me know, thanks in advance…

[Shortcut Keys Mac]
-=script: /* Select edges v1.4 */ var gd=moi.geometryDatabase, so=gd.getSelectedObjects(); function ss(o,v){o.setProperty("selected",v)} function sl(o){ for ( var i=0; i<o.length; ++i ) o.item(i).getEdges().invertProperty("selected");} gd.selectLoop(); sl(so.getFaces()); sl(so.getSolids()); sl(so.getOpenBReps()); sl(so.getSingleFaceBReps()); ss(so.getBReps(),0); ss(so.getFaces(),0);
0=script: /* Edge loop selection */ moi.geometryDatabase.selectLoop();
1=Scale1D
2=Scale2D
3=Scale
4=ScaleIndividual
5=script: /* Lock selection toggle */ moi.geometryDatabase.lock();
7=moi.geometryDatabase.selectLastCreated();
8=NamedView
\;=script: /* Toggle snaps on or off */ moi.drawingAids.gridSnap = !moi.drawingAids.gridSnap; moi.drawingAids.objectSnap = moi.drawingAids.gridSnap; moi.drawingAids.straightSnap = moi.drawingAids.gridSnap;
\==script: /* Select naked edges (open borders) */ var gd = moi.geometryDatabase; gd.deselectAll(); var breps = gd.getObjects().getBreps(); for ( var i = 0; i < breps.length; ++i ) breps.item(i).getNakedEdges().setProperty( 'selected', true );
\\=script: /* Edit object name */ var pp = moi.ui.propertiesPanel; if (pp.show && pp.numSelectedObjects> 0) { pp.editName(); }
`=ShowPoints
A=ArrayDir
Alt+A=ArrayCircular
Alt+B=BoundingBoxCenter
Alt+C=Cylinder
Alt+Cmd+C=CopyClipboardWithOrigin
Alt+Cmd+S=IncrementalSave
Alt+D=DistortCurves
Alt+F=Chamfer
Alt+G=CenterAtOrigin
Alt+H=script: /* Select objects to unhide */ moi.geometryDatabase.showSubset();
Alt+J=Separate
Alt+M=Merge
Alt+Numpad/=BooleanMerge
Alt+O=Orient
Alt+P=Pipe2Thickness
Alt+Q=script: /* Reset CPlane to default */ moi.view.resetCPlane();
Alt+R=Revolve
Alt+S=Shell
Alt+T=Twist
Alt+Z=script: /* Toggle hidden lines */ moi.view.showHiddenLines =! moi.view.showHiddenLines;
B=Blend
Backspace=Delete
C=BlendCap
Cmd+A=script:moi.geometryDatabase.selectAll();
Cmd+C=CopyClipboard
Cmd+E=Export
Cmd+I=script: /* Invert selection */ moi.geometryDatabase.invertSelection();
Cmd+N=New
Cmd+O=Open
Cmd+P=script: /* Copy PDF format to clipboard */ moi.geometryDatabase.copyToClipboardPDF();
Cmd+R=Rebuild
Cmd+S=Save
Cmd+V=Paste
Cmd+X=Cut
Cmd+Z=script:moi.command.undo();
Ctrl+\\=script: /* Open Edit styles dialog */ var dialog = moi.ui.createDialog( 'EditStylesDialog.htm', 'resizeable,defaultWidth:380,defaultHeight:420', moi.ui.mainWindow ); dialog.window.doModal();
Ctrl+A=script:moi.geometryDatabase.selectAll();
Ctrl+Alt+R=Randomize
Ctrl+B=script: /* Toggle background image on or off */ var images = moi.view.getBackgroundImages(); for ( var i = 0; i < images.length; ++i ) images.item(i).hidden = !images.item(i).hidden;
Ctrl+C=CopyClipboard
Ctrl+G=Group
Ctrl+N=New
Ctrl+Numpad+=script: /* Expand selection 1.0 */ function es(edg){ var i,f; for (i=0; i<edg.length; i++) {f=edg.item(i).getFacesOfEdge(); f.setProperty('selected',1);}} var so = moi.geometryDatabase.getSelectedObjects(), sf=so.getFaces(), i; for ( i=0; i<sf.length;i++) es(sf.item(i).getEdges()); es(so.getEdges());
Ctrl+Numpad-=script: /* Shrink selection 1.0 */ function es(edg){ var i,f; for (i=0; i<edg.length; i++) {f=edg.item(i).getFacesOfEdge(); f.setProperty('selected',0);}} var gd = moi.geometryDatabase; gd.invertSelection(); var so = gd.getSelectedObjects(), sf=so.getFaces(), i; gd.invertSelection(); for ( i=0; i<sf.length;i++) es(sf.item(i).getEdges());
Ctrl+Numpad1=script: /* Back view */ var vname = 'Back'; var vp = moi.ui.mainWindow.viewpanel; vp.mode = vname; if ( vp.getViewport(vname).name != vname ) vp.reverseView( vname );
Ctrl+Numpad3=script: /* Left view */ var vname = 'Left'; var vp = moi.ui.mainWindow.viewpanel; vp.mode = vname; if ( vp.getViewport(vname).name != vname ) vp.reverseView( vname );
Ctrl+Numpad7=script: /* Bottom view */ var vname = 'Bottom'; var vp = moi.ui.mainWindow.viewpanel; vp.mode = vname; if ( vp.getViewport(vname).name != vname ) vp.reverseView( vname );
Ctrl+O=Open
Ctrl+R=Isocurve
Ctrl+S=Save
Ctrl+Shift+A=Align
Ctrl+Shift+B=Image
Ctrl+Shift+C=CopyClipboardWithOrigin
Ctrl+Shift+O=script: /* Open most recent file */ var Files = moi.ui.getRecentFiles(); if ( Files.length> 0 ) { var LastFile = Files.item(Files.length-1); var FileName = LastFile.item(2); var Options = LastFile.item(3); moi.command.execCommand( 'open ' + FileName + Options ); }
Ctrl+Shift+R=RailRevolve
Ctrl+Shift+V=PastePart
Ctrl+V=Paste
Ctrl+X=Cut
Ctrl+Y=script:moi.command.redo();
Ctrl+Z=script:moi.command.undo();
D=DelCorners
Delete=Delete
DownArrow=Nudge Down
E=Extrude
F=Fillet
F1=script:moi.launchHelp();
G=Move
H=script: /* Hide selection */ moi.geometryDatabase.hide();
Home=script: /* Show all in viewports */ moi.view.resetAll();
I=Inset
J=Join
L=Loft
LeftArrow=Nudge Left
M=Mirror
N=Nsided
Numpad*=BooleanIntersection
Numpad+=BooleanUnion
Numpad-=BooleanDifference
Numpad.=script: /* Show all in viewports */ moi.view.resetAll();
Numpad/=script: /* Isolate selection */ moi.geometryDatabase.isolate();
Numpad0=script: /* 3D view (perspective or isometric) */ moi.ui.mainWindow.viewpanel.mode = '3D';
Numpad1=script: /* Front view */ var vname = 'Front'; var vp = moi.ui.mainWindow.viewpanel; vp.mode = vname; if ( vp.getViewport(vname).name != vname ) vp.reverseView( vname );
Numpad3=script: /* Right view */ var vname = 'Right'; var vp = moi.ui.mainWindow.viewpanel; vp.mode = vname; if ( vp.getViewport(vname).name != vname ) vp.reverseView( vname );
Numpad5=script: /* Toggle between Parallel and Perspective view */ var vp = moi.ui.mainWindow.viewpanel.getViewport('3D'); vp.projection = (vp.projection == 'Perspective' ? 'Parallel': 'Perspective');
Numpad7=script: /* Top view */ var vname = 'Top'; var vp = moi.ui.mainWindow.viewpanel; vp.mode = vname; if ( vp.getViewport(vname).name != vname ) vp.reverseView( vname );
O=Offset
P=PlanarSrf
PageDown=Nudge ZDown
PageUp=Nudge ZUp
Q=script: /* Align CPlane with 3D view 1.0 */ var cp=moi.view.getCPlane(), tp=moi.ui.mainWindow.viewpanel.getViewport('3D').targetFrame, tl=moi.VectorMath.pointsWithinTolerance; if (tl(cp.origin,tp.origin) && tl(cp.zaxis,tp.zaxis)) { moi.view.resetCPlane() } else {moi.view.setCPlane(tp, false)}
R=Rotate
RightArrow=Nudge Right
S=Sweep
Shift+3=script: /* Show edit size menu */ moi.ui.showMenu( 'EditSizeMenu.htm', moi.ui.findElement('PropSizeContainer'), 0, 0 );
Shift+\\=script: /* Open Add New Style dialog */ var gd = moi.geometryDatabase; gd.styleEditorOpened(); var dialog = moi.ui.createDialog( 'EditStyleDialog.htm?titleid=Add style dialog title&index=-1', '', moi.ui.mainWindow ); if ( dialog.window.doModal() != -1 ) { var styles = gd.getObjectStyles(); if ( styles.length> 0 ) moi.ui.propertiesPanel.editStyleIndex( styles.length - 1 ); } gd.styleEditorClosed();
Shift+`=AddPoint
Shift+A=Curve
Shift+Alt+Z=script: /* Toggle grid and axis lines */ moi.grid.display=!moi.grid.display; moi.grid.showXYAxes=moi.grid.display
Shift+B=Box
Shift+Backspace=RemoveAndFill
Shift+C=Circle
Shift+Cmd+C=CopyClipboardWithOrigin
Shift+Cmd+S=SaveAs
Shift+Cmd+V=PastePart
Shift+Cmd+Z=script:moi.command.redo();
Shift+D=Copy boundingboxcenter
Shift+Delete=RemoveAndFill
Shift+DownArrow=Nudge Down Small
Shift+E=Ellipse
Shift+F=Flow
Shift+G=ExplodeMove
Shift+J=ShrinkTrimmedSrf
Shift+LeftArrow=Nudge Left Small
Shift+M=cMorph
Shift+N=Network
Shift+O=FatLines
Shift+P=Plane
Shift+PageDown=Nudge ZDown Small
Shift+PageUp=Nudge ZUp Small
Shift+Q=script: /* CPlane */ moi.view.setCPlaneInteractive();
Shift+R=Rectangle
Shift+RightArrow=Nudge Right Small
Shift+S=Sphere
Shift+U=Arc3pt
Shift+UpArrow=Nudge Up Small
Shift+Z=script: /* Toggle edge display */ var breps = moi.geometryDatabase.getObjects().getBReps(); var hide = true; for ( var i = 0; i < breps.length; ++i ) { var edges = breps.item(i).getEdges(); if ( i == 0 ) hide = !edges.item(0).hidden; edges.setProperty( 'hidden', hide ); }
Space=script: /* Toggle quad view */ if ( moi.ui.mainWindow.viewpanel.mode != 'split' ) { moi.ui.mainWindow.viewpanel.mode = 'split' } else { var viewport = moi.ui.getViewportUnderMouse(); if ( viewport ) { viewport.viewPanel.mode = viewport.name } }
T=Trim
U=UnwrapCurve
UpArrow=Nudge Up
X=Delete
Z=script: /* Toggle visibility of all curves */ var objs = moi.geometryDatabase.getObjects().getCurves(); var ishidden = objs.length> 0 ? objs.item(0).hidden : false; objs.setProperty( 'hidden', !ishidden );

─ Metin

visualizer • illustrator • 3D designer — metinseven.nl
From: Frenchy Pilou (PILOU)
22 Sep   [#74]
@ Metin Some useful for fan or Mac, Pc, Blender!

Personnaly i have only 5 shortcuts ...for make Subdivision inside Moi! :)
More is out of the possibility of my own old memory!
K : _subdiv_beta9
B : _sbridge
E : Extrude
P : _ssplit
S : _sscale






From: Metin (METIN_SEVEN)
22 Sep   [#75] In reply to [#74]
Nice, Pilou! I need to explore subdivision modeling MoI as well. Am used to it in polygon-based editors like Blender, but forget it's also possible in MoI.
From: Frenchy Pilou (PILOU)
22 Sep   [#76] In reply to [#75]
Sure it's so more rustic than Blender...but...
So don't miss this thread! ;)
https://moi3d.com/forum/index.php?webtag=MOI&msg=9689.1

PS you have also a free one (French at the start) some capable : Hexagon
https://www.daz3d.com/hexagon-3d-modeling-free

Show messages:  1-16  17-36  37-56  57-76  77-78