Share your MoI keyboard shortcuts
 1-20  21-40  41-60  61-72

Previous
Next
 From:  mkdm
8123.21 In reply to 8123.20 
Thanks a lot Michael for your technical info. Much appreciated!

- Marco (mkdm)
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Metin Seven (METINSEVEN)
8123.22 In reply to 8123.13 
Thanks for sharing your keyboard shortcuts, Shayne! This thread offers an interesting peek into the workflow of different MoI users. I hope there's more to come.

Have a nice weekend y'all.

— Metin

———————

metinseven.com — 3D (print) models • animation • characters • icons • illustration • infographics • visualization

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  ndrakey
8123.23 
Been experimenting with Hotkeys for a long time.
Im a Softimage XSI user and tried to transfer all of my Shortkeys from Softimage to Moi3D
Im still working on placing them for best hand convenience.

[Shortcut Keys]
,=Komma ist noch nicht belegt ----------------------------------------
-=Bindestrich ist noch nicht belegt -------------------------------merge verbindet kurven(braucht man das?------
.=script:moi.geometryDatabase.lock();
1=shrinktrimmedsrf
2=Image
3=$unicode$007300630072006900700074003A0020002F002A0020004300610063006800650020006C006500730020006F0062006A0065007400730020007300E9006C0065006300740069006F006E006E00E900730020002B0020007300740079006C00650020003D0020006300610063006800E90020002A002F00200076006100720020006700640020003D0020006D006F0069002E00670065006F006D006500740072007900440061007400610062006100730065003B00200076006100720020007300740079006C006500730020003D002000670064002E006700650074004F0062006A006500630074005300740079006C0065007300280029003B00200076006100720020007300690020003D0020002D0031003B00200066006F0072002000280020007600610072002000690020003D00200030003B002000690020003C0020007300740079006C00650073002E006C0065006E006700740068003B0020002B002B0069002000290020007B002000690066002000280020007300740079006C00650073002E006900740065006D002800690029002E006E0061006D0065002E00730065006100720063006800280020002F00680069006400640065006E002F00690020002900200021003D0020002D0031002000290020007300690020003D00200069003B0020007D002000690066002000280020007300690020003D003D0020002D0031002000290020007B00200076006100720020007300740079006C00650020003D002000670064002E006100640064005300740079006C006500280029003B0020007300740079006C0065002E006E0061006D00650020003D0020002700480069006400640065006E0027003B0020007300690020003D0020007300740079006C0065002E0069006E006400650078003B0020007D00200076006100720020006F0062006A00650063007400730020003D002000670064002E00670065007400530065006C00650063007400650064004F0062006A006500630074007300280029003B0020006F0062006A0065006300740073002E00730065007400500072006F00700065007200740079002800200027007300740079006C00650049006E0064006500780027002C00200073006900200029003B0020006F0062006A0065006300740073002E00730065007400500072006F0070006500720074007900280020002700680069006400640065006E0027002C0020007400720075006500200029003B
4=script:/* repasse en Vue Perspective*/var vp = moi.ui.mainWindow.viewpanel.getViewport('3D'); vp.projection = 'Perspective';
5=$unicode$007300630072006900700074003A002F002A0020007600750065002000440069006D00E90074007200690071007500650020002A002F0076006100720020007600700020003D0020006D006F0069002E00750069002E006D00610069006E00570069006E0064006F0077002E007600690065007700700061006E0065006C002E00670065007400560069006500770070006F00720074002800270033004400270029003B002000760070002E00700072006F006A0065006300740069006F006E0020003D002000270050006100720061006C006C0065006C0027003B0020007600610072002000610073003100330020003D0020004D006100740068002E006100730069006E00280031002F00330029003B002000760070002E0073006500740041006E0067006C0065007300280020003900300020002D00200028004D006100740068002E006100730069006E0028004D006100740068002E00740061006E00280061007300310033002900290020002A0020003100380030002F004D006100740068002E005000490029002C002000610073003100330020002A0020003100380030002F004D006100740068002E0050004900200029003B
6=$unicode$007300630072006900700074003A002F002A0020005600750065002000490073006F006D00E9007400720069007100750065002A002F0076006100720020007600700020003D0020006D006F0069002E00750069002E006D00610069006E00570069006E0064006F0077002E007600690065007700700061006E0065006C002E00670065007400560069006500770070006F00720074002800270033004400270029003B002000760070002E00700072006F006A0065006300740069006F006E0020003D002000270050006100720061006C006C0065006C0027003B002000760070002E0073006500740041006E0067006C0065007300280020003900300020002D00200028004D006100740068002E006100730069006E0028004D006100740068002E00740061006E0028003300300020002A0020004D006100740068002E00500049002F003100380030002900290020002A0020003100380030002F004D006100740068002E005000490029002C00200034003500200029003B
7=_cMorph
8=Align VerticalCenter
9=Align HorizontalCenter
Alt+1=DelCorners
Alt+2=AddPoint
Alt+B=PlanarSrf
Alt+E=Rectangle
Alt+G=script:moi.drawingAids.gridSnap = !moi.drawingAids.gridSnap;
Alt+H=script: /*! Show subset of hidden objects --- Ctrl+Space*/ moi.geometryDatabase.showSubset();
Alt+I=$unicode$007300630072006900700074003A0020002F002A0020004D006F006E0074007200650020004300F4007400E9007300200069006E0063006F006D0070006C0065007400730020002A002F00200076006100720020006700640020003D0020006D006F0069002E00670065006F006D006500740072007900440061007400610062006100730065003B002000670064002E0064006500730065006C0065006300740041006C006C00280029003B00200076006100720020006200720065007000730020003D00670064002E006700650074004F0062006A006500630074007300280029002E0067006500740042007200650070007300280029003B00200066006F0072002000280020007600610072002000690020003D00200030003B002000690020003C002000620072006500700073002E006C0065006E006700740068003B0020002B002B006900200029002000620072006500700073002E006900740065006D002800690029002E006700650074004E0061006B006500640045006400670065007300280029002E00730065007400500072006F0070006500720074007900280020002700730065006C006500630074006500640027002C0020007400720075006500200029003B
Alt+K=script: /* Hide seam edges */ var breps = moi.geometryDatabase.getObjects().getBReps(); for ( var i = 0; i < breps.length; ++i ) breps.item(i).getSeamEdges().setProperty( 'hidden', false );
Alt+O=Ist noch nicht belefgt-------------------------------------------------------
Alt+P=Ist noch nicht belegt -------------------------------------------------------
Alt+T=Text
Alt+X=script:moi.view.useThinAntiAliasing = !moi.view.useThinAntiAliasing;
B=$unicode$007300630072006900700074003A0020002F002A0020007300E9006C0065006300740069006F006E0020006400650020006C006100200070006C007500730020006C006F006E00670075006500200063006F00750072006200650020002A002F002000760061007200200063007500720076006500730020003D0020006D006F0069002E00670065006F006D006500740072007900440061007400610062006100730065002E006700650074004F0062006A006500630074007300280029002E00670065007400430075007200760065007300280029003B00200076006100720020006D00610078006C0065006E0020003D0020002D0031003B00200076006100720020006D006100780063007200760020003D0020006E0075006C006C003B00200066006F0072002000280020007600610072002000690020003D00200030003B002000690020003C0020006300750072007600650073002E006C0065006E006700740068003B0020002B002B0069002000290020007B002000760061007200200063007200760020003D0020006300750072007600650073002E006900740065006D002800690029003B002000690066002000280020006300720076002E00680069006400640065006E0020007C007C0020006300720076002E006C006F0063006B00650064002000290020007B00200063006F006E00740069006E00750065003B0020007D002000760061007200200074006800690073006C0065006E0020003D0020006300720076002E006700650074004C0065006E00670074006800280029003B0020006900660020002800200074006800690073006C0065006E003E0020006D00610078006C0065006E002000290020007B0020006D00610078006C0065006E0020003D00200074006800690073006C0065006E003B0020006D006100780063007200760020003D0020006300720076003B0020007D0020007D002000690066002000280020006D0061007800630072007600200021003D0020006E0075006C006C002000290020006D00610078006300720076002E00730065006C006500630074006500640020003D00200074007200750065003B
Backspace=Backspace Ist noch nicht belegt--------------------------------
C=Rotate
Ctrl+1=BooleanUnion
Ctrl+2=BooleanDifference
Ctrl+3=BooleanMerge
Ctrl+4=BooleanIntersection
Ctrl+6=script: /* Opens Lighting Options Dialog */ moi.ui.createDialog( 'moi://ui/LightingOptions.htm' );
Ctrl+A=script:moi.geometryDatabase.selectAll();
Ctrl+Alt+5=Mirror
Ctrl+Alt+7=/* zuletzt erstellte objekte auswaehlen */ script:var a = moi.command.lastCommandRevisionStart; var b = moi.command.lastCommandRevisionEnd; var objects = moi.geometryDatabase.getObjects(); for ( var i = 0; i < objects.length; ++i ) { var obj = objects.item(i); if ( obj.databaseRevision> a && obj.databaseRevision <= b ) obj.selected = true; }
Ctrl+Alt+8=script: /* switch selection from selected faces to edges on those faces adjacent to unselected faces */ var gd = moi.geometryDatabase; var seledges = moi.geometryDatabase.createObjectList(); var faces = gd.getSelectedObjects().getFaces(); for ( var i = 0; i < faces.length; ++i ) { var edges = faces.item(i).getEdges(); for ( var j = 0; j < edges.length; ++j ) { var edge = edges.item(j); var allselected = true; var facesofedge = edge.getFacesOfEdge(); for ( var k = 0; k < facesofedge.length; ++k ) { if ( !facesofedge.item(k).selected ) { allselected = false; } } if ( !allselected || facesofedge.length == 1 ) { seledges.addObject( edge ); } } } gd.deselectAll(); seledges.setProperty( 'selected', true );
Ctrl+Alt+9=script:var gd = moi.geometryDatabase; var faces = gd.getSelectedObjects().getFaces(); gd.deselectAll(); for ( var i = 0; i < faces.length; ++i ) faces.item(i).getEdges().setProperty( 'selected', true );
Ctrl+Alt+E=boxcenter
Ctrl+Alt+F=Fullscreen
Ctrl+Alt+G=script:moi.drawingAids.straightSnap = !moi.drawingAids.straightSnap;
Ctrl+Alt+H=Separate
Ctrl+Alt+Q=script: /*! Show/Hide edges --- H*/ 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 ); }
Ctrl+Alt+R=Sphere
Ctrl+Alt+T=Cylinder
Ctrl+Alt+W=moi.geometryDatabase.isolate();
Ctrl+B=ConvertFaceToCurve
Ctrl+C=rotateAxis
Ctrl+D=ArrayCircular
Ctrl+DownArrow=Nudge ZDown
Ctrl+E=box
Ctrl+G=script:moi.view.resetCPlane();
Ctrl+I=_importObj
Ctrl+N=New
Ctrl+O=Open
Ctrl+R=/* Alle Kurven auswaehlen */ script:moi.geometryDatabase.getObjects().getCurves().setProperty( 'selected', true );
Ctrl+S=IncrementalSave
Ctrl+Shift+1=Polyline
Ctrl+Shift+2=Arc3pt
Ctrl+Shift+3=noch nicht belegt... hier war trim----------------------------------------------------------------------------
Ctrl+Shift+4=Sketchcurve
Ctrl+Shift+A=script:moi.geometryDatabase.deselectAll();
Ctrl+Shift+Alt+A=Shell
Ctrl+Shift+Alt+E=RectCenter
Ctrl+Shift+Alt+G=script:var x = moi.drawingAids.straightSnap; moi.drawingAids.straightSnap = !x; moi.drawingAids.objectSnap = x;
Ctrl+Shift+Alt+Q=script:moi.view.showHiddenLines =! moi.view.showHiddenLines;
Ctrl+Shift+Alt+R=Circle
Ctrl+Shift+C=CopyClipboardWithOrigin
Ctrl+Shift+G=script:moi.drawingAids.objectSnap = !moi.drawingAids.objectSnap;
Ctrl+Shift+H=script:moi.geometryDatabase.getObjects().getBReps().setProperty( 'hidden', true );
Ctrl+Shift+V=PastePart
Ctrl+Space=noch nicht belegt -------------------------------------------------------------
Ctrl+T=/* Kurven auswaehlen die offen sind */script:var curves = moi.geometryDatabase.getObjects().getCurves(); for ( var i = 0; i < curves.length; ++i ) if ( !curves.item(i).isClosed ) curves.item(i).selected = true;
Ctrl+UpArrow=Nudge zUp
Ctrl+V=Paste
Ctrl+X=Scale1D
Ctrl+Y=script:moi.command.redo();
Ctrl+Z=script:moi.command.undo();
D=ArrayGem
Delete=Delete
DownArrow=Nudge Down
E=ist noch nicht belegt
F=script:moi.ui.getActiveViewport().reset();
F1=script:moi.launchHelp();
F10=moi.ui.mainWindow.viewpanel.mode = '3D';
F11=moi.ui.mainWindow.viewpanel.mode = 'Split';
F12=script: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 } }
F2=script: /* Set lighting options for Showroom Shine */ var v = moi.view; v.lightingStyle = 'LessFill'; v.specularHighlights = true; v.specularBrightness = 0.3; v.specularFocusSize = 1.0; v.metallicLighting = true; v.fixedLightPositions = true; v.customKeyLightLevel = 0.0; v.customFillLightLevel = 0.0;
F3=script: /* Set lighting options for Wax */ var v = moi.view; v.lightingStyle = 'CustomLevels'; v.specularHighlights = true; v.specularBrightness = 0.9; v.specularFocusSize = 1.5; v.metallicLighting = false; v.fixedLightPositions = true; v.customKeyLightLevel = 0.08; v.customFillLightLevel = 0.982;
F4=script: /* Set lighting options for Wetsuit */ var v = moi.view; v.lightingStyle = 'Hemispheric'; v.specularHighlights = true; v.specularBrightness = 0.19; v.specularFocusSize = 1.5; v.metallicLighting = false; v.fixedLightPositions = true; v.customKeyLightLevel = 0.0; v.customFillLightLevel = 0.0;
F5=script: /* Set lighting options for Enamel */ var v = moi.view; v.lightingStyle = 'CustomLevels'; v.specularHighlights = true; v.specularBrightness = 0.37; v.specularFocusSize = 0.89; v.metallicLighting = false; v.fixedLightPositions = false; v.customKeyLightLevel = 1.0; v.customFillLightLevel = 0.14;
F6=script: /* Set lighting options for Clear Coat */ var v = moi.view; v.lightingStyle = 'CustomLevels'; v.specularHighlights = true; v.specularBrightness = 0.17; v.specularFocusSize = 1.0; v.metallicLighting = false; v.fixedLightPositions = true; v.customKeyLightLevel = -1.0; v.customFillLightLevel = 2.0;
F7=moi.ui.mainWindow.viewpanel.mode = 'top'
F8=moi.ui.mainWindow.viewpanel.mode = 'Right';
F9=moi.ui.mainWindow.viewpanel.mode = 'Front';
G=script:moi.grid.display = !moi.grid.display; moi.grid.showXYAxes = moi.grid.display;
H=script:moi.geometryDatabase.hide();
I=script: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 );
J=script:var a = moi.command.lastCommandRevisionStart; var b = moi.command.lastCommandRevisionEnd; var objects = moi.geometryDatabase.getObjects(); for ( var i = 0; i < objects.length; ++i ) { var obj = objects.item(i); if ( obj.databaseRevision> a && obj.databaseRevision <= b ) obj.selected = true; }
K=script: /* Hide seam edges */ var breps = moi.geometryDatabase.getObjects().getBReps(); for ( var i = 0; i < breps.length; ++i ) breps.item(i).getSeamEdges().setProperty( 'hidden', true );
L=script:var dir = moi.view.lightDirection; if ( dir.x == 1 && dir.y == 1 && dir.z == -1 ) { dir.set(-0.5,1,0); } else { dir.set(1,1,-1); } moi.view.lightDirection = dir;
LeftArrow=Nudge Left
P=project
Q=script:moi.ui.getActiveViewport().interactiveViewChange('zoomarea');
RightArrow=Nudge Right
Shift+1=join
Shift+2=Merge
Shift+3=Blend
Shift+4=Loft
Shift+5=/*Loop selection*/script:moi.geometryDatabase.selectLoop();
Shift+6=/*! Select edge loop --- L*/ var gd = moi.geometryDatabase; function sl(o) { for ( var i = 0; i < o.length; ++i ) { o.Item(i).selected = 0; var e=o.Item(i).getEdges(); for ( var j = 0; j < e.length; ++j ) e.Item(j).selected = !e.Item(j).selected;}} gd.selectLoop(); var so = gd.getSelectedObjects(); var e = so.getEdges(); sl(so.getFaces()); sl(so.getSolids()); so.getBReps().setProperty('selected',0); e.setProperty('selected',1);
Shift+7=ExplodeMove
Shift+A=script: 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());
Shift+Alt+A=Offset
Shift+Alt+B=Trim
Shift+Alt+C=CopyClipboard
Shift+A
…[Message Truncated]

View full message.

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  mkdm
8123.24 In reply to 8123.23 
Hi ndrakey,

And thanks for sharing.

Just some questions...

Your config appears a little bit messy.
What are these long $unicode characters sequences ?
Maybe something went wrong with copy/paste ?

Very interesting the shortcut "K=script: /* Hide seam edges *". In which situations do you use it ?

Best,

- Marco (mkdm)
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  ndrakey
8123.25 In reply to 8123.24 
I couldnt post the my whole config due to the character limitation.
the Hide Seam function was added before i knew there was a script that could toggle between edge visibility:

script: /*! Show/Hide edges --- H*/ 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 ); }

I dont use the hide seam function as the script does almost the same.
Think I should throw this one out but it`s hard for me to let things go :))
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
8123.26 In reply to 8123.24 
Hi Marco, re: $unicode entries - those will happen if the shortcut key contains any non-ascii characters in it, this is kind of a holdover from supporting having the .ini file as an ascii file rather than as a unicode encoded text file, which is what Windows just decides to create when you use Windows API functions to generate the file. I'm not using those APIs anymore in MoI v4 so I could change this more easily in v4 to write real unicode characters in there, but it doesn't really come up very often.

- Michael

EDITED: 14 Oct 2016 by MICHAEL GIBSON

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  mkdm
8123.27 In reply to 8123.26 
Hi Michael,

Yes, this is the "longstanding problem" of unicode in INI files.

But in general I think that it's not a good idea the attempt of incorporating non ascii data in INI file.
INI files are evergreen plain ascii and they should stay this way. :)

- Marco (mkdm)
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Metin Seven (METINSEVEN)
8123.28 
Because my head was spinning of all the keyboard shortcuts I have to remember between Blender, ZBrush and MoI, I decided to reduce my Moi.ini keyboard shortcuts to mainly the scripts and commands that are not part of the standard MoI interface. This makes it a lot easier to assign and remember keyboard shortcuts. The other commands I simply activate in the UI using my tablet pen, as the MoI interface is very convenient for that workflow.

Here we go again:

[Shortcut Keys]
/=script: /* Isolate selection */ moi.geometryDatabase.isolate();
0=script: /* 3D view (perspective or isometric) */ moi.ui.mainWindow.viewpanel.mode = '3D';
1=script: /* Front view */ var vname = 'Front'; var vp = moi.ui.mainWindow.viewpanel; vp.mode = vname; if ( vp.getViewport(vname).name != vname ) vp.reverseView( vname );
3=script: /* Right view */ var vname = 'Right'; var vp = moi.ui.mainWindow.viewpanel; vp.mode = vname; if ( vp.getViewport(vname).name != vname ) vp.reverseView( vname );
5=script: /* Toggle between Parallel and Perspective view */ var vp = moi.ui.mainWindow.viewpanel.getViewport('3D'); vp.projection = (vp.projection == 'Perspective' ? 'Parallel': 'Perspective');
7=script: /* Top view */ var vname = 'Top'; var vp = moi.ui.mainWindow.viewpanel; vp.mode = vname; if ( vp.getViewport(vname).name != vname ) vp.reverseView( vname );
B=BoundingBoxCenter
Backspace=Delete
C=moi.geometryDatabase.selectLastCreated();
Cmd+A=script:moi.geometryDatabase.selectAll();
Cmd+C=CopyClipboard
Cmd+I=script: /* Invert selection */ moi.geometryDatabase.invertSelection();
Cmd+N=New
Cmd+O=Open
Cmd+S=Save
Cmd+V=Paste
Cmd+X=Cut
Cmd+Z=script:moi.command.undo();
Ctrl+1=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+3=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+7=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+A=script:moi.geometryDatabase.selectAll();
Ctrl+C=CopyClipboard
Ctrl+N=New
Ctrl+O=Open
Ctrl+S=Save
Ctrl+Shift+C=CopyClipboardWithOrigin
Ctrl+Shift+S=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+Shift+V=PastePart
Ctrl+Shift+X=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+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=script: /*Edge loop selection*/ moi.geometryDatabase.selectLoop();
F=FatLines
F1=script:moi.launchHelp();
G=script: /* Toggle grid and axis lines */ moi.grid.display=!moi.grid.display; moi.grid.showXYAxes=moi.grid.display
H=script: /* Hide selection */ moi.geometryDatabase.hide();
I=ScaleIndividual
L=script: /* Lock selection toggle */ moi.geometryDatabase.lock();
LeftArrow=Nudge Left
M=ExplodeMove
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 );
P=script: /* Copy PDF format to clipboard */ moi.geometryDatabase.copyToClipboardPDF();
PageDown=Nudge ZDown
PageUp=Nudge ZUp
R=Rebuild
RightArrow=Nudge Right
S=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+Cmd+C=CopyClipboardWithOrigin
Shift+Cmd+S=SaveAs
Shift+Cmd+V=PastePart
Shift+Cmd+Z=script:moi.command.redo();
Shift+D=DistortCurves
Shift+DownArrow=Nudge Down Small
Shift+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);
Shift+H=script: /* Select objects to unhide */ moi.geometryDatabase.showSubset();
Shift+LeftArrow=Nudge Left Small
Shift+PageDown=Nudge ZDown Small
Shift+PageUp=Nudge ZUp Small
Shift+R=Randomize
Shift+RightArrow=Nudge Right Small
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 } }
U=UnwrapCurve
UpArrow=Nudge Up
W=script: /* Toggle unselected objects to wireframe */ var breps = moi.geometryDatabase.getObjects().getBreps(); var didone = false; for ( var i = 0; i < breps.length; ++i ) { var brep = breps.item(i); if ( brep.hidden ) continue; if ( !brep.selected ) { var faces = brep.getFaces(); for ( var j = 0; j < faces.length; ++j ) { if ( !faces.item(j).hidden ) { faces.setProperty( 'hidden', true ); didone = true; break; } } } } if ( !didone ) { for ( var i = 0; i < breps.length; ++i ) { var brep = breps.item(i); if ( brep.hidden ) continue; brep.getFaces().setProperty( 'hidden', false ); } } moi.view.resetAll(); moi.ui.redrawViewports();
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 );
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  mkdm
8123.29 In reply to 8123.28 
Hi Metin,

Thanks for sharing your Shortcuts!

See you.

- Marco (mkdm)
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Metin Seven (METINSEVEN)
8123.30 In reply to 8123.29 
My pleasure, Marco, and thank you too!

— Metin

———————

metinseven.com — 3D (print) models • animation • characters • icons • illustration • infographics • visualization

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  mkdm
8123.31 In reply to 8123.30 
Hello Metin,

Just a side note....

I've seen your "Greenhouse effect" illustration on your web site.

Aaaahhhhhhhhh LOL :) :)

best,

- Marco (mkdm)
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Frenchy Pilou (PILOU)
8123.32 
@Metin
Your 3D Voxels images are very pleasant! :)
Did you use Qubicle, MagicaVoxel.. ?
---
Pilou
Is beautiful that please without concept!
My Gallery
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Metin Seven (METINSEVEN)
8123.33 
Thank you very much, Marco and Pilou, much appreciated!

Pilou, I started the voxel work around 2004 in 3ds Max, extruding quad polygons by fixed amounts, using the grid. As far as I know there were no dedicated voxel editors available in those days.

The first voxel editor I found was Paint3D for Windows. I used that for a number of years, and also helped develop it with feature suggestions and testing. But the programmer has discontinued development by now.

When I moved over to the Mac, I started using Cubicle and MagicaVoxel. Both have their strengths and weaknesses. There's also a third option, VoxelShop, but that's using a Java environment. I prefer native applications if possible. I'm really looking forward to the native Mac version of MoI V4 for that matter.

All the best,

— Metin

———————

metinseven.com — 3D (print) models • animation • characters • icons • illustration • infographics • visualization

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Frenchy Pilou (PILOU)
8123.34 In reply to 8123.33 
<< As far as I know there were no dedicated voxel editors available in those days.
Seems 3D Coat has some voxels functions! ;)
---
Pilou
Is beautiful that please without concept!
My Gallery
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Metin Seven (METINSEVEN)
8123.35 In reply to 8123.34 
Hahaha, yes, and ZBrush too. :D

By the way, you can do quite nice voxel modeling using ZModeler's QMesh.

— Metin

———————

metinseven.com — 3D (print) models • animation • characters • icons • illustration • infographics • visualization

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Metin Seven (METINSEVEN)
8123.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

EDITED: 7 Sep 2018 by METINSEVEN

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  ariel
8123.37 In reply to 8123.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!
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  nameless
8123.38 In reply to 8123.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.
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  ariel
8123.39 In reply to 8123.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.
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  nameless
8123.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.
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged
 

Reply to All Reply to All

 

 
Show messages:  1-20  21-40  41-60  61-72