Back to help Table of Contents

Introduction to MoI

Moment of Inspiration (MoI) is a 3D modeling program that is focused on combining CAD accuracy with an intuitive, fluid UI.

On this page:

Guide to MoI's User Interface

1. File menu and frequently used tools. The File menu contains a list of recently opened files as well as several commands for opening and saving files. In the menu, Import combines the selected file with the current one (instead of replacing it which Open normally does), and Export can be used to write only the selected objects out to a file.

2. Viewport configuration tabs. This controls whether the viewport area shows the split view or only a large single view. You can switch some views to the reverse direction by clicking on their tab a second time. For example, a second click on the Top tab will flip it to a Bottom view.

3. Point, Distance, and Angle controls. These display the coordinates of the current point under the mouse and the distance and angle from the previous point. You can also use this area to enter exact numeric values for placing a point. You can enter values just by typing numbers directly or by clicking on the control to pop up the input panel. You can also set the distance or angle to specific values to cause a distance or angle constraint to be activated.

4. Snap controls. Use these to toggle the different kinds of snapping on or off. When a snap control is highlighted in orange, it is turned on.

5. Options / Help. The little arrow button next to the Help button controls whether MoI displays as full screen or not, covering up the Windows taskbar.

6. View controls. These controls at the bottom of a viewport are one of two different methods that you can use to manipulate the view. They become opaque when you move the mouse over them. For more information, please see the section below: Manipulating the view.

7. Window minimize / restore / close buttons. Use the X button in the corner to close the window and exit MoI. These are only shown if the window is maximized. For non-maximized windows a standard Windows title bar is displayed. The name of the currently open file is displayed immediately under these controls.

8. Command options. This area holds the different options that are available for the currently running command. There is a prompt at the top of this area that tells you what type of input the command is currently expecting. The Done and Cancel buttons are at the bottom of this area. Often times you'll need to push the Done button when you are done with the current task and want to go to the next stage of a command. You can also click the right mouse button inside of a viewport as a shortcut for pushing Done.

9. Command palettes. This is where the majority of commands are located. Click on a tab to show different sets of commands. If you click again on an already highlighted tab, it will collapse that palette.

Manipulating the view

Rotate by dragging with the Right Mouse Button inside the 3D view.

Pan by dragging with the Middle Mouse Button (press down on the scroll wheel) inside any view. You can also pan by dragging the Right Mouse Button in the Top, Front, or Right views.

Zoom by spinning the Scroll Wheel forwards or backwards.

Use the Reset button at the bottom of the viewport to fit the view to frame objects. This will also set the rotation pivot point to the center of the objects. The first time you click Reset, it will focus on selected objects. If you click it a second time, it will switch to frame all objects regardless of selection. Clicking with the right mouse button on Reset will apply the reset to all viewports.

Use the Area button at the bottom of the viewport to zoom into a specific smaller area. The center point that you pick will also become the rotation pivot point, so you can also use this to control the exact location that the 3D view will rotate around.

You can also rotate, pan, or zoom by using the buttons at the bottom of the viewport. To use these buttons, you click and hold down on the button and move the pointer. These controls are pretty sensitive, so you only need to move the pointer a small distance - don't use large motions. The behavior of these buttons can be tweaked by going to Options / View / Rotate/Pan/Zoom options.

Running commands

You accomplish different tasks in MoI by running commands.

Some commands may apply their work immediately and then exit, while other commands may go through different stages waiting for you to pick points, select additional objects, or adjust various options before they are finished. Sometimes you may need to click the Done button to signal that you are finished with a stage. You can also right-click inside of a viewport, or push the Enter key as shortcuts for clicking Done.

For commands that edit or manipulate an object, you usually select the objects to be edited prior to running the command.

While a command is running, it shows information in the command options area in the upper right area of the main MoI window, labeled #8 in the screenshot above.

The top of the command options area will show a prompt that will tell you what kind of input the command is waiting for you to provide. For example, when you run the Line command, the prompt will read "Pick start point" - this is signaling that the command is waiting for you to specify a point location, either by clicking in the viewport or by typing an x,y,z value. If you get stuck wondering what to do next, it can help to read the prompt.

Below the prompt, a command may have several controls such as text inputs, buttons, checkboxes, and drop-downs to adjust different options for how the command behaves.

You can cancel a command by pushing the Cancel button or by using the Esc key.

When you are not running a command you are in "Selection Mode", which allows you to select and drag objects.

Normally when you exit a command you return back to Selection Mode so that you can adjust the selection in preparation for running the next command. While in Selection Mode you can use Right click or Enter to repeat the last command. For some commands you can also click the "Repeat" checkbox located at the very bottom of the command options area while the command is still running. This will cause the command to automatically restart until you hit cancel. For example, this can be done if you want to draw a large number of lines, then you don't have to right click to repeat the line command every single time.

Drawing / Picking points

Many commands require points to be defined to generate an object. For example, the Line command requires a start point and an end point to generate a line segment.

To pick a point with the mouse, click and release the left mouse button inside of a viewport.

There are several mechanisms to help you accurately place your point, including Grid snap, Straight snap, Object snap, and Construction lines.

Grid snap, Straight snap, and Object snap can be enabled or disabled by using the controls shown in area #4 in the screenshot above. When one of these controls is highlighted in orange, that snap is enabled.

Grid snap causes the point to lock on to intersections of the grid. The snap size can be adjusted under Options / Grid. Grid snap has a lower priority than Object snap, so you may need to turn Object snap off if it is getting in the way of targeting the grid.

Straight snap locks points to a straight line from the previous point. It activates when you move your mouse close to that axis line. By default Straight snap uses a 90 degree angle, but this can be altered under Snaps / Straight snap options / Snap angle. However, it may be more convenient to leave Straight snap to 90 degrees and set a temporary angle constraint when you need to lock on to other angles.

Object snap enables the point to lock on to different pieces of existing objects, such as the end or midpoint of a line, the center of a circle, etc...

You can hold down the Alt key as a shortcut to temporarily disable snapping.

Construction lines are an additional tool that can be used to help with accurate point placement. A temporary Construction line will be created if you press down the left mouse button and hold down and drag instead of doing a click and release. This enables you to quickly create alignment edges and extension lines for various types of snapping. See the reference section of the documentation under Construction lines for more details on the many different types of snapping that can be performed with construction lines.

In addition to picking points with the mouse, you can also enter a numeric x,y,z value.

To enter a specific x,y,z value you can type the value in directly, and you will see your keystrokes go to the point control on the bottom toolbar, labeled #3 in the screenshot above. You can also click on the point control and enter numbers by clicking on the buttons of the input panel that pops up.

The distance and angle controls are underneath the x,y,z point control. While drawing, these will display the distance and angle of the current point from the previous point, and you can also enter values in either one of these to activate a distance or angle constraint. For example, if you want to draw a line at a 45 degree angle, you can click on the angle constraint box and enter 45.

For more information on different ways to enter typed-in coordinates, see the reference section of the help file under XYZ / Distance / Angle.


You can select or unselect a curve by clicking on it.

When you move your pointer over an unselected curve, it will get a yellow glow around it. This indicates that if you click there, that curve will become selected. If you move over an already selected curve it will instead get a dark glow around it, indicating that if you click there it will get unselected.

Multiple select is enabled at all times, you don't need to hold down the Shift key to select multiple objects.

To deselect all objects, click out in empty space or press the Esc key.

When you are in Selection Mode (not running any command), you can also click and drag on an object or a point to reposition it. If you drag on an unselected object or point, it will become the only selected item. For example, you can adjust individual points one by one without needing to click in empty space to clear the selection before each drag.

Clicking in empty space and dragging the pointer (instead of click and release in empty space) will result in an area selection box. If you drag from the left towards the right, you will get a solid area selection box which will select only objects that are completely captured inside the box. If you drag starting from the right and then move towards the left direction, you will get a dashed area selection box which will select any object that intersects the box even partially.

For some operations you may need to select an edge or face sub-object part of a solid. For example, to fillet just one specific edge of a solid, select that edge first before running the Fillet command.

The first click on a solid will select the solid as a whole object. A second click on it will "drill-in" to select an edge or face sub-object.

Once an initial drill-in selection is made, further clicks or area selects will target the same type of sub-object. For example, if you drill-in to select an edge, you can then do area selections which will only target other edges.

There is a preference to selecting edges over faces in the initial drill-in - if you're having difficulty selecting a face you may need to zoom in so that the face takes up a larger area of the screen and can be more easily targeted in a spot not close to any edges.

Basic modeling concepts

The typical approach to modeling an object in MoI is to start by drawing some key outline curves that define different profiles of a shape.

If you have a scanned bitmap you want to use as a guide, it can be placed into the scene by using the View/Image command.

Next, surfaces or solids are created from the outline curves using commands on the Construct palette such as Revolve, Extrude, Loft, Sweep, etc...

After some initial pieces are created, they are often times refined by using Boolean operations. Booleans can cut pieces away using other profile curves and can also combine or subtract different solids together into larger assemblies.

Finally, the sharp curves where the different pieces intersected each other are rounded out by applying fillets.

Please see the tutorial section of the help file for some example videos.

Note that the modeling approach used in MoI is significantly different than the way you create objects in a polygon/sub-d type program. In a sub-d program you tend to manipulate individual points of your object's surface a lot, kind of like sculpting. MoI's approach tends to be more like illustration or drawing because you create objects constructed from curves that you draw. Each method has strengths and weaknesses in different areas. Sub-d is stronger for shapes that have a lot of small organic details in them, like a human face for example. MoI's approach is faster and more accurate for industrial or semi-mechanical type shapes where you can identify key profile curves that define the shape. Also see Frequently Asked Questions for some more details on how MoI's objects are structured differently than a polygon mesh type model.

Exporting to other applications

MoI is focused just on modeling. Typically after you have created a model in MoI you will need to export it to another program to perform additional tasks.

For example, you might want to take your model into a rendering program and set up lights and assign materials to produce a high quality realistic image, or you may want to take your model into a CAM program to calculate toolpaths for cutting your design on a CNC device.

Some file formats supported by MoI can contain curves and surfaces, and others can contain only polygon mesh type data.

When saving to a polygon mesh file format, surfaces that you created in MoI will get converted into polygon mesh facets, and the Meshing options dialog will be shown to give you some options to control the meshing process. For example, you can adjust the mesh to be made up of fewer polygons which is smaller in data size but has a rougher appearance, or you can use a denser mesh which produces a large file size but will have a smoother look. See Meshing options in the reference section for details on how to control the mesher.

Typically polygon mesh file formats do not have a way to store wireframe curves in them. If your model consists only of wireframe curves (for instance 2D lines and circles drawn in the Top view), you need to create surfaces first before you can create polygon data.

.3dm and .igs file formats support curves and surfaces, so these formats hold the most accurate representation of MoI's model data.

.obj, .stl, .3ds, and .lwo are all polygon-based file formats.

.ai format contains flattened curves for 2D illustration programs.

Tips for exporting data:

Normally you use File/Save As to write your model out to a different format. File/Export can also be used. Export is short for "Export Selected", and it will write only the selected objects out to the file, while Save As will write everything regardless of selection.

Most rendering programs are focused on handling polygon mesh data. Some do support .3dm or .igs import and then convert those surfaces into polygons, but often times they will not perform a very good conversion. It is typically better to let MoI do the conversion to polygons instead.

Usually you will want to use the .obj format to bring polygon mesh data into a rendering program. However, use .lwo for Modo or LightWave, and use .lwo and the import script on the resources page for Blender.

Some programs cannot handle N-gons (polygons made up of more than 3 or 4 sides) very well, so if you are getting bad results you may need to switch the Mesh options from Output: N-gons, to Output: Quads & Triangles, or Output: Triangles only.

Also, some programs may function better if you uncheck "Weld vertices along edges" which you can access by clicking the arrow in the lower-left corner of the Meshing options dialog box.

.3ds format has several limitations, so only use it if you have no other choice.

Some kinds of CAM programs may prefer to read .3dm or .igs data, and others may be focused on taking in facets using the .stl format.

You can share data back and forth between Rhino and MoI by using Copy and Paste instead of saving to a file.

If your object is made up of individual separate surfaces, use Edit/Join to glue the surfaces together at their common edges before exporting. The mesher will do extra work to create a unified mesh along joined edges. If surfaces get meshed individually without knowledge of their neighbors, it can lead to different vertex structures in each mesh which can cause cracks.

See Resources on the web site for some additional conversion utilities, and also Frequently Asked Questions for some additional information on data exchange issues.

© 2007 Triple Squid Software Design