V3 beta Mar-17-2013 available now

 From:  Michael Gibson
5774.1 
A new v3 beta (version Mar-17-2013) is now available for download here: http://moi3d.com/beta.htm , also linked to from the download page on the main web site.

New stuff:

Multitouch view navigation - use multitouch gestures (pinch or drag fingers) to do zoom/pan/rotate view manipulations. This works on Mac OSX 10.7 or 10.8 using a trackpad or on Windows 8 using a touch screen. There's a demo video here: http://moi3d.com/forum/index.php?webtag=MOI&msg=5731.1

The supported gestures are:

   Pan by 2 fingers dragging left/right/up/down

   Zoom by pinching index finger and thumb together or apart.

   Rotate left/right/up/down in the 3D view by dragging 3 fingers.

   2 finger double tap for view reset (zoom to selected objects or zoom to all if done a second time).

   Twist thumb and index fingers for 2D ortho view spin or 3D view tilt if those are enabled under settings.


Zooming in and out with multitouch can be easier to control in the 3D view if you have a parallel view projection rather than perspective. You can set a parallel projection under Options > View > "3D view projection". To set the default projection on startup, save a 3DM file with a parallel projection set and then put that 3DM file as the startup template under Options > General > Template file.

On OSX, 3 finger dragging for rotation in the 3D view will not work if any 3 finger swiping is already being used for OSX system functions. Check under System Preferences > Trackpad > More Gestures. If "Swipe between full-screen apps" or "Mission Control" are set to use 3 finger swiping, change them to use 4 finger swiping instead, then MoI will be able to receive the 3 finger dragging events.

There are some options available for changing multitouch behavior under Options > Rotate/Pan/Zoom options > MultiTouch options (in lower-right area):

   Reverse rotation checkbox - when enabled the 3D view rotation directions will be reversed.

   Rotate ortho views checkbox - when enabled thumb/index spin will spin the 2D ortho (top/front/right) views.

   Swap 3D rotate and pan checkbox - when enabled 2 finger dragging in the 3D view will do rotation and 3 fingers will do panning instead.

   Allow 3D rotation tilt - when enabled thumb/index spin will tilt the 3D view left or right.

   Rotation speed, Pan speed, and Zoom speed - a scale factor can be entered in here to adjust the speed of these movements, for example putting in 0.5 will make that operation half speed, putting in 2 will double the speed.


There are also a few additional settings available in moi.ini under the [MultiTouch] section:

[MultiTouch]
SingleFingerRotation=n
TiltSpeed=1.0
TiltCenterMode=0

SingleFingerRotation can be set to =y on Windows to make just one finger dragging do 3D view rotation instead of 3 finger dragging. This will prevent things like window selection from happening with touch so you should probably only try this if you also have a mouse or pen to use for selection.

TiltSpeed can be set to a scale factor to speed up or slow down thumb/index finger spin action in 3D views.

TiltCenterMode can be set to 0, 1, or 2 and controls how the center point works for 3D view tilting.
   With TiltCenterMode = 0 the current centroid of the touch points is used for the tilt center. With this one the tilt center moves right along with your fingers.
   With TiltCenterMode = 1 it will use the centroid between the 2 fingers just at the initial start of the 2 finger gesture, it won't update as you move your finger around, only when you start a new gesture.
   With TiltCenterMode = 2 it will use the center of the viewport as the tilt center, it won’t make any difference where on the screen you are at as far as tilting goes.


Thanks to William Knop for implementing OSX touch event handling code, and Isaiah Coberly for testing the Windows version.


New Nsided hole filling command (under Construct palette, next to Blend), still kind of a work in progress, some previous discussion here: http://moi3d.com/forum/index.php?webtag=MOI&msg=5721.2

EDIT - still working on better descriptions of multi-touch and Nsided stuff (edit2: just n-sided left now), but all the other release notes than those are here now:


Other stuff:

Updated relative tolerance handling for small objects - make the small object relative tolerance to be 1e-4 of the bounding box diagonal rather than 1e-2 as it was previously. This should help small objects behave more like regular sized objects in things that use relative tolerance. Also made a mechanism that additionally tightens the tolerance by up to 1/100 more if there are small sized features within the object. Fixes a boolean bug reported on the forum here: http://moi3d.com/forum/index.php?webtag=MOI&msg=5535.1

Updated curve offset - fixed having the command processor being re-created on every mouse move, which improves curve offset display performace especially on Mac.

Updated DXF export - Enable writing point objects to DXF format, and also fixed a crash bug reported through e-mail when using cubic splines export option with degenerate projected curves. Also don't send out degenerate projected curves at all which fixes importing into one particular version of AutoCAD that was sensitive to that.

Updated IGES, STEP, and SAT IO library to latest version.

Updated viewport scripting - added properties .pixelWidth and .pixelHeight on a viewport so that it can be possible to take the current viewport's size into account when doing something like a screenshot.

Added script interface for getting or setting the active style: moi.geometryDatabase.activeStyle

Added a new moi.ini flag to disable file caching under [UI] DisableFileCaching=n . When set to =y it will prevent MoI from caching scripts and UI files in memory so that they are loaded from disk on each use, this can help when you're working on doing some development with those files and you want to frequently test changes in them.

Updated Align command - Added a checkbox to the Align command for "Move as group", which is visible when multiple objects are selected for the align. When enabled it causes the objects to move as an entire set to their overall bounding box rather than each one moving individually. Requested on the forum here: http://moi3d.com/forum/index.php?webtag=MOI&msg=5533.1 . Also fixed a bug in Align where object alignment did not use a custom cplane properly.

Updated Transform > Copy command - added a command specific Undo action for the Transform > Copy command so that hitting undo while in the command will remove the last placed copy. Requested on the forum here: http://moi3d.com/forum/messages.php?webtag=MOI&msg=5524.89

Fixed a bug in Solids++ in the curve coincidence checker when dealing with 2 closed curves. Helps to avoid some edge fragmentation that could happen previously and fixes an Inset bug reported in the forum here: http://moi3d.com/forum/index.php?webtag=MOI&msg=5508.1

Update face domains as part of the default processing when a brep is added to the geometry database. Some Solids++ routines would not set the face domain and it was left the same as the surface domain, while on loading a 3DM file MOI would set the face domain to the bounding box around the UV trim curves. This difference in face domain could occasionally lead to slightly different behavior in intersection calculations, with things working better after doing a save and reload. This update should now give better consistency between how things behaved in a loaded file versus an in-session created one.

Fixed a selection bug where selecting just one curve and doing Join would deselect the curve but the edit frame would stay on the screen. Fixes a bug reported on the forum here: http://moi3d.com/forum/index.php?webtag=MOI&msg=5524.97

Updated chamfer UI - fixed a word wrap bug reported on the forum here: http://moi3d.com/forum/index.php?webtag=MOI&msg=5524.99

Fixed a bug for 3Dconnexion devices on OSX with multiple model windows open - previously the 3Dconnexion device would only work properly when there was only one window.

Added 3Dconnexion setting in moi.ini: [3Dconnexion] Swap3DViewPanZoom=n . This can be set to =y to swap pan and zoom motions for the 3D view only. Requested on the forum here: http://moi3d.com/forum/index.php?webtag=MOI&msg=5574.1

Updated 3DConnexion / simultaneous mouse move behavior. Delay mouse move processing until at least a small amount of time has passed since the last 3DX event - helps reduce jerky viewport movement for some cases.

Updated control point editing with analytic surfaces - After control point editing, if the previous surface was analytic or the new surface is planar, try to create an analytic surface for the new result. Fixes a bug with inset after control point editing reported on the forum here: http://moi3d.com/forum/index.php?webtag=MOI&msg=5583.1

Updated extrude to point - If the base curve is an arc or circle shape, try to make an analytic cone out of the result. Fixes a bug reported in the forum here with trying to offset the result: http://moi3d.com/forum/index.php?webtag=MOI&msg=5524.110

Updated properties panel arc resizing - don't look at closed curves when scanning for touching endpoints for an alternate origin for the scale. Fixes a bug report on the forum here: http://moi3d.com/forum/index.php?webtag=MOI&msg=5524.113

Fixed a scene browser bug where editing an object's name where only the case of the letters changed between upper and lower case did not trigger an update in the scene browser's object section. Fixes a bug reported on the forum here: http://moi3d.com/forum/index.php?webtag=MOI&msg=5635.1

Updated OBJ export settings - added a new setting in moi.ini for OBJ export to help with mesh transfer into Rhino. [OBJ Export] WriteStylesAsGroups=n When this is enabled by changing to WriteStylesAsGroups=y then the style name will be written as the group identifier when generating the mesh. This allows for using the setting in Rhino's OBJ importer for importing groups as layers to get the mesh back to the same layer as the original object. Requested in the forum here: http://moi3d.com/forum/index.php?webtag=MOI&msg=5637.1

Updated filtering - when a curve is filtered out from selection, don't draw it at all in the hit test map so it won't occlude edges which may be the filter targets. Fixes an edge selection bug reported in the forum where with edge filtering turned on the edges were still unselectable if curves were on top of them: http://moi3d.com/forum/index.php?webtag=MOI&msg=5732.1

Update selection - fixed regression bug introduced with the Flow command, where post picking for extrude did not allow drill-in to select edges on a box because it took the clicked-on face immediately. Reported on the forum here: http://moi3d.com/forum/index.php?webtag=MOI&msg=5732.1

Update hidden edges display - add a new checkbox setting in options dialog for controlling whether to show hidden edges on selected objects only, under Options > View > "Hidden edges on selected only". When enabled hidden lines are only displayed for selected breps only instead of on everything. This can help to disambiguate snapping onto or selecting hidden lines when there are many objects involved. This can also be toggled by script using:
script: /* Toggle using hidden edge display for selected objects only */ moi.view.hiddenLinesSelectedOnly = !moi.view.hiddenLinesSelectedOnly;

Implement view spinning - Add a script method for view spinning that can be set on a keyboard shortcut:
script: /* click and drag mouse to spin view */ moi.view.spinInteractive();
This allows for tilting/spinning the view using a mouse or tablet if no multi-touch is available.

Updated OSX crash reporting. Put moi_report.zip files into ~/Library/Logs/DiagnosticReports/ and also try to generate an OSX system crash report .crash file as well which goes in that same folder.

- Michael

EDITED: 6 Apr 2013 by MICHAEL GIBSON