V5 beta Apr-27-2026 available now Sticky

Next
 From:  Michael Gibson
11970.1 
Get it at:
https://moi3d.com/beta.htm

 

New stuff:

Write styles as layers to SketchUp .skp output

Implement fractional inches length display option. When unit system = Inches there is now an option distance display: Fractional Inches.

Add option for DXF output to write segments of a curve as individual entities same as using Edit > Separate on the curve before export.
[DXF Export]
WriteCurveSegmentsSeparately=y

Update STEP header - Strip out path from filename in STEP header

Update view pan with MMB
Shift+MMB drag = Pan for Blender compat.
When [View] ShiftMMBPan=y is set in moi.ini .
When Rotate with middle buttton set, you can then get Shift+MMB for pan by setting [View] ShiftMMBPan=y is set in moi.ini .

Update theme straight snap line color
Look for STRAIGHT_SNAP_LINE_ARGB_COLOR2 symbol in the theme's defines.inc .
If set this will be used for the second color on dashed construction lines if the viewport has a dark background color.
if not set the second color will be the inverse of the main color.


Bug fixes:

Fix svg import bug - Fix bug where having a <symbol> with self closing tag triggered an error that aborted entire load.

Fix bug where transforming objects that are inside groups would make the transformed objects hidden at the end.

Fix brep disable subobject styles not being processed on brep in group.

Fix alphabetic upper/lower case sort ordering of named objects in the Scene Browser.
Previously sort order with differing cases would have capital letters and lower case in separate sections, like:
A B C a b c
Fixed so upper case and lower case are next to each other like:
A a B b C c

Fix wrong sub object visibility state after canceled transform.

Fix leader selection bug. A leader scaled by model units where the text value is a space character would not select with a left-to-right window selection.

Update DXF import - Fix polyline import bug, polyline vertices were not being read if "Vertices follow" flag was not set.

Update tapered extrude - keep analytic circles for resulting edge curves on tapered extrude.

Fix curve filleting - fix failed curve fillet on anti-tangent cusp point.

Fix bug with hidden sub objects of groups becoming visible after undo.

Make annotation text with scale mode = by model units have the text height scale up and down with the transform.

Fix construction line hit test bug. Annotation lines were being drawn on top of construction lines in the hit test map which prevented a construction line that was on the cline from getting "on" snaps. Fixed by only drawing annotation lines for point picking hit testing, not for object selection hit testing.

Fix bugs where annotations inside groups not having various things applied to them.


Scripting:

Add objectList::matchProperty( 'name', 'value' );
Returns list of objects that have a property with the given value.

Update Scene Browser scripting
Add SceneBrowserItem::isTargetedObject( obj, for_selection );
and SceneBrowserItem::gatherTargetedObjects( for_selection );

Update PointStreamPicker - Allow script function as a bind target

Add -LoadAsTemplate command line option to load file also given as a command line parameter as a template file instead of regular file.

Update ObjectList::callMethod() - pass function arguments through.

Add moi.ui.setBusyCursor( busy );

Add annotation.scale( ScaleFactor ) method. Can be used to scale annotation text and arrow sizes up or down when making a screenshot.

Add moi.ui.resetCPlaneAfterNextPointPick()
When set when the next pointpicker finishes it will reset the cplane back to world.

Add face.isRational, face.degreeU, face.degreeV, face.knotsU, face.knotsV, can be used for comparing if the underlying surfaces for 2 faces are the same.


Update surface control point scripting.
Implement face.numControlPointsU , face.numControlPointsV, and var index = face.uvToEditPointIndex( u, v )

Can be used to select rows or columns of surface control points.

Examples: select the top edge of points along the U direction:
code:
	
script:var faces = moi.geometryDatabase.getSelectedObjects().getFaces();
for ( var i = 0; i < faces.length; ++i )
{
	var face = faces.item(i);
	var numu = face.numControlPointsU;
	var numv = face.numControlPointsV;
	
	for ( var u = 0; u < numu; ++u )
	{
	    var index = face.uvToEditPointIndex( u, numv-1 );
	    face.getParentBRep().setEditPointSelected( index, true );
	}
}

Selecting the right-side edge of points in the V direction:
code:
script:var faces = moi.geometryDatabase.getSelectedObjects().getFaces();
for ( var i = 0; i < faces.length; ++i )
{
	var face = faces.item(i);
	var numu = face.numControlPointsU;
	var numv = face.numControlPointsV;
	
	for ( var v = 0; v < numv; ++v )
	{
	    var index = face.uvToEditPointIndex( numu-1, v );
	    face.getParentBRep().setEditPointSelected( index, true );
	}
}


More scripting support for edit points.
Add:
obj.getEditPoints() - returns list of 3d edit points
var newobj = obj.setEditPoints( points ) - edits an object by setting its edit points.


Update scripting - curve.containsPoint( pt )

Add curve.containsPoint( pt ) - tests if the given point is inside the projected outline of a planar curve.

This enables being able to make a script to select object edit points inside of a selected boundary, like:
code:
script:
var crvs = moi.geometryDatabase.getSelectedObjects().getCurves();
var objs = moi.geometryDatabase.getObjects();
for ( var i = 0; i < objs.length; ++i )
{
	var obj = objs.item(i);
	if ( obj.showPoints )
	{
		for ( var j = 0; j < crvs.length; ++j )
		{
			var crv = crvs.item(j);
			if ( !crv.isPlanar )
				continue;
	
			for ( var k = 0; k < obj.numEditPoints; ++k )
			{
				var pt = obj.getEditPoint(k);
				if ( crv.containsPoint( pt ) )
				{
					obj.setEditPointSelected( k, true );
				}
			}
		}
	}
}

 
- Michael

EDITED: 22 May 1:33 by MICHAEL GIBSON

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Frenchy Pilou (PILOU)
11970.2 In reply to 11970.1 
French version done! ;)
---
Pilou
Is beautiful that please without concept!
My Moi French Site
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Zooen
11970.3 
The French version of Zooen is already done!
This V5 beta will be available until December-26-2026.

EDITED: 28 Apr by ZOOEN

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  James (JCHH)
11970.4 In reply to 11970.1 
would you like feedback in this thread or as separate posts?
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
11970.5 In reply to 11970.4 
Hi James, separate posts is a bit easier to keep track of.

But either is ok.

Thanks,
- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  blowlamp
11970.6 
This releae seems to have had a substantial update to the Shell tool. It's looking very good over here. ;-)
Thank you, Michael.

Martin.
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  geekmidget (HF)
11970.7 
Revolve tool doesn't seem to be following the shape of a curved profile I made.


  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
11970.8 In reply to 11970.7 
Hi geekmidget, that's just a display artifact that should be ignored.

There is a setting under Options > View > Meshing parameters > "Mesh angle", if you set Mesh angle to 5 it will do some more refinement of the display mesh.

But it isn't very good to modify that if you have larger models because the display meshes can get pretty heavy.

More information here:
http://moi3d.com/forum/index.php?webtag=MOI&msg=10580.2

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Message 11970.9 deleted 2 May by PEER

Previous
Next
 From:  blowlamp
11970.10 In reply to 11970.7 
It's just a display artifact and is not indicative of any inaccuracy in the part.
Go to Options > View and lower the Mesh angle from 10 to 5 to see the effect.

Martin.
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  geekmidget (HF)
11970.11 
Thank you, what a relief!
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Cuboctahedron
11970.12 
Do we have release notes for this version?
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
11970.13 In reply to 11970.12 
Hi Cuboctahedron,

> Do we have release notes for this version?

Not yet, sorry for the delay.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Finema
11970.14 In reply to 11970.1 
Thanks Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Marc (TELLIER)
11970.15 
Hi Michael,

Would it be possible to have a small summary of the update ?

Thanks,

Marc
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
 From:  Michael Gibson
11970.16 In reply to 11970.15 
Release notes added at top of this thread.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged
 

Reply to All Reply to All