MoI discussion forum
MoI discussion forum

Full Version: Share your MoI keyboard shortcuts

Show messages:  1-14  15-34  35-54  55-72

From: Metin Seven (METINSEVEN)
7 Nov 2016   [#35] In reply to [#34]
Hahaha, yes, and ZBrush too. :D

By the way, you can do quite nice voxel modeling using ZModeler's QMesh.
From: Metin Seven (METINSEVEN)
25 Aug 2018   [#36]
It's been quite a while since I've posted my last MoI keyboard shortcuts. I've just revised them once again. Yes, this is a never-ending quest to find my ultimate keyboard shortcuts. :)

Below is my latest update, copied from the MoI.ini configuration file. I'm looking forward to seeing your (latest) MoI keyboard shortcuts posted in this thread, thanks in advance.


[Shortcut Keys Mac]
.=ShowPoints
0=script: /* Lock selection toggle */ moi.geometryDatabase.lock();
1=Scale1D
2=Scale2D
3=script: /* Edit object name */ var pp = moi.ui.propertiesPanel; if (pp.show && pp.numSelectedObjects > 0) { pp.editName(); }
4=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();
5=script: /* Open Edit styles dialog */ var dialog = moi.ui.createDialog( 'EditStylesDialog.htm', 'resizeable,defaultWidth:380,defaultHeight:420', moi.ui.mainWindow ); dialog.window.doModal();
\;=script: /* Toggle snaps on or off */ moi.drawingAids.gridSnap = !moi.drawingAids.gridSnap; moi.drawingAids.objectSnap = moi.drawingAids.gridSnap; moi.drawingAids.straightSnap = moi.drawingAids.gridSnap;
\==IncrementalSave
A=Align
Alt+A=ArrayDir
Alt+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;
Alt+C=ArcContinue
Alt+E=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);
Alt+F=Flow
Alt+I=Intersect
Alt+M=Merge
Alt+O=Orient
Alt+P=Project
Alt+R=Revolve
Alt+S=Shell
B=Blend
Backspace=Delete
C=BlendCap
Cmd+A=script:moi.geometryDatabase.selectAll();
Cmd+C=CopyClipboard
Cmd+E=Export
Cmd+I=Import
Cmd+N=New
Cmd+O=Open
Cmd+S=Save
Cmd+V=Paste
Cmd+X=Cut
Cmd+Z=script:moi.command.undo();
Ctrl+.=ScaleIndividual
Ctrl+A=script:moi.geometryDatabase.selectAll();
Ctrl+C=CopyClipboard
Ctrl+I=script: /* Invert selection */ moi.geometryDatabase.invertSelection();
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+Numpad/=BooleanMerge
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+P=script: /* Copy PDF format to clipboard */ moi.geometryDatabase.copyToClipboardPDF();
Ctrl+R=Rebuild
Ctrl+S=Save
Ctrl+Shift+A=ArrayCircular
Ctrl+Shift+C=CloseCurve
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=moi.geometryDatabase.selectLastCreated();
LeftArrow=Nudge Left
M=Mirror
N=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 );
Numpad*=BooleanIntersection
Numpad+=BooleanUnion
Numpad,=script: /* Show all in viewports */ moi.view.resetAll();
Numpad-=BooleanDifference
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
R=Rotate
RightArrow=Nudge Right
S=Scale
Shift+.=AddPoint
Shift+A=Curve
Shift+Alt+C=CopyClipboardWithOrigin
Shift+Alt+V=PastePart
Shift+Alt+Z=script:moi.command.redo();
Shift+B=BoundingBoxCenter
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
Shift+DownArrow=Nudge Down Small
Shift+E=Ellipse
Shift+F=Chamfer
Shift+G=ExplodeMove
Shift+H=script: /* Select objects to unhide */ moi.geometryDatabase.showSubset();
Shift+I=Isocurve
Shift+J=Separate
Shift+L=Loft
Shift+LeftArrow=Nudge Left Small
Shift+M=cMorph
Shift+N=NSided
Shift+O=FatLines
Shift+P=Pipe2Thickness
Shift+PageDown=Nudge ZDown Small
Shift+PageUp=Nudge ZUp Small
Shift+R=Rectangle
Shift+RightArrow=Nudge Right Small
Shift+S=Sweep
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 );


———————

Regards,

Metin

visualization • pixel art • illustration • animation • 3D design — https://metinseven.nl
From: ariel
9 Feb 2019   [#37] In reply to [#36]
New to Moi and some of these commands/scripts have been super useful. Does anyone know the command to frame all objects in camera and also the command to frame the selection? These are 2 keys that I use all the time in Modo/Maya and miss them in Moi. thanks!
From: nameless
9 Feb 2019   [#38] In reply to [#37]
Hey Ariel,

I think this is it :

script:moi.view.resetAll();

I have set it to space and spam it all day long. One tap focuses on selection, second tap focuses on all objects.
From: ariel
9 Feb 2019   [#39] In reply to [#38]
Works great, thanks nameless! One thing: even thought it's way more useful as a new user to have both modes as a toggle for 2 different things (zoom extents all and zoom on selected), I'd still like to know if there's a way to have these as 2 separate commands because of built-in muscle memory from other apps I use.
From: nameless
9 Feb 2019   [#40]
Hey Ariel- I totally feel you about muscle memory. Unfortunately I just "parroted" a mini script that Michael had shared a while back and I ended up using, so I have no idea how you could split it to selection/all framing.
From: Michael Gibson
9 Feb 2019   [#41] In reply to [#39]
Hi ariel, there isn't currently any way to have zoom extents all and zoom on selected as separate keys. But I have added in an optional parameter so for the next v4 beta you'll be able to do script:moi.view.resetAll( 'all' ); or script:moi.view.resetAll( 'selected' ); to do that.

- Michael
From: ariel
9 Feb 2019   [#42] In reply to [#41]
Thanks Michael. Just amazing support! When is v4 coming out?
From: Michael Gibson
9 Feb 2019   [#43] In reply to [#42]
Hi ariel, well there will be a new v4 beta next week. Then there will be one more beta before the final one. I don't know exactly when the final will be finished but it's coming up.

- Michael
From: ariel
9 Feb 2019   [#44] In reply to [#43]
Awesome. Thanks again!
From: eric (ERICCLOUGH)
20 Feb 2019   [#45] In reply to [#43]
?????
eric
From: Michael Gibson
20 Feb 2019   [#46] In reply to [#45]
Hi eric, sorry for the delay - I have had to work on some business side of things the past week or so. The company that handles order processing for me is phasing out their original checkout page at the end of this month so I've had to do some work on transitioning to a new version. That has delayed me from releasing the next v4 beta a bit. It's just about ready though but there is one remaining crash bug that I would like to get fixed but it is difficult to reproduce.

- Michael
From: eric (ERICCLOUGH)
20 Feb 2019   [#47] In reply to [#46]
Thanks Michael ...
I do understand ... my car quit running yesterday and I had to cancel all my current meetings.
Stuff happens ..
cheers,
eric
From: Elang
21 Feb 2019   [#48]
What is the command for: View > Display Hidden Lines ?
I 'd like to put it in my shortcut. Thanks in advance...
From: nameless
21 Feb 2019   [#49] In reply to [#48]
Hi Elang,

I believe it's this:

script: /* Toggle hidden line display */ moi.view.showHiddenLines = !moi.view.showHiddenLines;
From: Elang
21 Feb 2019   [#50] In reply to [#49]
Hi nameless...
Yes that's the one. Thank you very much for your help !

Cheers !.. :)
From: Konni
28 Nov 2019   [#51] In reply to [#6]
Hi Marco (mkdm),
Saw your forum thread about hotkeys - and found one F9 you were explaining and did a video about.
How to make Toggle / ResetTransparentDisplay script?
I'm on Win10, Moi V4 beta.
Want to have this hotkey useful script on one Key? Is this possible?
Or two keys?
Thank you
From: mkdm
29 Nov 2019   [#52] In reply to [#51]
Hi Konni.

Well...I'm sorry but I think I didn't understand what you want to say with "Want to have this hotkey useful script on one Key? Is this possible? Or two keys?"


Anyway...if this can help I paste here the actual code of the two scripts:

Please remember that I wrote this scripts for the V3 and I don't know if they work also with V4


ToggleTransparentDisplayAutoSel.js
code:
/* Toggle Transparence Display Mode AutoSel*/
var gd = moi.geometryDatabase;
var objs = gd.getSelectedObjects();
if (objs.length == 0) {
	objs = gd.getObjects();
}

for ( var i = 0; i < objs.length; ++i ) {
	var obj = objs.item(i);
	if (!obj.hidden) {
		var dm = obj.displayMode;
		obj.displayMode = (dm == 1) ? 0 : 1;
	}
}



ResetTransparentDisplay.js
code:
/* Reset Transparence Display Mode*/
var gd = moi.geometryDatabase;
var objs = gd.getObjects();
objs.setProperty("displayMode", 0);


Hope this help. I can't do more actually. Not enough free time unfortunately :)

Have a nice day.
From: Psygorn (DRILLBIT)
4 Jan 2021   [#53]

Hello everyone, is there a way to create "multiple sequence" hot keys?

For example Imagine I want to perform "chamfer" I would press "f" so, the fillet button would be selected and by pressing "f" or "c" on keyboard either "fillet" or "chamfer" could be selected respectively.

Is it possible to have such hotkeys inside of moi? If yes, would you please guide me how I can have them?


From: Michael Gibson
4 Jan 2021   [#54] In reply to [#53]
Hi Psygorn, sorry no there currently isn't any method set up for making multi sequence shortcut keys like that. It is something that I want to add in though.

- Michael

Show messages:  1-14  15-34  35-54  55-72