From MoiWiki
Jump to navigationJump to search

Release notes for each V5 beta release are gathered here.


Forum announcement

New stuff:

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:

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.

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:

Update chamfer command - swap. Add swap button when "Use 2 distances" is active. Requested on the forum by 3image here:

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]

Update background image properties dialog - add width/height fields. Requested by moritz on the forum here:

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:

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:

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:

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:

Update Merge command. Process curves with Merge command - will merge G1 segments together.

Various other minor bug fixes.


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:

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.


Forum announcement

This release is primarily bug fixes for various aspects of groups.

Update group click selection. If Ctrl is held down, then deselect clicked on group instead of drill in.

Update ungroup - Fix bug where ungroup didn't go just one step when top level group selected.

Update group copy to clipboard - fix copy to clipboard with group sub object selected

Update groups window selection. Ctrl+window select was not deselecting the full group when there was no drill in, was only deselecting sub objects. Fixed so that Ctrl+window select targets entire group if no drill in selection. If there is any drill in then leaf nodes will still be targeted instead.

Add Group label in object type indicator in properties panel.

Update Scene Browser groups - If an object is inside of a selected group, make it count as selected for displaying selection dot in Types and Styles sections.

Update detailed object properties dialog for groups - report number of group children.

Fix bug with groups in detailed object properties dialog showing the style of group objects instead of the group's children and not listing the styles when there are multiple styles in the group.

Update Project command group processing

Update select all for groups

Update moi.geometrydatabase.selectLoop() to work with groups

Update invert selection for groups

Fix bug with groups with edit points on. When group was selected, dragging on edit point didn't work, whole group was being dragged instead.

Update Separate command, groups. Make objects being separated break out from groups.

Fix bug where drag point on curve would break modified object out of groups.

Fix problem with group handling for Flow command.

Fix group bug with ArrayCurve - groups appeared to lose selection when entering path picking stage in ArrayCurve.

Update scene browser styles for Groups. Tweak styles to not accumulate status for parent group objects, just the contents of the group.

Update properties panel for groups. Fix assigning style of groups by the properties panel style menu was only setting group parent object style and not child objects.

Update radial dimensions. When cross size is set to 0 to disable center point cross lines, don't include radius center point for window selection and bounding box framing. Fixes a bug reported on the forum by Martin here:

Update scene browser assigning style - don't modify object hidden or locked state to match existing object states when all current assigned objects were hidden or locked. Can be re-enabled in moi.ini by setting [Scene Browser] AssignStyleAssumeTargetState=y .

Update object drag - Fix regression bug ctrl+drag not working to drag copies of edge or face brep sub objects

Add Ctrl+tab shortcut key. Puts focus in XYZ input always, doesn't go to input fields in command ui area.

Fix Chamfer regression - Fix Chamfer regression introduced in v4 when making chamfer surfaces to be analytic plane objects. Fix bug in analytic plane/plane intersection that was causing chamfer to fail when 2 chamfer planes intersected each other.

Update DXF export. Don't mess with handle values of DimStyle entries already in the template file. Fixes AutoCAD generating an error when trying to copy objects to the clipboard after opening a DXF file from MoI. Fixes a bug reported by Tim on the forum here:

Update grid display - axis labels. Support custom axis labels for grid axis colors. Fixes bug reported in forum by Dinos here:

Update Windows installer. Add file association for SVG format and set file association information to be removed from registry on uninstall.

Themes - Add Terminal Green theme.

Update Theme UI reload. Fix crash bug when editing theme viewport brightness with MiniSidePane.js startup script. Fixes a crash reported through e-mail by James Elliott.

Fix unicode text theme bug. After processing theme defines, prefix .htm loaded data with a UTF8 byte order mark so the html parser will handle it as UTF8 content. Fixes a bug with translated plugins reported through e-mail by Pilou.

Update 3DM import from SpaceClaim. If a 3DM file comes from SpaceClaim, look for any faces that hae very large underlying surfaces and shrink those down. Fixes a 3DM import problem reported by Tolya Vozya on the forum at: