V5Beta
Release notes for each V5 beta release are gathered here.
Apr-10-2022
Dark UI theme and theme editor available under Options > General > "UI Theme".
Groups - create a group using the menu on the "Objects" section of the Scene Browser.
Types section of the Scene Browser has additional sub types like "Types > Curves > Circles" can be used to target just curves that are circles.
Sub types include:
Curves > Open, Closed, Planar, Lines, Polylines, Circles, Arcs, Ellipses, Elliptical arcs
Surfaces > Planar
Edges > Joined, Naked
Properties > Selected, Unselected, Locked, Unlocked, Visible, New objects.
Support for import/export to SVG format.
SubD conversion now supports FBX format.
The Mac version is now a universal binary that contains code for both Intel and M1 CPU architectures.
Added File > Notes button for setting text notes that are saved inside of a .3dm file.
Scene browser - click on text label of an item in the Objects section of the scene browser to assign current selection to a name or group.
Annotation text display engine performance - Hoist several Qt text layout calls up to layout time rather than calling at render time. Major improvement to render performance for text. Also if model units sized text is small on screen render as a textured quad instead of using text geometry.
Scene browser - Add "Unnamed" entry under Objects to allow targeting of all objects without a name.
Update STEP export - split closed surfaces Default is on, can be set in moi.ini under:
[STEP]
ExportSplitClosedSurfaces=n
Update tab controls - Add dot to active tab.
New rendering platforms - support for Direct3D9 on Windows and Metal on Mac. Can be set in moi.ini under [View] GraphicsAPI=Direct3D9 or GraphicsAPI=Metal . If you are having problems with a particular video driver you can try using one of these alternatives.
Added experimental ViewProject command that transforms objects by a perspective projection.
Support clipboard copy/paste of SVG format. To copy to the clipboard using SVG format, set up a shortcut key with this:
script: moi.geometryDatabase.copyToClipboardSVG();
Update default render engine on Wine - Default to Direct3D11 on Wine instead of OpenGL. Wine seems to compensate for various driver bugs in its Direct3D layer.
Update text rendering under Wine. Wine seems to have a bug in ID3D11DeviceContext::UpdateSubresource when it's being applied to an 8-bit luminance texture. When running under Wine use a 32-bit texture format for the text texture to avoid running into this.
Fix Mac version bug where doing a double right click could get stuck in a loop if there was a file dialog being shown after the double right click happened.
Fix crash bug in Extrude when extruding a curve with a large number of segments and with particular weight values. Fixes a bug reported by Scott Carson in e-mail.
Fix boolean bug where edges that touched at singularity were being incorrectly merged in boolean union. Fixes a bug reported through e-mail by Christopher Schardt.
Fix boolean problem with multi object booleans where tolerance settings were being handled slightly differently when many objects were being booleaned. This could sometimes yield different results when booleaning many objects at once instead of only 2 at a time. Fixes a boolean union bug reported through e-mail by Christopher Schardt.
Update Mac trackpad/Magic Mouse handling. Give up trying to automatically figure out if a scroll message is coming from Magic Mouse or trackpad it does not appear to be possible to do this reliably. So make Magic Mouse scroll behave same as trackpad scroll, the moi.ini option for doing trackpad scroll as a wheel mouse ([MultiTouch] UseTrackpadScrollAsMouseWheel=y) can be used to get old behavior on Magic Mouse. Also holding down Alt while doing a trackpad scroll will instead do a wheel zoom now. There is also a new parameter to reverse scroll/pan: [MultiTouch] ReverseTrackpadScroll=y
Updated Sweep 2 rails maintain height mode. If the the 2 rails start or end in a point don't disable "Maintain height" for the entire sweep, instead handle the scaling down to a point after the first or last proflie.
Update background images - Add in moi.ini option to make background image embed turned on by default.
[View]
BackgroundImageEmbedDefault=y
Update surface/surface intersection - Look for and remove duplicate intersection results. Fixes bug with multiple curve intersection results reported by Przemas in the forum here:
http://moi3d.com/forum/index.php?webtag=MOI&msg=10460.1
Update chamfer command - swap. Add swap button when "Use 2 distances" is active. Requested on the forum by 3image here:
http://moi3d.com/forum/index.php?webtag=MOI&msg=10289.37
Update mesh export vertex normal combining. Change vertex normal combining to use tolerance of 0.5 degrees instead of 3.0 degrees. It can also be changed now in moi.ini .
[Mesh Export]
UnifyVertexNormalsAngleToleranceDegrees=0.5
Update background image properties dialog - add width/height fields. Requested by moritz on the forum here:
http://moi3d.com/forum/index.php?webtag=MOI&msg=10289.29
Update text selection. Fix problem where text selection was lost when swiping a selection and releasing mouse button off of the UIPanel window.
Update selection - multiple select. If multiple select only with shift key is enabled don't clear selection if ctrl is down so that Ctrl+drag will still work as a deselection window. Fixes bug reported on the forum by Viewbyte here:
http://moi3d.com/forum/index.php?webtag=MOI&msg=10439.3
Update DXF import - fix LWPOLYLINE import 16 bit overflow crash bug reported through e-mail by Jörg Vollmer.
Update curve drawing corners - Make the current active point in curve drawing be shown as a corner if ctrl is down. Previously it would only show as a corner after it was picked.
Update STEP import - FACETED_BREP entities. v3 would read FACETED_BREP entities but this was lost in v4 with the restructuring to use multiple threads. Process these now, fixes v3/v4 regression reported on the forum by Martin here:
http://moi3d.com/forum/index.php?webtag=MOI&msg=10415.7
Update Flow. Sew edges for flow result so a closed tube will have start/end edges joined to make a solid.
Update ArcCenter command - int snap. Enable radial intersection snap point for ArcCenter command. Fixes a bug reported by Andre in the forum here:
http://moi3d.com/forum/index.php?webtag=MOI&msg=10399.1
Fix transform regression. Fix regression where invalidating hit test map on selection change (change near the end of v4 beta) was causing transforms like object drag to regenerate the hit test map on every mousemove. Fixes a performance regression reported through e-mail by Massimo.
Add option for grid opacity in moi.ini under [Grid] GridOpacity=255
Update relative expressions. Add in percent relative expression, so you can put in 120% into a distance field to alter the current value.
Fixes for running on Mac with case sensitive filesystem.
Update Loft with loft style = straight. Loft with loft style = straight would generate longer faces in coplanar segments. Fixes bug reported by Ed Ferguson in the forum here:
http://moi3d.com/forum/index.php?webtag=MOI&msg=10160.1
Update Merge command. Process curves with Merge command - will merge G1 segments together.
Various other minor bug fixes.
Scripting:
Updated FilesystemObjectModel::getFiles() - Added optional 3rd parameter to recurse subdirectories.
Added annotationFrame property to annotation objects so that a script can get an annotation object's plane.
Edit points scripting - Add scripting interface on objects for:
obj.hasEditPoints - read-only property true if object has edit points, false if not.
obj.hasSelectedEditPoints - read-only property true if object has any selected edit points.
obj.numEditPoints - read-only property for number of edit points.
obj.getEditPoint( index ) - method that returns an x,y,z point for the given edit point index.
obj.getEditPointSelected( index ) - method that returns true if the given edit point is selected.
Also fix bug show points not refreshing redraw properly when set through script rather than through the show points command.
Added isEllipticalArc property for curves and curvesegments.
Update viewport.interactiveViewChange(). Add optional 2nd parameter to viewport.interactiveViewChange() function to allow a script to use it in a modal fashion. Fix for Ed's script posted on the forum here:
http://moi3d.com/forum/index.php?webtag=MOI&msg=10403.1
Update save file dialog handling. Allow initializing dialog with a directory name, like:
SaveAs c:\output\fbx
When given a directory name the dialog will start out in that directory.