V4 beta Oct-10-2019 available now

 From:  Michael Gibson
9526.1 
A new v4 beta (version Oct-10-2019) is now available for download here: http://moi3d.com/beta.htm , also linked to from the download page on the main web site.

The primary focus for this release is a new detailed object properties dialog and new annotation/dimension tools on the "Dim" tab in the side pane.

The new extended properties dialog is triggered by the "Details..." button in the Properties Panel here:



The Type: section of the detailed object properties dialog will give some additional information about the object type:



For curves it will report if it is an open curve or closed curve, whether it has the shape of a line, polyline, circle, arc, ellipse, elliptical arc, whether it is planar and the number of segments in the curve.

For surface/solid objects it will report if it is a solid, open joined surface, or open individual surface, if it is a planar surface, the number of joined edges, number of naked edges, and number of faces.

For edges it will report open, closed, joined, naked, line, circle, ellipse, elliptical arc, and planar.

For a face selected it will report if it is a planar face.

For an annotation selected it will report if it is a linear dimension, radial dimension, angular dimension, leader, or annotation text.

When multiple objects are selected it will make a combined report like this:



The type labels can be clicked on to filter the selection down to just the objects that match that label:



You can also hold down the shift key which will allow you to click multiple labels and the filtering will be triggered when you release the shift key. Holding down the Ctrl key while clicking on a label will remove its objects from the selection.

Lower down on the dialog there are sections for Curve properties, Solid or surface properties, and Annotation properties if any of those types of objects are selected:



There you can calculate the length of curves, the surface area or volume of a surface or solid, and adjust properties for annotation objects.

When you click the "Calc" button to calculate a value the button will be replaced with a numeric value and a small "Copy" icon will appear next to it. You can click on the value to copy it to the system clipboard.


The other major new feature area are annotation objects which can be used to add dimensions and text to your model to use for documentation.

These are added by 7 new commands in the Dim tab on the side pane here:




The DimHorizontal command creates a linear dimension going in the x-axis direction of the construction plane:


The DimVertical command creates a linear dimension going in the y-axis direction of the construction plane:


The DimAligned command creates a linear dimension going in any direction on the construction plane:


All 3 of the linear dimension commands have a "From object" button in their command options which you can trigger to take the start and end point of a curve as the first 2 points of the dimension.

The DimRadius command creates a radial dimension on a circle or arc curve:


The DimAngle command creates an angular dimension on the construction plane. There is a "From lines" button in its command options which will allow you to select 2 line objects instead of picking points.


The Leader command creates a leader object which is a text label with an arrow.


The AnnotationText command creates an annotation text object which is a text box by itself, no arrows.

Annotations are currently only saved to and from .3dm files. Saving them to DXF and PDF/AI files will be upcoming.

There is an option in moi.ini for changing the display appearance of arrowheads in annotations by disabling mitered arrowhead tips:
[Annotations]
MiterArrowheads=y



Other bug fixes and updates:

Update FBX export - FBX version, object names, and materials. Add option for which FBX version to use under Options dialog > Import/Export > FBX options > FBX version. Object names are now written to the FBX files instead of only generic "object1", "object2", ... names and styles are now written as materials in the FBX export. Writing materials can be disabled in moi.ini under [FBX Export] WriteMaterials=n

Added SubD import option for open boundaries behavior under Options > Import/Export > SubD import options. Can be one of "Open boundaries: Keep corners" or "Open boundaries: Rounded". The default is "Keep corners" as per the discussion on the forum here:
http://moi3d.com/forum/index.php?webtag=MOI&msg=9274.1
It can be set to "Open boundaries: Rounded" to return to the previous beta's behavior at open boundary areas.

Update DXF/PDF/AI hidden line layer controls. Add an optional prefix and/or suffix to be added to the style name when generating a 2D hidden line drawing to DXF/PDF/AI formats. Requested on the forum by miquik here:
http://moi3d.com/forum/index.php?webtag=MOI&msg=9418.1

Update view tabs - enable right click to get reverse views. Requested by Juraj in the forum here:
http://moi3d.com/forum/index.php?webtag=MOI&msg=9473.10

Add option in moi.ini for zooming using Shift+MMB:
[View]
ShiftMMBZoom=y

Update file dialog filters. Make "All supported files" the first item in the file open filter list on both Windows and Mac (previously it was only on Mac). So that will be the default filter when the file dialog is first opened. This can be reverted to the previous behavior by a setting in moi.ini :
[FileDialog]
AllSupportedAtBottom=y
Requested by agonyii in the discussion forum here:
http://moi3d.com/forum/index.php?webtag=MOI&msg=9387.1

Add moi.ini option for LWO export to not write styles as materials/surfaces in the LWO file.
[LWO]
WriteMaterialAssignments=y

Fix bug with meshing dialog settings not being saved. Reported by stefan in the newsgroup here:
http://moi3d.com/forum/index.php?webtag=MOI&msg=9266.51

Fix Options dialog sub dialogs not displaying in full screen mode on macOS Mojave. Simplify dialog window z-ordering on Mac to avoid Mojave bug and hopefully be more resilient against any future Mac child window behavior changes. Reported by Martin in the forum here:
http://moi3d.com/forum/index.php?webtag=MOI&msg=9443.1

Fix improper mouse coordinate scaling on Mac w/Retina. Fix bug with longer distance delay before rotate/pan engages with V4 compared to V3, reported on the forum by Nis here:
http://moi3d.com/forum/index.php?webtag=MOI&msg=9266.200

Fix PDF export crash bug reported on the forum by Mip here:
http://moi3d.com/forum/index.php?webtag=MOI&msg=9266.144

Fix crash with some extended combination keystrokes such as Ctrl+Alt+Win+Numpad1 (QTBUG-36061). Fixes a crash bug reported through e-mail by Mark Tomlinson.

Fixed a crash in display meshing with a file reported through e-mail by Bodo-Lutz.

Fix crash in node editor revolve with small angle value, reported by Pilou in the forum here:
http://moi3d.com/forum/index.php?webtag=MOI&msg=9476.119

Updated HarmonyWare libs for STEP, SAT, and IGES file I/O from version 2.1.0 to 2.1.4, various bug fixes.

Update STEP import/export - face colors. Support per-face colors for STEP file import and export. Fixes STEP import color bug reported on the forum by Fran6 here:
http://moi3d.com/forum/index.php?webtag=MOI&msg=9339.4

Fix 3DM import bug with incorrect circle orientation when reading 3DM files from CAD Exchanger. Fixes mangled import of mould.quadlobe.toy reported on the forum by LarryV here:
http://moi3d.com/forum/index.php?webtag=MOI&msg=9266.164

Update Construct > Curve > Isect "Curve from 2 views". Allow lines to be used as input for curve from 2 views, requested by Przemas in the forum here:
http://moi3d.com/forum/index.php?webtag=MOI&msg=9440.1

Update Trim - "stencil cut" options. Add options to Edit > Trim for deleting the cutting objects and for having a joined together result with "keep all" instead of always separarting into pieces. Requested on the forum by Przemas here:
http://moi3d.com/forum/index.php?webtag=MOI&msg=9436.1

Fixed bug where left-click on style line of properties panel behaved the same as the right click shortcut for editing the style rather than putting up the style picker menu. Reported in the forum by Ralf here: http://moi3d.com/forum/index.php?webtag=MOI&msg=9266.22

Update selection texture readback on Wine - test for Nvidia driver bug with red/blue bytes swapped and compensate. Also add calls to glFinish() on Wine to try and help avoid some other Nvidia driver bugs on Linux/Wine.

Update command object model for properties undo. Add moi.command.addSelectedObjectsStateUndoUnit(); that can be called by a command that only modifies properties and doesn't add or delete objects, to get undo support.

Add script properties to Face objects:
face.domainMin : Property that returns u,v coordinate of the lower left of the surface's parameter range.
face.domainMax : Property that returns u,v coordinate of the upper right of the surface's parameter range.
face.evaluatePoint( uv, u_from_left, v_from_left ) : Function that evaluates a uv parameter value and returns a 3D point.
face.evaluateNormal( uv ) : Function that evaluates a uv parameter value and returns a normal vector.
face.evaluate1stDerivatives( uv, u_from_left, v_from_left ) : Function that evaluates a uv parameter value and returns first derivatives as a list containing [pt, du, dv, duv].
face.evaluate2ndDerivatives( uv, u_from_left, v_from_left ) : Function that evaluates a uv parameter value and returns first and second derivatives as a list containing [pt, du, dv, duv, duu, dvv].
face.isPlanar : Property that returns true if the surface is planar.
face.planarFrame : Property that returns a coordinate from for a planar surface. Only valid if isPlanar returns true.
face.isOnPlane( frame ) : Function that returns true if the surface is planar and is on the given coordinate frame's x/y plane.
face.isOnParallelPlane( frame ) : Function that returns true if the surface is planar and is on a plane parallel to the given coordinate frame's x/y plane.

EDITED: 21 Jan 2020 by MICHAEL GIBSON