ÿþ<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <META http-equiv="Content-Type" content="text/html; charset=UTF-16"> <title>MoI Command Reference</title> <style> body { font:12pt Arial, sans-serif; } table { font-size:100%; } h3 { font-style:italic; } .linkpaletteindent { margin-left:2em; } .icontable { text-align:center; border:1px solid gray; background-color:#EFEFFF; } .icontablefloat { text-align:center; float:left; margin-right:1em; border:1px solid gray; background-color:#EFEFFF; } .indent { margin-top:1em; margin-left:2em; } .palettelabel { font-size:130%; } .scriptcode { font-family:monospace; margin-left:4em; padding:0.15em 0.4em; overflow:auto; border:1px solid gray; } </style> </head> <body><a href="moi_help.htm">Back to help Table of Contents</a><h2>MoI Command Reference</h2> <h3>Bottom toolbar:</h3> <div><a href="#_File">File</a> &gt; <a href="#open">Open</a>, <a href="#saveas">Save As</a>, <a href="#new">New</a>, <a href="#import">Import</a>, <a href="#export">Export</a></div> <div><a href="#save">Save</a></div> <div><a href="#undo">Undo</a>, <a href="#redo">Redo</a></div> <div><a href="#delete">Delete</a></div> <div><a href="#__Split / 3D / Top / Front / Right">Split / 3D / Top / Front / Right</a></div> <div><a href="#__XYZ / Distance / Angle">XYZ / Distance / Angle</a></div> <div><a href="#__Grid Snap">Grid Snap</a>, <a href="#__Straight Snap">Straight Snap</a>, <a href="#__Object Snap">Object Snap</a></div> <div><a href="#options">Options</a>, <a href="#help">Help</a>, <a href="#__Full Screen">Full Screen</a></div> <h3>Side pane:</h3><a href="#Draw curve">Draw curve</a><div class="linkpaletteindent"> <div><a href="#Draw curve_Lines">Lines</a> &gt; <a href="#line">Line</a>, <a href="#polyline">Polyline</a></div> <div><a href="#Draw curve_Freeform">Freeform</a> &gt; <a href="#curve">Control points</a>, <a href="#interpcurve">Through points</a>, <a href="#sketchcurve">Sketch</a></div> <div><a href="#Draw curve_Rect">Rect</a> &gt; <a href="#rectangle">Corner</a>, <a href="#rectcenter">Center</a>, <a href="#rect3pts">3 pts</a></div> <div><a href="#Draw curve_Polygon">Polygon</a> &gt; <a href="#polygon">Center</a>, <a href="#polygonedge">Edge</a>, <a href="#polygonstar">Star</a></div> <div><a href="#Draw curve_Circles">Circles</a> &gt; <a href="#circle">Center</a>, <a href="#circlediameter">Diam</a>, <a href="#circle3pt">3 pts</a>, <a href="#circletangent">Tan</a></div> <div><a href="#Draw curve_Arc">Arc</a> &gt; <a href="#arccenter">Center</a>, <a href="#arccontinue">Cont</a>, <a href="#arc3pt">3 pts</a>, <a href="#arctangent">Tan</a></div> <div><a href="#Draw curve_Ellipse">Ellipse</a> &gt; <a href="#ellipse">Center</a>, <a href="#ellipsediameter">Diameter</a>, <a href="#ellipsecorner">Corners</a></div> <div><a href="#Draw curve_More">More</a> &gt; <a href="#point">Point</a>, <a href="#helix">Helix</a></div> </div><br><a href="#Draw solid">Draw solid</a><div class="linkpaletteindent"> <div><a href="#Draw solid_Plane">Plane</a> &gt; <a href="#plane">Corner</a>, <a href="#planecenter">Center</a>, <a href="#plane3pts">3 pts</a></div> <div><a href="#Draw solid_Box">Box</a> &gt; <a href="#box">Corner</a>, <a href="#boxcenter">Center</a>, <a href="#box3pts">3 pts</a></div> <div><a href="#sphere">Sphere</a></div> <div><a href="#cylinder">Cylinder</a></div> <div><a href="#cone">Cone</a></div> <div><a href="#text">Text</a></div> </div><br><a href="#Edit">Edit</a><div class="linkpaletteindent"> <div><a href="#join">Join</a>, <a href="#separate">Separate</a></div> <div><a href="#trim">Trim</a></div> <div><a href="#extend">Extend</a></div> <div><a href="#showpoints">Show pts</a>, <a href="#addpoint">Add pt</a></div> <div><a href="#copyclipboard">Copy</a>, <a href="#paste">Paste</a></div> <div><a href="#hide">Hide</a></div> <div><a href="#history">History</a></div> </div><br><a href="#View">View</a><div class="linkpaletteindent"> <div><a href="#resetall">Reset all</a></div> <div><a href="#image">Image</a></div> </div><br><a href="#Select">Select</a><div class="linkpaletteindent"> <div><a href="#selectall">Sel all</a></div> <div><a href="#deselectall">Desel all</a></div> <div><a href="#invert">Invert</a></div> </div><br><a href="#Construct">Construct</a><div class="linkpaletteindent"> <div><a href="#Construct_Boolean">Boolean</a> &gt; <a href="#booleandifference">Diff</a>, <a href="#booleanunion">Union</a>, <a href="#booleanintersection">Isect</a>, <a href="#booleanmerge">Merge</a></div> <div><a href="#Construct_Fillet">Fillet</a> &gt; <a href="#fillet">Fillet</a>, <a href="#chamfer">Chamfer</a></div> <div><a href="#Construct_Offset">Offset</a> &gt; <a href="#offset">Offset</a>, <a href="#shell">Shell</a></div> <div><a href="#planarsrf">Planar</a></div> <div><a href="#extrude">Extrude</a></div> <div><a href="#Construct_Revolve">Revolve</a> &gt; <a href="#revolve">Revolve</a>, <a href="#railrevolve">Rail revolve</a></div> <div><a href="#loft">Loft</a></div> <div><a href="#sweep">Sweep</a></div> <div><a href="#blend">Blend</a></div> <div><a href="#network">Network</a></div> <div><a href="#Construct_Curve">Curve</a> &gt; <a href="#project">Project</a>, <a href="#intersect">Isect</a></div> </div><br><a href="#Transform">Transform</a><div class="linkpaletteindent"> <div><a href="#move">Move</a></div> <div><a href="#copy">Copy</a></div> <div><a href="#Transform_Rotate">Rotate</a> &gt; <a href="#rotate">Rotate</a>, <a href="#rotateaxis">Rotate Axis</a></div> <div><a href="#Transform_Scale">Scale</a> &gt; <a href="#scale">Scale</a>, <a href="#scale2d">Scale 2D</a>, <a href="#scale1d">Scale 1D</a></div> <div><a href="#mirror">Mirror</a></div> <div><a href="#Transform_Array">Array</a> &gt; <a href="#arraygrid">Grid</a>, <a href="#arraydir">Dir</a>, <a href="#arraycircular">Circular</a>, <a href="#arraycurve">Curve</a></div> <div><a href="#align">Align</a></div> </div><br><a href="#Viewport controls">Viewport controls</a><div class="linkpaletteindent"> <div><a href="#zoomarea">Area</a></div> <div><a href="#zoom">Zoom</a></div> <div><a href="#pan">Pan</a></div> <div><a href="#rotateview">Rotate</a></div> <div><a href="#reset">Reset</a></div> </div><br><div><a href="#meshdialog">Meshing options</a></div> <div><a href="#incrementalsave">Incremental save</a></div> <div><a href="#repeat">Repeat</a></div> <div><a href="#constructionlines">Construction lines</a></div> <div><a href="#shortcutkeys">Shortcut keys</a></div><br><br><!--split--><div id="_File" class="indent"> <table class="icontable"> <tr><td><img src="icons/File.png" width="64" height="64"></td></tr> <tr><td>File</td></tr> </table> <div id="open" class="indent"> <table class="icontablefloat"> <tr><td><img src="icons/Open.png" width="64" height="64"></td></tr> <tr><td>Open</td></tr> </table> <p>Opens a file.</p> <p>MoI supports reading in curves and surfaces from .3dm or .igs files, and 2D curves can be opened from .ai files.</p> <p>3DM is considered the "native" file format that supports all MoI data.</p> </div> <div style="clear:left"> </div><br><div id="saveas" class="indent"> <table class="icontablefloat"> <tr><td><img src="icons/SaveAs.png" width="64" height="64"></td></tr> <tr><td>Save As</td></tr> </table> <p>Saves a file to a new file name.</p> <p>Curves and surfaces can be saved to .3dm or .igs formats. 2D flattened curves can be saved to the .ai format for data transfer to a 2D illustration program. Polygon mesh data can be saved to .obj, .stl, .3ds, or .lwo formats.</p> <p>When saving to a polygon mesh format, the <a href="#meshdialog">Meshing options</a> dialog will be shown to allow adjusting the mesh density.</p> </div> <div style="clear:left"> </div><br><div id="new" class="indent"> <table class="icontablefloat"> <tr><td><img src="icons/New.png" width="64" height="64"></td></tr> <tr><td>New</td></tr> </table> <p>Deletes all current model content and resets the current file name to blank.</p> </div> <div style="clear:left"> </div><br><div id="import" class="indent"> <table class="icontablefloat"> <tr><td><img src="icons/Import.png" width="64" height="64"></td></tr> <tr><td>Import</td></tr> </table> <p>Import is similar to Open, except the data from the chosen file will be added to the current model instead of replacing the current model.</p> <p>This could also be described as "Merge" or "Combine" files.</p> </div> <div style="clear:left"> </div><br><div id="export" class="indent"> <table class="icontablefloat"> <tr><td><img src="icons/Export.png" width="64" height="64"></td></tr> <tr><td>Export</td></tr> </table> <p>Export is similar to Save As, except only the selected objects are written to the file.</p> <p>This could also be described as "Export selected".</p> </div> <div style="clear:left"> </div><br></div> <div id="save" class="indent"> <table class="icontablefloat"> <tr><td><img src="icons/Save.png" width="64" height="64"></td></tr> <tr><td>Save</td></tr> </table> <p>Saves the model using the current file name.</p> <p>Also see <a href="#incrementalsave">Incremental save</a> for a way to save using incremented version numbers (file01.3dm, file02.3dm, file03.3dm, etc...)</p> </div> <div style="clear:left"> </div><br><div id="undo" class="indent"> <table class="icontablefloat"> <tr><td><img src="icons/Undo.png" width="64" height="64"></td></tr> <tr><td>Undo</td></tr> </table> <p>Reverses the most recent action.</p> <p>Undo is normally used to reverse edits to objects, but it can also be used to restore the previous selection. So for example, if you are building up a selection and accidentally click somewhere and mess it up, use Undo to get your selection back. Selection undo only works for one step back, after that further undos will switch to undoing geometry edits.</p> </div> <div style="clear:left"> </div><br><div id="redo" class="indent"> <table class="icontablefloat"> <tr><td><img src="icons/Redo.png" width="64" height="64"></td></tr> <tr><td>Redo</td></tr> </table> <p>Reapplies the last action that was undone.</p> </div> <div style="clear:left"> </div><br><div id="delete" class="indent"> <table class="icontablefloat"> <tr><td><img src="icons/Delete.png" width="64" height="64"></td></tr> <tr><td>Delete</td></tr> </table> <p>Deletes or removes an object, or certain portions of an object depending on the selection.</p> <p>If a whole object is selected, that entire object will be deleted.</p> <p>If faces of a solid are selected, those faces will be removed.</p> <p>Control points of a curve can be removed with this command.</p> <p>If all the edges of a trimming boundary (for example, a hole trimmed in a surface) are selected, then delete can be used to remove that trimming boundary and restore the original underlying surface. This is sometimes referred to as "untrimming".</p> </div> <div style="clear:left"> </div><br><div id="__Split / 3D / Top / Front / Right" class="indent"> <table class="icontablefloat"> <tr><td>Split / 3D / Top / Front / Right</td></tr> </table> <p>These tabs on the bottom toolbar control the viewport configuration, switching between the split view or a maximized single view.</p> <p>Clicking a second time on the Top, Front, or Right tabs will toggle back and forth between the reversed views (Bottom, Back, Left).</p> </div> <div style="clear:left"> </div><br><div id="__XYZ / Distance / Angle" class="indent"> <table class="icontablefloat"> <tr><td>XYZ / Distance / Angle</td></tr> </table> <p>These controls in the middle of the bottom toolbar allow for viewing and entering exact numeric data when picking points during a drawing command.</p> <p>The x,y,z edit box shows the coordinates of the current point under the mouse. The distance edit box shows the distance between the previous picked point and the current point, and the angle box shows the angle of the line formed between the previous picked point and the current point.</p> <p>Distance constraint can be activated by entering a value in the distance edit box. This will force the next point to be the given distance away from the previous point. This can be used for example when drawing a line to restrict the length of the line to a certain value while allowing it to be oriented freely.</p> <p>Angle constraint can be activated by entering a value in the angle edit box. This will force the next point to snap to the given angle from the previous point.</p> <p>If you want to type in an x,y,z coordinate using the keyboard, it is usually not necessary to actually click in the xyz box before typing. Just start typing and your keystrokes will go there automatically.</p> <p> <div>The x,y,z edit box allows point entry using several different forms:</div> <div><b>x,y,z</b> - 3 numbers separated by commas or spaces will use that x,y,z point in world coordinates.</div> <div><b>x,y</b> - 2 numbers will use z as 0</div> <div><b>0</b> - A single 0 character can be used as a shortcut for the origin (0,0,0).</div> <div><b>rx,y,z or rx,y</b> - prefix a 3D or 2D coordinate with "r" to make the new point relative to the previous picked point.</div> <div><b>number</b> - a single number other than 0 activates distance constraint, so you can easily type in a distance constraint without needing to click on the distance box.</div> <div><b>&lt;number</b> - a &lt; symbol followed by a number activates angle constraint.</div> <div><b>dist&lt;angle</b> a distance value followed by a &lt; symbol followed by an angle (for example, 4&lt;45) will plot a polar coordinate relative to the previous point. This can be prefixed with "w" to make the polar coordinate relative to the origin.</div> </p> </div> <div style="clear:left"> </div><br><div id="__Grid Snap" class="indent"> <table class="icontablefloat"> <tr><td>Grid Snap</td></tr> </table> <p>Clicking on this button allows toggling grid snap on or off. The button will show with an orange highlight when grid snap is enabled. The size of the grid can be changed under Options / Grid.</p> </div> <div style="clear:left"> </div><br><div id="__Straight Snap" class="indent"> <table class="icontablefloat"> <tr><td>Straight Snap</td></tr> </table> <p>Clicking on this button toggles straight snap on or off. The button will show with an orange highlight when straight snap is enabled. Different options for straight snap can be set under Options / Snaps. By default the snap angle is set to 90 degrees, the default can be changed under options. It is also possible to use Angle constraint to define a custom snap angle that stays in effect for just one pick, see <a href="#__XYZ / Distance / Angle">XYZ / Distance / Angle</a> above. Snapping to too many angles by default can get in the way of doing freeform drawing, so it can be a good idea to leave the default to 90 and use Angle constraint when necessary to get other angles. </p> </div> <div style="clear:left"> </div><br><div id="__Object Snap" class="indent"> <table class="icontablefloat"> <tr><td>Object Snap</td></tr> </table> <p>Clicking on this button toggles object snap on or off. The button will show with an orange highlight when object snap is enabled. When you move over this button, an arrow will appear above it, and you can use that to show a menu that allows enabling or disabling specific types of object snaps. It is recommended to leave all the snap types enabled, and instead disable or enable Object Snap completely by clicking on the main button for it. </p> </div> <div style="clear:left"> </div><br><div id="options" class="indent"> <table class="icontablefloat"> <tr><td><img src="icons/Options.png" width="64" height="64"></td></tr> <tr><td>Options</td></tr> </table> <p>Opens the Options dialog which allows for changing various options for how MoI works.</p> <p>Also see <a href="#shortcutkeys">Shortcut keys</a></p> </div> <div style="clear:left"> </div><br><div id="help" class="indent"> <table class="icontablefloat"> <tr><td><img src="icons/Help.png" width="64" height="64"></td></tr> <tr><td>Help</td></tr> </table> <p>Launches the help file. When moving over the help button, you can use the arrow that appears above it to open the About dialog to show version information.</p> </div> <div style="clear:left"> </div><br><div id="__Full Screen" class="indent"> <table class="icontablefloat"> <tr><td><img src="icons/ExpandFullScreen.png" width="64" height="64"></td></tr> <tr><td>Full Screen</td></tr> </table> <p>This allows for MoI to switch back and forth from full screen mode. When full screen mode is enabled, MoI's window will expand past the Windows system task bar to give you a larger working area. This button only appears when MoI's window is maximized.</p> </div> <div style="clear:left"> </div><br><!--split--><div id="Draw curve" class="palettelabel">Draw curve</div> <div id="Draw curve_Lines" class="indent"> <table class="icontable"> <tr><td><img src="icons/LineSetIcon.png" width="64" height="64"></td></tr> <tr><td>Lines</td></tr> </table> <div id="line" class="indent"> <table class="icontablefloat"> <tr><td><img src="icons/LineIcon.png" width="64" height="64"></td></tr> <tr><td>Line</td></tr> </table> <p>Draws a line by specifying the 2 end points.</p> <p>You can use Straight Snap, Object Snap and <a href="#constructionlines">Construction lines</a> to assist in placing the line.</p> <p>Use <a href="#__XYZ / Distance / Angle">Distance constraint or Angle constraint</a> to draw a line of a particular length or angle.</p> </div> <div style="clear:left"> </div><br><div id="polyline" class="indent"> <table class="icontablefloat"> <tr><td><img src="icons/PolylineIcon.png" width="64" height="64"></td></tr> <tr><td>Polyline</td></tr> </table> <p>Draws a polyline which is a curve made up of multiple joined line segments.</p> <p>You can use Edit/Separate to break a polyline up into individual lines.</p> <p>While drawing the polyline, undo can be used to remove the last picked point.</p> </div> <div style="clear:left"> </div><br></div> <div id="Draw curve_Freeform" class="indent"> <table class="icontable"> <tr><td><img src="icons/FreeformSetIcon.png" width="64" height="64"></td></tr> <tr><td>Freeform</td></tr> </table> <div id="curve" class="indent"> <table class="icontablefloat"> <tr><td><img src="icons/CurveControlPointsIcon.png" width="64" height="64"></td></tr> <tr><td>Control points</td></tr> </table> <p>Draw a freeform curve using control points.</p> <p>The line through the first and second point defines the starting tangent direction of the curve, and the line through the last 2 points defines the ending tangent, so you may want to place the second and second-to-last point with care to control the exact starting or ending direction of the curve</p> <p>If you want the curve to come to a sharp point, check the "Make corner point" checkbox, or hold down the Ctrl key when clicking.</p> <p>When drawing the curve, undo can be used to remove the last picked point.</p> </div> <div style="clear:left"> </div><br><div id="interpcurve" class="indent"> <table class="icontablefloat"> <tr><td><img src="icons/CurveThroughPointsIcon.png" width="64" height="64"></td></tr> <tr><td>Through points</td></tr> </table> <p>Draw a freeform curve that is forced to pass through the points that you pick.</p> <p>This can be useful if you want to force the curve to go through a particular spot, but this can also easily introduce wiggles in the curve. Using control points is generally preferred since it will create a more relaxed curve.</p> <p>If you want the curve to come to a sharp point, check the "Make corner point" checkbox, or hold down the Ctrl key when clicking.</p> <p>When drawing the curve, undo can be used to remove the last picked point.</p> </div> <div style="clear:left"> </div><br><div id="sketchcurve" class="indent"> <table class="icontablefloat"> <tr><td><img src="icons/CurveSketchIcon.png" width="64" height="64"></td></tr> <tr><td>Sketch</td></tr> </table> <p>Draw a freeform curve using a click, hold down, and drag method like a brush stroke.</p> <p>The curve will close automatically if your stroke comes nearby the start point.</p> <p>If you want to draw many sketch curves in a row, use the <a href="#repeat">Repeat</a> checkbox.</p> </div> <div style="clear:left"> </div><br></div> <div id="Draw curve_Rect" class="indent"> <table class="icontable"> <tr><td><img src="icons/RectSetIcon.png" width="64" height="64"></td></tr> <tr><td>Rect</td></tr> </table> <div id="rectangle" class="indent"> <table class="icontablefloat"> <tr><td><img src="icons/RectCornerIcon.png" width="64" height="64"></td></tr> <tr><td>Corner</td></tr> </table> <p>Draw a rectangle by specifying the 2 corner points.</p> <p>Move the mouse near a 45 degree angle to get a square snap.</p> <p>Options are available for entering a specific width and/or height. For quick keyboard entry of width or height, it is not necessary to actually click anywhere. Just start typing and your keystrokes will go to the width box, and push Tab to move to the height box. Press Enter when you are finished with the height.</p> <p>Checking the "Rounded corners" option will allow you to specify a radius for the corners of the rectangle after the 2 corners have been picked. </p> </div> <div style="clear:left"> </div><br><div id="rectcenter" class="indent"> <table class="icontablefloat"> <tr><td><img src="icons/RectCenterIcon.png" width="64" height="64"></td></tr> <tr><td>Center</td></tr> </table> <p>Draw a rectangle by specifying the center and a corner point.</p> <p>Options are the same as Rect Corner above.</p> </div> <div style="clear:left"> </div><br><div id="rect3pts" class="indent"> <table class="icontablefloat"> <tr><td><img src="icons/Rect3ptIcon.png" width="64" height="64"></td></tr> <tr><td>3 pts</td></tr> </table> <p>Draw a rectangle using 3 points, 2 points for one edge and then a 3rd point for the width.</p> <p>When picking the 3rd point, Square snaps are available to form an exact square.</p> <p>Other options are the same as Rect Corner above.</p> </div> <div style="clear:left"> </div><br></div> <div id="Draw curve_Polygon" class="indent"> <table class="icontable"> <tr><td><img src="icons/PolygonSetIcon.png" width="64" height="64"></td></tr> <tr><td>Polygon</td></tr> </table> <div id="polygon" class="indent"> <table class="icontablefloat"> <tr><td><img src="icons/PolygonCenterIcon.png" width="64" height="64"></td></tr> <tr><td>Center</td></tr> </table> <p>Draw a polygon from a center and radius point.</p> <p><a href="#__XYZ / Distance / Angle">Distance constraint</a> can be used to specify an exact radius.</p> </div> <div style="clear:left"> </div><br><div id="polygonedge" class="indent"> <table class="icontablefloat"> <tr><td><img src="icons/PolygonEdgeIcon.png" width="64" height="64"></td></tr> <tr><td>Edge</td></tr> </table> <p>Draw a polygon by specifying 2 points along the polygon's edge.</p> <p><a href="#__XYZ / Distance / Angle">Distance constraint</a> can be used to control the length of the edge.</p> </div> <div style="clear:left"> </div><br><div id="polygonstar" class="indent"> <table class="icontablefloat"> <tr><td><img src="icons/PolygonStarIcon.png" width="64" height="64"></td></tr> <tr><td>Star</td></tr> </table> <p>Draw a star shaped polygon by center and radius points.</p> <p>Style:Auto will draw one using the classic proportions, switching to Style:Custom allows specifying a third point to define the inside radius.</p> </div> <div style="clear:left"> </div><br></div> <div id="Draw curve_Circles" class="indent"> <table class="icontable"> <tr><td><img src="icons/CircleSetIcon.png" width="64" height="64"></td></tr> <tr><td>Circles</td></tr> </table> <div id="circle" class="indent"> <table class="icontablefloat"> <tr><td><img src="icons/CircleCenterIcon.png" width="64" height="64"></td></tr> <tr><td>Center</td></tr> </table> <p>Draw a circle by center and radius.</p> <p>Click on the Radius label with the small arrow to switch between entering radius or diameter.</p> <p>The Vertical checkbox will flip the circle 90 degrees to point vertically up from the plane.</p> </div> <div style="clear:left"> </div><br><div id="circlediameter" class="indent"> <table class="icontablefloat"> <tr><td><img src="icons/CircleDiameterIcon.png" width="64" height="64"></td></tr> <tr><td>Diam</td></tr> </table> <p>Draw a circle by specifying 2 diameter points.</p> <p>The Vertical checkbox will flip the circle 90 degrees to point vertically up from the plane.</p> </div> <div style="clear:left"> </div><br><div id="circle3pt" class="indent"> <table class="icontablefloat"> <tr><td><img src="icons/Circle3ptIcon.png" width="64" height="64"></td></tr> <tr><td>3 pts</td></tr> </table> <p>Draw a circle by specifying 3 points on the circumference.</p> </div> <div style="clear:left"> </div><br><div id="circletangent" class="indent"> <table class="icontablefloat"> <tr><td><img src="icons/CircleTangentIcon.png" width="64" height="64"></td></tr> <tr><td>Tan</td></tr> </table> <p>Draw a circle of the specified radius tangent to 2 existing curves.</p> <p>The first 2 points must be picked snapped on to existing curves. The third point determines the radius by the distance between it and the second picked point, or a specific radius can be typed in.</p> </div> <div style="clear:left"> </div><br></div> <div id="Draw curve_Arc" class="indent"> <table class="icontable"> <tr><td><img src="icons/ArcSetIcon.png" width="64" height="64"></td></tr> <tr><td>Arc</td></tr> </table> <div id="arccenter" class="indent"> <table class="icontablefloat"> <tr><td><img src="icons/ArcCenterIcon.png" width="64" height="64"></td></tr> <tr><td>Center</td></tr> </table> <p>Draw an arc by center point, start point, and angle.</p> <p>The Elliptical option can be checked to create an elliptical arc that passes directly through the final picked point.</p> </div> <div style="clear:left"> </div><br><div id="arccontinue" class="indent"> <table class="icontablefloat"> <tr><td><img src="icons/ArcContinueIcon.png" width="64" height="64"></td></tr> <tr><td>Cont</td></tr> </table> <p>Draw an arc that continues tangent from the end of an existing curve.</p> <p>The first picked point should be nearby the end of an existing curve</p> </div> <div style="clear:left"> </div><br><div id="arc3pt" class="indent"> <table class="icontablefloat"> <tr><td><img src="icons/Arc3ptsIcon.png" width="64" height="64"></td></tr> <tr><td>3 pts</td></tr> </table> <p>Draw an arc that passes through the 3 picked points.</p> <p>The order of the picked points can be changed using the Style option.</p> </div> <div style="clear:left"> </div><br><div id="arctangent" class="indent"> <table class="icontablefloat"> <tr><td><img src="icons/ArcTangentIcon.png" width="64" height="64"></td></tr> <tr><td>Tan</td></tr> </table> <p>Draw an arc of the specified radius tangent to 2 existing curves.</p> <p>The first 2 points must be picked snapped on to existing curves. The third point determines the radius by the distance between it and the second picked point, or a specific radius can be typed in.</p> <p>After the radius has been specified, an additional click is required to specify which of the 2 arc choices you want to keep. Click close to the half you want.</p> </div> <div style="clear:left"> </div><br></div> <div id="Draw curve_Ellipse" class="indent"> <table class="icontable"> <tr><td><img src="icons/EllipseSetIcon.png" width="64" height="64"></td></tr> <tr><td>Ellipse</td></tr> </table> <div id="ellipse" class="indent"> <table class="icontablefloat"> <tr><td><img src="icons/EllipseCenterIcon.png" width="64" height="64"></td></tr> <tr><td>Center</td></tr> </table> <p>Draw an ellipse by center and 2 axis points.</p> <p>A specific width and height for the full ellipse can also be entered.</p> </div> <div style="clear:left"> </div><br><div id="ellipsediameter" class="indent"> <table class="icontablefloat"> <tr><td><img src="icons/EllipseDiameterIcon.png" width="64" height="64"></td></tr> <tr><td>Diameter</td></tr> </table> <p>Draw an ellipse by 2 diameter points followed by a point for the second axis.</p> </div> <div style="clear:left"> </div><br><div id="ellipsecorner" class="indent"> <table class="icontablefloat"> <tr><td><img src="icons/EllipseCornersIcon.png" width="64" height="64"></td></tr> <tr><td>Corners</td></tr> </table> <p>Draw an ellipse by specifying the 2 corner points for its bounding box.</p> </div> <div style="clear:left"> </div><br></div> <div id="Draw curve_More" class="indent"> <table class="icontable"> <tr><td><img src="icons/MoreDrawCurvesIcon.png" width="64" height="64"></td></tr> <tr><td>More</td></tr> </table> <div id="point" class="indent"> <table class="icontablefloat"> <tr><td><img src="icons/PointIcon.png" width="64" height="64"></td></tr> <tr><td>Point</td></tr> </table> <p>Draw a single point object.</p> <p>Point objects can be used to place a marker somewhere that can easily be snapped back to later on.</p> </div> <div style="clear:left"> </div><br><div id="helix" class="indent"> <table class="icontablefloat"> <tr><td><img src="icons/HelixIcon.png" width="64" height="64"></td></tr> <tr><td>Helix</td></tr> </table> <p>Draw a helix or spiral type curve.</p> <p>Two points are picked to define the central axis and length of the helix. After the axis is defined, the next pick defines the start radius. If you want to have a different radius at the end for a tapered effect, check the Tapered option before finishing the first radius.</p> <p>After the radius has been defined, you can adjust options for the number of turns of the helix, or the pitch which is the distance traveled by one coil.</p> <p>If you want to draw a completely flattened 2D spiral use the "Flat spiral" option that shows up after the first point has been picked. That will cause the first point to become the center of the 2D flat spiral.</p> </div> <div style="clear:left"> </div><br></div><!--split--> <div id="Draw solid" class="palettelabel">Draw solid</div> <div id="Draw solid_Plane" class="indent"> <table class="icontable"> <tr><td><img src="icons/PlaneSetIcon.png" width="64" height="64"></td></tr> <tr><td>Plane</td></tr> </table> <div id="plane" class="indent"> <table class="icontablefloat"> <tr><td><img src="icons/PlaneCornerIcon.png" width="64" height="64"></td></tr> <tr><td>Corner</td></tr> </table> <p>Draw a rectangular plane surface by 2 corner points, similar to Rectangle corner.</p> </div> <div style="clear:left"> </div><br><div id="planecenter" class="indent"> <table class="icontablefloat"> <tr><td><img src="icons/PlaneCenterIcon.png" width="64" height="64"></td></tr> <tr><td>Center</td></tr> </table> <p>Draw a rectangular plane surface by center and corner point, similar to Rectangle center.</p> </div> <div style="clear:left"> </div><br><div id="plane3pts" class="indent"> <table class="icontablefloat"> <tr><td><img src="icons/Plane3ptIcon.png" width="64" height="64"></td></tr> <tr><td>3 pts</td></tr> </table> <p>Draw a rectangular plane surface using 3 points, 2 points for one edge and then a 3rd point for the width. Similar to Rectangle 3 points.</p> </div> <div style="clear:left"> </div><br></div> <div id="Draw solid_Box" class="indent"> <table class="icontable"> <tr><td><img src="icons/BoxSetIcon.png" width="64" height="64"></td></tr> <tr><td>Box</td></tr> </table> <div id="box" class="indent"> <table class="icontablefloat"> <tr><td><img src="icons/RectCornerIcon.png" width="64" height="64"></td></tr> <tr><td>Corner</td></tr> </table> <p>Draw a solid box, starting with a base rectangle corner to corner followed by an extrusion value.</p> <p>Snaps are available to make exact squares or a cube.</p> </div> <div style="clear:left"> </div><br><div id="boxcenter" class="indent"> <table class="icontablefloat"> <tr><td><img src="icons/RectCenterIcon.png" width="64" height="64"></td></tr> <tr><td>Center</td></tr> </table> <p>Draw a solid box, starting with a base rectangle from a center point to a corner, followed by an extrusion value.</p> <p>Snaps are available to make exact squares or a cube.</p> </div> <div style="clear:left"> </div><br><div id="box3pts" class="indent"> <table class="icontablefloat"> <tr><td><img src="icons/Rect3ptIcon.png" width="64" height="64"></td></tr> <tr><td>3 pts</td></tr> </table> <p>Draw a solid box, starting with a base rectangle from 3 points, 2 points for one edge and then a 3rd point for the width, followed by an extrusion value.</p> <p>Snaps are available to make exact squares or a cube.</p> </div> <div style="clear:left"> </div><br></div> <div id="sphere" class="indent"> <table class="icontablefloat"> <tr><td><img src="icons/SphereIcon.png" width="64" height="64"></td></tr> <tr><td>Sphere</td></tr> </table> <p>Draw a solid sphere, from center and radius.</p> <p>Click on the radius label with the small arrow to switch to diameter entry mode.</p> </div> <div style="clear:left"> </div><br><div id="cylinder" class="indent"> <table class="icontablefloat"> <tr><td><img src="icons/CylinderIcon.png" width="64" height="64"></td></tr> <tr><td>Cylinder</td></tr> </table> <p>Draw a solid cylinder, from a base center point, radius, and height.</p> <p>Click on the radius label with small arrow to switch to diameter entry mode.</p> </div> <div style="clear:left"> </div><br><div id="cone" class="indent"> <table class="icontablefloat"> <tr><td><img src="icons/ConeIcon.png" width="64" height="64"></td></tr> <tr><td>Cone</td></tr> </table> <p>Draw a solid cone, from a base center point, radius, and height.</p> <p>Click on the radius label with small arrow to switch to diameter entry mode.</p> </div> <div style="clear:left"> </div><br><div id="text" class="indent"> <table class="icontablefloat"> <tr><td><img src="icons/TextIcon.png" width="64" height="64"></td></tr> <tr><td>Text</td></tr> </table> <p>Create text geometry.</p> <p>First pick a base point - this will become the lower left corner of the text, and the grid of the viewport that you click in will be used to orient the text. For example, if you click the base point in the front view your text will be oriented flat to the front view so it will be pointing upwards in Z.</p> <p>After your base point is defined, you can then edit various options such as the text and font. You can also change the Create option to create curves or just planar surfaces instead of extruded solids.</p> <p>Some elaborate fonts may have crossing or intersecting outlines which may cause problems when MoI tries to determine solid areas from holes.</p> </div> <div style="clear:left"> </div><br><!--split--><div id="Edit" class="palettelabel">Edit</div> <div id="join" class="indent"> <table class="icontablefloat"> <tr><td><img src="icons/JoinIcon.png" width="64" height="64"></td></tr> <tr><td>Join</td></tr> </table> <p>Joins together curves into longer single curves, or joins surfaces along common edges into solids.</p> <p>Surfaces will only be joined at common unattached edges. If you need to combine 2 objects that will require some kind of intersection and pieces removed during the combining process, then use the Boolean Union command instead.</p> <p>Surfaces must be within 0.005 units from one another to be joined.</p> </div> <div style="clear:left"> </div><br><div id="separate" class="indent"> <table class="icontablefloat"> <tr><td><img src="icons/SeparateIcon.png" width="64" height="64"></td></tr> <tr><td>Separate</td></tr> </table> <p>Breaks joined objects into individual separate objects. Curves will break up into individual segments; for example, a rectangle will convert into 4 separate line objects. A solid will break up into individual faces; for example, a box will separate out into 6 plane objects.</p> <p>If a solid has face sub-objects selected, just those selected faces will be extracted from the solid. This allows for extracting just one particular sub-assembly from a larger solid.</p> </div> <div style="clear:left"> </div><br><div id="trim" class="indent"> <table class="icontablefloat"> <tr><td><img src="icons/TrimIcon.png" width="64" height="64"></td></tr> <tr><td>Trim</td></tr> </table> <p>Cuts up an object. Some portions may be removed to make holes, or optionally all sliced up pieces may be retained.</p> <p>Trim works on curves, surfaces, or solids. The general procedure is to first select the object to be trimmed, and then run the Trim command. Next select the cutting objects, then select which pieces to discard. If you want to keep all the pieces instead of discarding any, then click Done without selecting anything at that final stage.</p> <p>Sometimes if you want to remove a lot of pieces, it can be easier to select the items you want to keep instead of the portions to discard. This can be controlled by switching the Mode: option to Mode: Keep.</p> <p>When trimming curves, it is possible to add cuts to the curve at specific points by clicking the "Add trim points" button. For example, if you want to split a line at its midpoint, select the line, run Trim, click "Add trim points" and then click a point at the midpoint of the line and click Done. This will split the line at that point. It is also possible to trim a curve by selecting point objects as the cutting objects.</p> <p>It is not necessary to project curves on to surfaces before trimming. Trimming already includes projection built in, so just use the curve as a cutting object directly.</p> <p>If 2 objects intersect one another and you want to cut each of them with the other, then select both of them, run Trim, and then click Done at the prompt for selecting cutting objects. This is called a "mutual trim" operation, it will use those objects as both sources and cutters.</p> <p>Trim will slice just the outside surface skin of a solid. If you want to make cuts through an object where it stays as a solid, use the Boolean operations instead of Trim.</p> </div> <div style="clear:left"> </div><br><div id="extend" class="indent"> <table class="icontablefloat"> <tr><td><img src="icons/ExtendIcon.png" width="64" height="64"></td></tr> <tr><td>Extend</td></tr> </table> <p>Extend a curve to meet the selected boundary objects. The boundary objects can be curves, surfaces, or solids. Currently only curves are supported as the object to be extended.</p> <p>Lines and curves will be extended by a straight line. Arcs will be extended as arcs.</p> <p>Example for extending curves to a boundary:</p> <p><img src="screenshots/Extend1.jpg"> <img src="screenshots/Extend2.jpg"></p> <p>It is also possible to extend 2 curves to meet each other instead of meeting a single boundary. This is called mutual extend, and can be activated by selecting both curves, running Extend, and then clicking Done instead of choosing a boundary object.</p> <p>Example of mutual extend mode:</p> <p><img src="screenshots/Extend3.jpg"> <img src="screenshots/Extend4.jpg"></p> </div> <div style="clear:left"> </div><br><div id="showpoints" class="indent"> <table class="icontablefloat"> <tr><td><img src="icons/ShowPointsIcon.png" width="64" height="64"></td></tr> <tr><td>Show pts</td></tr> </table> <p>Turns edit points on or off.</p> <p>You can also use the Esc key to turn points off, see <a href="#shortcutkeys">Shortcut keys</a> for more information.</p> <p>When a curve has control points turned on, an additional edit mode is enabled if you click and drag on the body of an unselected curve. This enables "drag point on curve" mode where the curve will be deformed to pass through the point you dragged on. This works by moving several nearby control points in one single action, so it can be useful for roughing out the shape of the curve.</p> <p>Curves and individual surfaces can always have points turned on. Solids made up of surfaces joined together at common edges can only have points turned on if all the surfaces share the same points along the common edge. If 2 joined surfaces have different structures along a joined edge, points cannot be turned on for that object because it would be easy to pull the surfaces apart and ruin the shared edge. In this situation it is possible to use Edit/Separate to break the joined object into multiple independent surfaces and you can turn on points for the individual surfaces.</p> </div> <div style="clear:left"> </div><br><div id="addpoint" class="indent"> <table class="icontablefloat"> <tr><td><img src="icons/AddPointIcon.png" width="64" height="64"></td></tr> <tr><td>Add pt</td></tr> </table> <p>Adds a new point to a curve.</p> <p>You can make a point that will form a sharp corner when it is moved by checking the "Make corner point" option, or holding down Ctrl when clicking.</p> <p>To add many points, enable the Repeat checkbox, or right-click to repeat the last command.</p> <p>There are 2 different methods for adding points. If points for the curve are turned on and you click on the dashed hull between 2 existing points, a new point will be added with the same effect as if you had drawn the curve with that additional point. Other points will stay where they are currently located and the shape of the curve will change slightly.</p> <p>The second mode for adding points is activated by clicking directly on a curve that does not have control points turned on - this will create a new point nearby the area you clicked, and existing points will shift slightly, but the shape of the curve will remain exactly the same as before.</p> </div> <div style="clear:left"> </div><br><div id="copyclipboard" class="indent"> <table class="icontablefloat"> <tr><td><img src="icons/Copy.png" width="64" height="64"></td></tr> <tr><td>Copy</td></tr> </table> <p>Copies an object to the clipboard.</p> <p>You can copy an edge of a solid to the clipboard, which will copy the curve of the edge. You can then use paste to create a copy of the edge as an independent curve object.</p> </div> <div style="clear:left"> </div><br><div id="paste" class="indent"> <table class="icontablefloat"> <tr><td><img src="icons/Paste.png" width="64" height="64"></td></tr> <tr><td>Paste</td></tr> </table> <p>Pastes in an object from the clipboard.</p> <p>It is also possible to copy and paste objects between MoI and Rhino. Leave MoI running to enable this cross-application pasting.</p> </div> <div style="clear:left"> </div><br><div id="hide" class="indent"> <table class="icontablefloat"> <tr><td><img src="icons/HideIcon.png" width="64" height="64"></td></tr> <tr><td>Hide</td></tr> </table> <p>Hides or shows objects.</p> <p>If objects are selected when you press Hide, those objects will be hidden.</p> <p>If no objects are selected when you press Hide, hidden objects will be shown.</p> <p>When showing objects, all hidden objects will be temporarily displayed and you can select a subset of them to be actually finally displayed, or you can click on the Hide button a second time to show all objects.</p> </div> <div style="clear:left"> </div><br><div id="history" class="indent"> <table class="icontablefloat"> <tr><td><img src="icons/History.png" width="64" height="64"></td></tr> <tr><td>History</td></tr> </table> <p>Enables or disables history updating on an object.</p> <p>Some commands have history updates enabled by default. For example, the Loft command will update the lofted surface if you edit one of the original curves. If you want to stop that updating, you can select the lofted surface, run the History command and click "Disable update". After that the lofted surface will no longer update when you edit the original input curves. Also, some commands have history disabled by default such as Transform / Copy or Transform / Rotate. You can use History / Enable update to turn history updates on for the results of these commands.</p> </div> <div style="clear:left"> </div><br><!--split--><div id="View" class="palettelabel">View</div> <div id="resetall" class="indent"> <table class="icontablefloat"> <tr><td><img src="icons/ViewReset.png" width="64" height="64"></td></tr> <tr><td>Reset all</td></tr> </table> <p>Applies a view reset to all viewports.</p> <p>The first click will reset views to focus in on just the selected objects, and clicking a second time will switch to focusing on everything regardless of selection.</p> <p>You can also reset all viewports by right-clicking the Reset button inside of an individual viewport.</p> </div> <div style="clear:left"> </div><br><div id="image" class="indent"> <table class="icontablefloat"> <tr><td><img src="icons/ImageIcon.png" width="64" height="64"></td></tr> <tr><td>Image</td></tr> </table> <p>Allows placement and editing of reference image planes.</p> <p>Click the Add button to create a new image plane.</p> <p>After an image has been added, it will show up in the list of all images. An entry in the list can be selected to hide, show, or remove it. Pausing your mouse over top of one entry in the list will show the full path to that image.</p> <p>The following options are also available and affect all images:</p> <p>Draw below objects - choosing this option draws images as a backdrop behind everything else.</p> <p>Draw with objects - this option draws images mixed in as if they were regular objects.</p> <p>Draw above objects - this option draws images on top of everything else as an overlay. This is intended to be used with transparency, it gives you a way to always see a faint image without objects blocking the way.</p> <p>Show in all views - shows the image in all viewports.</p> <p>Show in ortho only - only shows the image in the Top/Front/Right views, not in the 3D view.</p> <p>Transparency - you can put in a percentage here from 0% (fully opaque with no transparency) to 100% (completely transparent).</p> <p>Background images are editable while you are inside this command. Click and drag on an image to reposition it. Dragging on a corner frame widget allows scaling of the image, and dragging on the rotation widget allows rotating the image. A click and release on the rotation widget instead of click and drag enables a different rotation mode that shows a 3-wheel rotation gizmo. When that gizmo is enabled you can click and drag on any of the 3 wheels to rotate around any of the 3 axes - click off of a wheel to exit this mode. </p> </div> <div style="clear:left"> </div><br><!--split--><div id="Select" class="palettelabel">Select</div> <div id="selectall" class="indent"> <table class="icontablefloat"> <tr><td><img src="icons/SelectAllIcon.png" width="64" height="64"></td></tr> <tr><td>Sel all</td></tr> </table> <p>Selects all objects that are not hidden.</p> <p>If sub-objects are selected, the selection will be limited to other sub-objects. For example, if you have an edge of a solid selected, this will select all edges of that solid and not other objects.</p> </div> <div style="clear:left"> </div><br><div id="deselectall" class="indent"> <table class="icontablefloat"> <tr><td><img src="icons/DeselectAllIcon.png" width="64" height="64"></td></tr> <tr><td>Desel all</td></tr> </table> <p>Deselects all objects</p> <p>You can also use the Esc key to deselect objects, see <a href="#shortcutkeys">Shortcut keys</a> for more information.</p> </div> <div style="clear:left"> </div><br><div id="invert" class="indent"> <table class="icontablefloat"> <tr><td><img src="icons/InvertIcon.png" width="64" height="64"></td></tr> <tr><td>Invert</td></tr> </table> <p>Inverts the selection - selected objects will become unselected and unselected objects will become selected.</p> <p>If sub-objects are selected, the changes will be limited to other sub-objects. For example, if you have an edge selected, this will invert the selection of all edges of that solid and not other objects.</p> </div> <div style="clear:left"> </div><br><!--split--><div id="Construct" class="palettelabel">Construct</div> <div id="Construct_Boolean" class="indent"> <table class="icontable"> <tr><td><img src="icons/BooleanSetIcon.png" width="64" height="64"></td></tr> <tr><td>Boolean</td></tr> </table> <div id="booleandifference" class="indent"> <table class="icontablefloat"> <tr><td><img src="icons/BooleanDifferenceIcon.png" width="64" height="64"></td></tr> <tr><td>Diff</td></tr> </table> <p>Cut an object by subtracting another object from it.</p> <p>Select the objects to be cut first, then run Boolean Difference and select the cutting objects.</p> <p>Different kinds of objects can interact with each other. For example, a solid can be cut by another solid, surface, or a 2D curve. It is also possible to cut a 2D curve using another 2D curve.</p> <p>Example of Boolean difference between solids:<br> <img src="screenshots/BoolDiff1.jpg"> <img src="screenshots/BoolDiff2.jpg"> <br><br> <img src="screenshots/BoolDiff3.jpg"> <img src="screenshots/BoolDiff4.jpg"> </p><br><p>It is also possible to difference a solid by a 2D curve directly, creating a solid as the final result. It is not necessary to extrude 2D cutting shapes into solids if you want to cut all the way through. Here is an example of a solid being differenced by a set of 2D curves:<br> <img src="screenshots/BoolDiff5.jpg"> <img src="screenshots/BoolDiff6.jpg"> </p><br><p>Another example of solid/curve Booleans - here the solid is being cut by line segments, resulting in smaller sliced pieces each of which is a solid (result shown slightly separated here for illustration):<br> <img src="screenshots/BoolDiff7.jpg"> <img src="screenshots/BoolDiff8.jpg"> </p><br><p>It is also possible to difference a solid with an open non-solid surface. This will slice the solid into multiple pieces. Select and delete any pieces you don't want to keep (result shown slightly separated for illustration):<br> <img src="screenshots/BoolDiff9.jpg"> <img src="screenshots/BoolDiff10.jpg"> </p><br><p>Boolean difference also works between curves that are all on one common plane. Closed curves can also have other closed curves nested inside of them to form hollow 2D regions:<br> <img src="screenshots/BoolDiff11.jpg"> <img src="screenshots/BoolDiff12.jpg"> <br><br> <img src="screenshots/BoolDiff13.jpg"> <img src="screenshots/Booldiff14.jpg"> </p> </div> <div style="clear:left"> </div><br><div id="booleanunion" class="indent"> <table class="icontablefloat"> <tr><td><img src="icons/BooleanUnionIcon.png" width="64" height="64"></td></tr> <tr><td>Union</td></tr> </table> <p>Fuse objects together where they intersect.</p> <p>Solids can be unioned with other solids or surfaces, and 2D curves can be unioned with other 2D curves.</p> <p>Here's an example of unioning 2 solids - at the start there are 2 different box objects. The skinny box is positioned so that it punches through the wider box. After selecting them and running Boolean Union, the boxes are combined into one object. New edges are formed where the boxes intersected each other, and portions of each box that were inside each other have been discarded to make one single connected volume.<br> <img src="screenshots/BoolUnion1.jpg"> <img src="screenshots/BoolUnion2.jpg"> </p><br><p>Curves that are all on the same plane can be combined in a similar way:<br> <img src="screenshots/BoolUnion3.jpg"> <img src="screenshots/BoolUnion4.jpg"> </p> </div> <div style="clear:left"> </div><br><div id="booleanintersection" class="indent"> <table class="icontablefloat"> <tr><td><img src="icons/BooleanIntersectionIcon.png" width="64" height="64"></td></tr> <tr><td>Isect</td></tr> </table> <p>Combine objects together, only keeping areas contained by all objects.</p> <p>Objects to be intersected are treated as 2 different sets. Select one set, run Boolean Intersection, then select the other set.</p> <p>Solids can be intersected with other solids, surfaces, or curves, and 2D curves can be intersected with each other. 2D curves that are all on a single plane will generate a curve result, or 2D curve profiles on different planes can be combined to generate a solid result.</p> <p>Example of solid/solid intersection:<br> <img src="screenshots/BoolInt1.jpg"> <img src="screenshots/BoolInt2.jpg"> </p><br><p>Here is an example of intersection between a solid and a 2D curve. The area inside the curve will be kept. In a sense this is the opposite of Boolean difference, which would instead drill a star shaped hole through the sphere.<br> <img src="screenshots/BoolInt3.jpg"> <img src="screenshots/BoolInt4.jpg"> </p><br><p>Boolean Intersection can also be useful for creating a quick blocky 3D model that is the combination of 2 2D profiles arranged 90 degrees to each other. For example, here 2 curves are intersected to create a basic blocky car shape. History is available for this type of intersection, so you can adjust the curves and watch the 3D result update.<br> <img src="screenshots/BoolInt5.jpg"> <img src="screenshots/BoolInt6.jpg"> </p><br><p>Another example of combining 2D profiles - final stage shown after using Fillet to round the sharp edges:<br> <img src="screenshots/BoolInt7.jpg"> <img src="screenshots/BoolInt8.jpg"> <img src="screenshots/BoolInt9.jpg"> </p><br><p>Boolean Intersection can also be used on curves that are all in the same plane to create a curve result:<br> <img src="screenshots/BoolMerge7.jpg"> <img src="screenshots/BoolInt10.jpg"> </p><br><p>Another curve intersection example:<br> <img src="screenshots/BoolInt11.jpg"> <img src="screenshots/BoolInt12.jpg"> </p> </div> <div style="clear:left"> </div><br><div id="booleanmerge" class="indent"> <table class="icontablefloat"> <tr><td><img src="icons/BooleanMergeIcon.png" width="64" height="64"></td></tr> <tr><td>Merge</td></tr> </table> <p>Combines objects together and extracts all volumes.</p> <p>Boolean Difference, Union, or Intersection all discard certain pieces. Boolean Merge cuts up objects in a similar way as those other commands except it keeps all the solid pieces. Merge can be used on solids, surfaces, or curves in different combinations.</p> <p>Here is an example of Boolean Merge between 2 solids (pieces have been separated for illustration):<br> <img src="screenshots/BoolMerge1.jpg"> <img src="screenshots/BoolMerge2.jpg"> </p><br><p>2D curves can be Merged onto a solid to cut the solid by an imprint of the curve, leaving all pieces:<br> <img src="screenshots/BoolMerge3.jpg"> <img src="screenshots/BoolMerge4.jpg"> </p><br><p>Boolean Merge can also be used to extract a common solid volume from a set of intersecting surfaces:<br> <img src="screenshots/BoolMerge5.jpg"> <img src="screenshots/BoolMerge6.jpg"> </p><br><p>Merge can also be used on curves in the same plane:<br> <img src="screenshots/BoolMerge7.jpg"> <img src="screenshots/BoolMerge8.jpg"> </p> </div> <div style="clear:left"> </div><br></div> <div id="Construct_Fillet" class="indent"> <table class="icontable"> <tr><td><img src="icons/FilletIcon.png" width="64" height="64"></td></tr> <tr><td>Fillet</td></tr> </table> <div id="fillet" class="indent"> <table class="icontablefloat"> <tr><td><img src="icons/FilletIcon.png" width="64" height="64"></td></tr> <tr><td>Fillet</td></tr> </table> <p>Fillet is used to round off sharp corners.</p> <p>Fillet will apply the rounding in different ways depending on what is selected.</p> <p>Selecting an entire solid object will fillet all edges of the solid.</p> <p>Selecting edges of a solid will fillet just those edges.</p> <p>Selecting faces of a solid will fillet all the edges that belong to those faces.</p> <p>Selecting 2 individual surfaces will perform a surface/surface fillet operation, instead of an edge-based one.</p> <p>Selecting 2 curves will create a fillet between them, extending or trimming them if necessary.</p> <p>Selecting a single curve that has corners in it (for example, a rectangle curve) will allow filleting of some or all of those corners.</p> <p>Some examples of filleting:<br> <img src="screenshots/Fillet1.jpg"> <img src="screenshots/Fillet2.jpg"><br><br> <img src="screenshots/Fillet3.jpg"> <img src="screenshots/Fillet4.jpg"><br><br> <img src="screenshots/Fillet5.jpg"> <img src="screenshots/Fillet6.jpg"> <img src="screenshots/Fillet7.jpg"><br><br> <img src="screenshots/Fillet8.jpg"> <img src="screenshots/Fillet9.jpg"> </p> <p>At the "Pick fillet radius" prompt, you can either click 2 points to define the radius as the distance between those 2 points or enter a radius value directly. If you want to type in a value, it is not necessary to click in the Radius edit box first, you can just start typing and keystrokes will go there.</p> <p>The Shape: option controls whether the fillet will be shaped as an exact arc or as a more organic blend type shape. The blend options show a slider that can be used to adjust the amount of bulge.</p> <p>The Straight corners option controls whether rounded corners will be placed where fillets meet, or whether the fillets will be extended to intersect each other directly:<br> <img src="screenshots/Fillet10.jpg"> <img src="screenshots/Fillet11.jpg"> </p> <p>Enabling straight corners will cause failures in some situations where the fillets do not directly intersect each other when they are extended. Here is an example that won't work, notice the hole that would be created if this were attempted to be filleted with straight corners. The final step shows how a corner patch is needed in this case to connect the pieces together:<br> <img src="screenshots/Fillet12.jpg"> <img src="screenshots/Fillet13.jpg"> <img src="screenshots/Fillet14.jpg"> </p> <p>Fillets tend to be a complex area of calculation, and places that have small slivery surfaces or a lot of edges coming together at one shared point will tend to increase the chances that the fillets will fail to calculate. Trying to build things using broader surfaces and with more simple corner structures can help.</p> <p>Also one common cause for fillets failing to calculate is asking for too large of a radius than will fit inside the model. Try starting with a small value such as 0.1 and gradually increasing it. Often times it is surprising how much space a fillet of a seemingly small radius like 1 or 2 will occupy in a model, especially if the model has any thin or concave type areas. </p> <p>Areas with tight bends in them can also limit the maximum possible fillet size. Here is an example to demonstrate - imagine that the bent curve corresponds to a tightly curved area of a model, and the line represents a fillet radius that is larger than the size of the bend. As the filleter travels along the curve, it will try to maintain this distance, but you can see how this will cause a pinched and bunched up area around the tight bend where the lines are not cleanly separated and intersect with each other. The same kind of self-intersecting and bunching would happen to a fillet surface that tried to maintain a large radius as it goes through a tight bend. If you want to place larger fillets on your model you usually need to avoid making very tightly bent areas like this:<br> <img src="screenshots/Fillet15.jpg"> <img src="screenshots/Fillet16.jpg"> </p> <p>Normally fillets on a solid are applied to edges of the model. An alternative filleting mechanism is available by selecting 2 individual unjoined surfaces and running Fillet (you can use Edit/Separate to break a joined model up into individual separate surfaces). This style of surface/surface fillet is created by processing just the 2 surfaces instead of making the fillet try to follow edges, so it can succeed in places where the edge-based fillet will fail. This can sometimes be used to create fillets one piece at a time in difficult areas. The tradeoff is that these fillets will tend to require more manual trimming where pieces meet up while the edge-based filleting automatically trims and handles corner areas.</p> </div> <div style="clear:left"> </div><br><div id="chamfer" class="indent"> <table class="icontablefloat"> <tr><td><img src="icons/ChamferIcon.png" width="64" height="64"></td></tr> <tr><td>Chamfer</td></tr> </table> <p>Chamfer is used to chop off sharp corners with a small flat piece.</p> <p>It is very similar to Fillet, but instead of placing a rounded area it places a facet.</p> <p>Examples of chamfering:<br> <img src="screenshots/Chamfer1.jpg"> <img src="screenshots/Chamfer2.jpg"><br> <img src="screenshots/Chamfer3.jpg"> <img src="screenshots/Chamfer4.jpg"> </p> <p>Chamfer also has the option of specifying 2 different distances to control the slope of the facet. If faces were selected to chamfer, those selected faces will have distance 1 associated with them, with distance 2 applied to the adjacent unselected faces. If edges instead of faces are selected to chamfer, the edges are examined to see if they have a face in common and if they do that common face will use distance 1, with distance 2 applied to the adjacent faces. Here is an example - the top face is selected and a chamfer is then applied using distances of 1 and 3:<br> <img src="screenshots/Chamfer5.jpg"> <img src="screenshots/Chamfer6.jpg"> <img src="screenshots/Chamfer7.jpg"> </p> </div> <div style="clear:left"> </div><br></div> <div id="Construct_Offset" class="indent"> <table class="icontable"> <tr><td><img src="icons/OffsetSetIcon.png" width="64" height="64"></td></tr> <tr><td>Offset</td></tr> </table> <div id="offset" class="indent"> <table class="icontablefloat"> <tr><td><img src="icons/OffsetIcon.png" width="64" height="64"></td></tr> <tr><td>Offset</td></tr> </table> <p>Create a new object at a constant distance away from an existing one.</p> <p>Offset can be used on solids, surfaces, or curves.</p> <p>Examples of Offset:<br> <img src="screenshots/Offset1.jpg"> <img src="screenshots/Offset2.jpg"><br><br> <img src="screenshots/Offset3.jpg"> <img src="screenshots/Offset4.jpg"> </p> <p>Offset tends to be used more often on curves, with the Shell command being used instead more frequently on solids or surfaces.</p> <p>For curve offsets, Through Pt mode will let you pick a point and calculate the offset that passes through that point. Distance mode allows entering a specific offset distance and then you pick which side of the curve to offset towards by clicking with the mouse.</p> <p>Offset for surfaces or solids allows you to either pick 2 points to define the offset by the distance between the points, or enter a specific distance.</p> </div> <div style="clear:left"> </div><br><div id="shell" class="indent"> <table class="icontablefloat"> <tr><td><img src="icons/ShellIcon.png" width="64" height="64"></td></tr> <tr><td>Shell</td></tr> </table> <p>Modify a solid or surface to have a wall or slab thickness.</p> <p>If an entire solid is selected, the result will be an object with a hollow cavity inside of it. If faces of a solid are selected (which is the more typical way to use it), openings will be created along those faces with the thickness applied to the unselected faces. If an individual surface is selected, it will be thickened into a slab-like solid.</p> <p>At the "Pick thickness" prompt, 2 points can be clicked and the distance between them used as the thickness, or an exact thickness can be entered numerically. The Direction option controls which side the thickness will be added to, with Centerline placing half of the