Share your MoI keyboard shortcuts
 1-12  13-32  33-52  53-72

Previous
Next
 From:  shayno
8123.13 
HI there

there are a few double ups as I get sloppy sometimes so I apologise in advance.

There is a screen shot of my setup , I have merged construct and transform so I don't have to switch between
Most commands I have a key for also

cheers
shayne


[Shortcut Keys]
\[=ShowPoints
\]=AddPoint
A=Arc3pt
Alt+A=makethread
Alt+B=showpoints
Alt+C=ArrayCurve
Alt+D=script: /* Toggle redraw time display */ moi.ui.showViewportDisplayTime = !moi.ui.showViewportDisplayTime;
Alt+E=script: /* Extend selection to same names */ var names = new Array(); var objs = moi.geometryDatabase.getSelectedObjects(); for ( var i = 0; i < objs.length; ++i ) { var obj = objs.item(i); if ( obj.name != '' ) names[obj.name] = true; } objs = moi.geometryDatabase.getObjects(); for ( var i = 0; i < objs.length; ++i ) { var obj = objs.item(i); if ( obj.name != '' && names[obj.name] ) obj.selected = true; }; script: if (moi.geometryDatabase.getSelectedObjects().length> 0) { moi.geometryDatabase.invertSelection(); moi.geometryDatabase.hide( true );}
Alt+G=script: /* Toggle grid and axis lines */ moi.grid.display = !moi.grid.display; moi.grid.showXYAxes = moi.grid.display;
Alt+H=script:moi.geometryDatabase.invertSelection(); moi.geometryDatabase.hide(true);
Alt+L=script: /* Expand selection over same styles and loft */ var objects = moi.geometryDatabase.getObjects().getCurves(), points = moi.geometryDatabase.getObjects().getPoints(), styles = new Array(); for (var i = 0; i < points.length; i++) { objects.addObject(points.item(i))} for ( var i = 0; i < objects.length; ++i ) { var obj = objects.item(i); if ( obj.selected ) styles[obj.styleIndex] = true; } for ( var i = 0; i < objects.length; ++i ) { var obj = objects.item(i); if ( styles[obj.styleIndex] ) obj.selected = true; }; moi.command.execCommand( 'loft' );
Alt+M=MarkOpenCurveStart
Alt+N=script: /* Assign unique object name to selection */ var all_objects = moi.geometryDatabase.getObjects(); var used_names = new Array(); for ( var i = 0; i < all_objects.length; ++i ) { var obj = all_objects.item(i); if ( obj.name != '' ) { used_names[obj.name] = true; } } var counter = 1; var name; while ( 1 ) { var numtag = counter.toString(); while ( numtag.length < 4 ) { numtag = '0' + numtag; } name = 'object_' + numtag; if ( used_names[name] ) { ++counter; continue; } used_names[name] = true; break; } moi.geometryDatabase.getSelectedObjects().setProperty( 'name', name );
Alt+O=script: /* Extend selection to same names */ var names = new Array(); var objs = moi.geometryDatabase.getSelectedObjects(); for ( var i = 0; i < objs.length; ++i ) { var obj = objs.item(i); if ( obj.name != '' ) names[obj.name] = true; } objs = moi.geometryDatabase.getObjects(); for ( var i = 0; i < objs.length; ++i ) { var obj = objs.item(i); if ( obj.name != '' && names[obj.name] ) obj.selected = true; }
Alt+P=script: /* Custom screenshot */ var prev_background = moi.view.viewportBackgroundColor; moi.view.viewportBackgroundColor = 0xFFFFFF; moi.view.lineWidth = 3; moi.grid.display = false; moi.grid.showXYAxes = false; moi.view.showAxisIcon = false; moi.view.meshAngle = 3; moi.ui.getActiveViewport().renderToClipboard( 4000, 2500 ); moi.view.lineWidth = 1; moi.grid.displa6y = true; moi.grid.showXYAxes = true; moi.view.showAxisIcon = true; moi.view.meshAngle = 8; moi.view.viewportBackgroundColor = prev_background;
Alt+R=Reconstructcurve
Alt+S=IncrementalSave
Alt+T=script: /*! Custom screenshot */ var prev_background = moi.view.viewportBackgroundColor; moi.view.viewportBackgroundColor = 0xFFFFFF; moi.view.lineWidth = 3; moi.grid.display = false; moi.grid.showXYAxes = false; moi.view.showAxisIcon = false; moi.view.meshAngle = 3; moi.ui.getActiveViewport().renderToClipboard( 4200, 2970 ); moi.view.lineWidth = 1; moi.grid.display = true; moi.grid.showXYAxes = true; moi.view.showAxisIcon = true; moi.view.meshAngle = 8; moi.view.viewportBackgroundColor = prev_background;
Alt+V=script: /* Toggle thin anti-aliasing */ moi.view.useThinAntiAliasing = !moi.view.useThinAntiAliasing;
Alt+W=script: var obj = moi.geometryDatabase.getObjects().getBReps(); for ( var o = 0; o < obj.length; ++o ) { if ( obj.item(o).hidden ) { obj.item(o).hidden = false; obj.item(o).selected = true; }}
Alt+Y=AutoRotate2
B=script:moi.drawingAids.straightSnap = !moi.drawingAids.straightSnap;
C=Circle
Ctrl+A=script:moi.geometryDatabase.selectAll();
Ctrl+B=script: /*!Highlight naked edges */ 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 );
Ctrl+C=CopyClipboard
Ctrl+D=script:moi.geometryDatabase.deselectAll();
Ctrl+E=script:/* Select edges v1.2 */ 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);
Ctrl+F=Flow
Ctrl+G=Arraygem
Ctrl+H=script:var gd = moi.geometryDatabase; gd.deselectAll(); gd.hide( true ); gd.invertSelection(); gd.hide( true );
Ctrl+I=import
Ctrl+J=Separate
Ctrl+K=script:var gd = moi.geometryDatabase; gd.removeObjects( gd.getObjects().getConstructionLines() );
Ctrl+L=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+M=merge
Ctrl+N=script: /* Edit object name */ var pp = moi.ui.propertiesPanel; if (pp.show && pp.numSelectedObjects> 0) { pp.editName(); }
Ctrl+O=Open
Ctrl+P=script:var img = moi.view.screenshot( 'viewpanel', false ); var filename = moi.geometryDatabase.currentFileName; if ( filename != '' ) { img.save( filename.substring(0,filename.length-3) + 'jpg' ); }
Ctrl+Q=ringcircle1
Ctrl+R=script:moi.view.resetAll();
Ctrl+S=saveas
Ctrl+Shift+C=CopyClipboardWithOrigin
Ctrl+Shift+D=script: /* Duplicate selected objects */ var gd = moi.geometryDatabase; var objs = gd.getSelectedObjects(); if ( objs.length != 0 ) gd.copyToClipboard( objs ); moi.command.execCommand( 'paste' );
Ctrl+Shift+V=PastePart
Ctrl+T=AutoRotate2
Ctrl+U=UnWrapCurve
Ctrl+V=Paste
Ctrl+W=_CVolume 10
Ctrl+X=Cut
Ctrl+Y=script:moi.command.redo();
Ctrl+Z=script:moi.command.undo();
D=Booleandifference
Delete=Delete
E=Extrude
F=Flow
F1=script:moi.launchHelp();
F10=script: /* Open Edit styles dialog */ var dialog = moi.ui.createDialog( 'EditStylesDialog.htm', 'resizeable,defaultWidth:380,defaultHeight:420', moi.ui.mainWindow ); dialog.window.doModal();
F11=script: /* Opens Lighting Options Dialog */ moi.ui.createDialog( 'moi://ui/LightingOptions.htm' );
F12=script:moi.ui.createDialog( 'moi://ui/ScriptPalette.htm' );
F2=script:/* Set perspective 3D view */ moi.ui.mainWindow.viewpanel.getViewport('3D').projection = 'Perspective'; moi.ui.mainWindow.viewpanel.mode = '3D';
F3=script: /* Set free rotation style */ moi.view.rotationStyle = 'Free';
F4=script: /* Set first person rotation style */ moi.view.rotationStyle = 'FirstPerson';
F5=script: /* switch selection from a face to its edges */ 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 );
F6=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;
F7=script:var img = moi.view.screenshot( 'viewpanel', false ); var name = img.getSaveFileName(); if ( name != '' ) img.save( name );
F8=script: /* Toggle mesh angle */ var newang, ang = moi.view.meshAngle; if ( ang == 5 ) newang = 10; else if ( ang == 10 ) newang = 25; else newang = 5; moi.view.meshAngle = newang; var sidepane = moi.ui.getUIPanel( 'moi://ui/SidePane.htm' ); var endsection = sidepane.document.getElementById('MiddleBody').nextSibling; if ( endsection.lastChild.id != 'angval' ) endsection.insertAdjacentHTML( 'beforeEnd', '' ); endsection.lastChild.innerText = newang;
F9=script: /* Toggle grid snap */moi.grid.snapsize = (moi.grid.snapsize == '0.25' ? '0.1' : '0.25');
H=script:moi.geometryDatabase.hide();
I=Inset
J=join
K=script:moi.geometryDatabase.getObjects().getConstructionLines().setProperty( "isTemporary", false );
L=Line
M=Mirror
N=script:moi.drawingAids.objectSnap = !moi.drawingAids.objectSnap;
O=Offset
P=Polyline
Q=RingCircle1
R=Rotate
S=Sweep
Shift+A=Arraycircular
Shift+C=Chamfer
Shift+D=booleandifference
Shift+E=Extrude
Shift+F=Fillet
Shift+G=script: /* Toggle grid and axis lines */ moi.grid.display = !moi.grid.display; moi.grid.showXYAxes = moi.grid.display;
Shift+H=script:moi.geometryDatabase.getObjects().getCurves().setProperty( 'hidden', true );
Shift+I=booleanintersection
Shift+J=Join
Shift+K=script:var gd = moi.geometryDatabase; var objs = gd.getSelectedObjects(); gd.deselectAll(); for ( var i = 0; i < objs.length; ++i ) { var children = objs.item(i).getHistoryChildren(); children.setProperty( 'selected', true ); }
Shift+L=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; }
Shift+M=booleanmerge
Shift+N=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 );
Shift+O=script: /* Hide all named objects */ var objs = moi.geometryDatabase.getObjects(); for ( var i = 0; i < objs.length; ++i ) { var obj = objs.item(i); if ( obj.name != '' ) obj.hidden = true; }
Shift+P=script:var img = moi.view.screenshot( 'viewpanel', false ); var name = img.getSaveFileName(); if ( name != '' ) img.save( name );
Shift+R=revolve
Shift+S=Scale
Shift+T=ShrinkTrimmedsrf
Shift+U=booleanunion
Shift+V=Vclone
Shift+X=ExplodeMove
Space=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 } }
T=Trim
U=Booleanunion
V=script:moi.drawingAids.gridSnap = !moi.drawingAids.gridSnap;
W=script: /* Show subset of hidden objects */ moi.geometryDatabase.showSubset();
X=script:moi.ui.mainWindow.viewpanel.reverseView( moi.ui.getActiveViewport().name );
Y=script: /* render view to clipboard */ var v = moi.ui.getActiveViewport(); if ( v != null ) { moi.view.lineWidth = 4; v.renderToClipboard( 2560, 2560 ); moi.view.lineWidth = 1; }
Z=save





  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.14 In reply to 8123.13 
Hi shayno,

and good morning.

> Shift+L=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; }

Very useful script which I didn't know.

I just included it into my current config, thanks.

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:  Michael Gibson
8123.15 In reply to 8123.14 
Hi Marco, there's also a newer wrapper for that: moi.geometryDatabase.selectLastCreated(); , it can also take an optional parameter for whether to deselect other objects or not, the default is false, not deselect existing selection.

But that script you mentioned does the same thing manually, find objects that were created by the last run command and select them.

- Michael
  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.16 In reply to 8123.15 
Hi Michael,

and thanks for the tip.

I'm going to use it.

Have a nice day,

- 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:  mkdm
8123.17 In reply to 8123.15 
Hi Michael,

I'm noticing that geometryDatabase.selectLastCreated(); as well as its manual counterpart, is very "sensible" to some situations.
That is, it does not select anymore last created objects if some situation occurs.

For example :

1) If I move the last created object
2) If I delete any object other than last created one
3) If I make a point editing on any object other than last created one

I didn't test different cases but I want to ask you if this behavior it's normal, and if so, what is the inner mechanism that produces this behavior.

Thanks.

- 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:  Michael Gibson
8123.18 In reply to 8123.17 
Hi Marco, well all those things you are describing are running new commands, so the result of your action there will now be the object generated by the last command instead.

For #1 or #3, moving an object or an edit point using Transform > Move uses the Move command, or moving it by dragging uses the internal Drag command. #2 deleting an object runs the delete command.

Basically anything that modifies the geometry database will be done through a command so that command pre- and post-processing will run and do things like generate undo units for any objects that are being removed or replaced by new versions, and have any UI for the command cleared, etc... It is possible to modify the geometry database outside of the context of running in a command but none of the regular actions you do in MoI will do it that way because you won't get undo units for example and there would be various cleanup steps the script would have to do manually on its own. That's the whole reason there is such a thing as a command instead of everything just running direct script code all the time.

I have some ideas on maybe changing this in the future to try something like generate undo units for scripts that modify the geometry database without running in a command by clustering modifications that happened within some tight time frame of each other into an individual unit, but I'm not sure yet how reliable that will be. It's much simpler to have one "command" generate one undo unit.

Sorry maybe I'm not understanding what you are asking about though.

- Michael
  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.19 In reply to 8123.18 
Hi Michael,

> Sorry maybe I'm not understanding what you are asking about though.

You've made it abundantly clear.

I'm a software developer so I fully understand your explanations :)

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:  Michael Gibson
8123.20 In reply to 8123.19 
Hi Marco, the part that's a bit tricky is that there are just a few things that run as a command by calling an internal C function in moi_lib.dll rather than executing a script in the commands folder. If I remember right this is limited to drag, edit frame transform, scale on unit system change, drag/drop of a file onto the window, undo and redo.

- Michael
  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.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
 

Reply to All Reply to All

 

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