MoI discussion forum
MoI discussion forum

Full Version: Share your MoI keyboard shortcuts

Show messages:  1-12  13-32  33-52  53-72  73-78

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
From: pafurijaz
22 Sep   [#77] In reply to [#73]
Nice, thanks :)
From: Metin (METIN_SEVEN)
22 Sep   [#78] In reply to [#77]
My pleasure, Pafurijaz. Nice to see you still around here too!

Show messages:  1-12  13-32  33-52  53-72  73-78