Difference between revisions of "V3Beta"

From MoiWiki
Jump to navigationJump to search
Line 190: Line 190:
 
http://moi3d.com/forum/index.php?webtag=MOI&msg=5389.1
 
http://moi3d.com/forum/index.php?webtag=MOI&msg=5389.1
  
Updated ArrayGem2 - allow point objects to also be selected as target objects for creating copies instead of only path curves.
+
Updated ArrayGem - allow point objects to also be selected as target objects for creating copies instead of only path curves.
  
 
Some scripting fixes - fix problem in function signature for moi.vectorMath.createFrame() that caused different behavior when arguments were left out between Windows and Mac, disabled script timeout that would abruptly cancel scripts that ran a tight loop for too long, fixed problem where pasting a script fragment into the xyz coordinate box would evaluate it twice, and make factory.getCreatedObjects() work with async factories by waiting for the async factory to finish its work before returning back to the script with the generated objects.
 
Some scripting fixes - fix problem in function signature for moi.vectorMath.createFrame() that caused different behavior when arguments were left out between Windows and Mac, disabled script timeout that would abruptly cancel scripts that ran a tight loop for too long, fixed problem where pasting a script fragment into the xyz coordinate box would evaluate it twice, and make factory.getCreatedObjects() work with async factories by waiting for the async factory to finish its work before returning back to the script with the generated objects.

Revision as of 21:47, 16 June 2013

Release notes for each V3 beta release are gathered here.

Aug-24-2011

Forum announcement

New Flow command (Transform > Deform > Flow, no icon yet) for deforming objects from one "backbone" to another, some examples in these forum posts:   [1]   [2]


New selection indicator in the scene browser - shows a yellow dot on the right hand side to show if an item has selection or not, also now click on that spot to select or deselect things in the scene browser. Also you can use Ctrl+click on that same spot to set a selection filter which is also new. Some more descriptions here:   [3]   [4]


Major overhaul to many internals - the UI is now based off of WebKit/JavaScriptCore instead of mshtml.dll/JScript.dll , updated to new OpenNURBS v5 library for reading 3DM files - this enables reading of Rhino v5 files and should round trip stuff like extended layer properties to Rhino v4 better. Also updated to the newest release of the Solids++ geometry library which has some various bug fixes in it. There may be some regressions due to all this various library churn, let me know if something that worked in v2 doesn't seem to work in v3.


Oct-25-2011

Forum announcement

New Twist command (Transform > Deform > Twist, no icon yet) for deforming objects by twisting them around an axis line. Some examples in this forum thread: [5]

New "Projective" option for Flow which can help for applying objects on to a localized area of a target object more like a decal rather than covering the entire surface like regular Flow. See here for a description: [6]

Updated Flow to pay attention to where you click on each surface to control how to match the results up - you click near the end of an edge on each surface and UVs will be flipped or swapped as needed to make those areas aligned, see this post for some more description: [7]

Added a "Flip surface normal" checkbox option to Flow so you can flip the result in the vertical surface normal direction if it is reversed from what you need.

Updated STL export for object names - if there is a single object being written to the STL file and it has a name, that name will be written as the object label in the file instead of just the generic "OBJECT".

New construction line snap plane feature - you can now make a "quick snap plane" by drawing 2 construction lines that share the same start point. Then when you snap on to that start point you can draw planar shapes like a circle from center point or rectangle from center and it will align perpendicular to those 2 crossing construction lines. It's also possible to use this to get a vertical straight snap line along that perpendicular as well. Some discussion in the forum here: [8] and some animated examples of its use here: [9]

Updated LWO export with an option for LightWave v10 style vertex normals - it seems that with LightWave v10 LW expects to see normals reversed in direction from LW 9.6 used. So now there are options for storing normals for Modo, LightWave 9.6 or LightWave 10, they each expect to see the normals in a slightly different coordinate system.

Updated scene browser text label display - clipped text so that a long text name won't overlap underneath the selection indicator area unless the selection indicator is going to be empty.


Fixed a bug in curve-to-curve Flow where it didn't work correctly unless both curves were in the world x/y plane.

Fixed a bug where the bounding box was not computed correctly for some kinds of curves imported from .ai files.

Fixed a bug where sliders did not work properly if the system locale used a comma as the decimal point separator.

Fixed a bug where an ignorable assert warning could pop up for some intersection object snap cases.

Fixed a regression bug in the geometry library that was causing some cases of "On surface" object snap to fail on some surfaces of revolution.

Fixed a regression bug in the geometry library that could cause extrusion to fail of planar surfaces that were actually made up of numerous control points instead of being simple planes.

Fixed a bug in accurate bounding box calculation on some kinds of surfaces that have an outwards flaring shape to them.

Fixed a problem where you couldn't use JPEG images in the UI, you could only use PNG. Now you can use any of PNG, JPEG, or GIF for images in any custom HTML UI.

Fixed a crash bug where running out of memory in one particular spot in mesh calculation would crash instead of giving the "Insufficient memory" warning message.

Fixed a bug where the previous window position was incorrectly still used with a different monitor arrangement when moving a laptop between docking stations, bug reported in the forum here: [10]

Fixed a bug with filtering on multi-style solids not working as expected reported in the forum here: [11]


Apr-16-2012

Forum announcement

This release was just to extend the expiration date, no new major features in this build, just some minor bug fixes.


Jul-20-2012

Forum announcement

Multiple cpu cores are now used in the draw engine - this should generally speed up the display of more complex models on multi-core machines. The exact amount varies depending on your machine and video card and the particular model features but speedups in the range of 2x to 3x seem to be the most common. There are some machines that are limited by some other bottleneck than CPU processing and on those there is no speedup at all. But it seems to deliver a good boost in most cases.

If you want to benchmark this new version with the old engine, you can set up a shortcut key with this script on it which will toggle a numeric readout of the display time in the upper-left corner of viewports: script: /* Toggle redraw time display */ moi.ui.showViewportDisplayTime = !moi.ui.showViewportDisplayTime;

The number of threads used can be limited by a new setting in moi.ini, the DisplayThreadLimit= setting inside the [View] section. If you set DisplayThreadLimit=1 there the multi-core use will be disabled.


PDF import has been totally overhauled, it should be a lot more robust and some kinds of PDFs that would previously get garbled should come through ok now. This should also improve .AI imports as well for AI files written in Illustrator v9 or higher versions since those newer style .AI files are actually PDF files. However, when saving these newer .AI files out from Illustrator you now need to set the "Create PDF Compatible File" option turned on in Illustrator, otherwise Illustrator ends up writing a file with a PDF outer structure but with all actual data in a private format.


New Extrude to point and Extrude tapered options for the Extrude command. These are 2 new buttons on the Extrude options panel:

get_attachment.php?webtag=MOI&hash=17cb96b04ccb64deae2eaca970123195&filename=extrude_new1.jpg

Extrude to point connects the profile curve to a point that you pick, it's useful for making pyramid or cone-like objects:

get_attachment.php?webtag=MOI&hash=036435228319db2afd64b1044c4971d3&filename=extrude_new2.jpg

Initially the point will track along the same vertical line through the shape's centroid that the regular extrude also tracks along. If you want to pick a point away from that line for the tip you can push the "Unlock direction" button which will then allow you to place the top point anywhere.

The "tapered" option allows you to produce an extrusion with a draft angle applied to make the side walls at a specific angled slope. You can also have interior outlines which will flare in the opposite direction:

get_attachment.php?webtag=MOI&hash=a36029f56abbf8af0b82f7ecd3b33c50&filename=extrude_new3.jpg

The height of the tapered extrusion will generally be limited to be less than whatever amount would cause the different sloped profiles to collide into one another.


New functions for Isocurves - a new Isocurve curve construction command under Construct > Curve > Iso, and a new "Isocurve" option for the Trim command when trimming a single surface. An Isocurve is a curve on a surface that comes from the surface's own U or V directions. They can be convenient for certain operations since they follow the natural rectangular layout of a surface.

So for example say you have a fillet surface like this that you'd like to cut along one of its own arc cross-sections at the indicated spot:

get_attachment.php?webtag=MOI&hash=90dcf28b311702eb4660b26114293f97&filename=isocurve1.jpg

The new Isocurve option for Trim can help make this operation more convenient - first use Edit > Separate to make sure the fillet is an individual surface not joined to anything else. Then when you run the Trim command there will be a new "Isocurve" button at the prompt for selecting cutting objects. If you push that button you can then pick a point on the surface and one of the natural U or V (or both) directions of the surface will be used as a cutting line. For a fillet surface one of those directions will be an exact arc curve like this:

get_attachment.php?webtag=MOI&hash=a477d89d2c576464b264ed5060e30f1f&filename=isocurve2.jpg

You can place multiple isocurves to use as cutters, when you are done right-click or push "Done" and then the surface will be cut and you can pick which pieces to discard:

get_attachment.php?webtag=MOI&hash=1d0726cfcf3f50eb3f457922505ceb0b&filename=isocurve3.jpg

get_attachment.php?webtag=MOI&hash=cf29592b372fe22f12a41a929a0ca190&filename=isocurve4.jpg

The Construct > Curve > Iso command will generate the Isocurve as a regular curve object so that you can use it for general construction like as a sweep path or whatever.

On several types of primitives isocurves will be key features of the object like for example on a sphere one isocurve direction will be a circle of latitude on the sphere and the other direction will be an arc of longitude on it.


Sep-1-2012

Forum announcement

Updated Solids++ geometry library to latest version, includes various bug fixes but please also be on the lookout for any regressions (things that used to work previously but don't anymore after the update).

For Mac OSX this version should now work ok on OSX 10.8 Mountain Lion, please let me know if you still see any issues there.

Updated Network command - fixed a bug that was causing Network results to be extra lumpy in certain circumstances, the fix should give better quality surfaces. There is also a new "Mode" option that you can adjust to modify the fitting behavior.
    Mode = "Normal" fits the boundary curves by the regular fitting tolerance. This makes the resulting surface hug the shape of the boundary curves accurately enough so that it can be joined to other things built off of those same curves.
    Mode = "Lighter" makes the surface fit to a looser tolerance, making a lighter surface but that adheres less to the boundary curves.
    Mode = "Custom" - allows you to enter in a numeric tolerance value of your own choosing.
    Mode = "Uniform" - allows you to enter in a number of points - each section of the Network is fit with that number of control points per region rather than refining things adaptively to meet a distance tolerance like the other modes.
You can use one of the other modes than "Normal" if you want to output a less constrained and lighter surface at the expense of it not hugging as tightly to the boundary curves. So one thing to note if you use Network is that there is now an additional stage to the command where you can set the mode, and the command will not complete until you push "Done" or right click on that new additional step.

Updated curve fitting - the Rebuild command can now often generate a fit to the same accuracy as before but with fewer (often about half as many) control points used. The "Delete input objects" checkbox is now turned on by default for Rebuild.

Fixed a bug with Boolean Union when some open surfaces were used as part of the boolean, where in some circumstances it would not recognize and remove "interior cell walls" between 2 solid regions. This fixes the bug reported on the forum here: http://moi3d.com/forum/index.php?webtag=MOI&msg=4388.160

Updated Alt so holding Alt will also suppress the "Closed" snap when drawing a curve or polyline same as it suppresses other snaps. Reported on the forum here: http://moi3d.com/forum/index.php?webtag=MOI&msg=5338.1

Fixed file handling on Mac OSX so that any of the characters:     " * <> ? |     can be used ok in a file or directory name now - previously a file name with any of those characters would not work properly, which was a side effect of them being illegal filename characters in Windows.


Nov-6-2012

Forum announcement

Mac version should now work fine with the latest OSX system updates 10.8.2 and 10.7.5 without needing any other settings adjusted.

New DXF file format support for import and export - focused on curve entities like lines, polylines, arcs, circles, splines. Should help with data transfer to and from various 2D CAD programs. When exporting you can choose to export either a 2D projected view which will flatten the curves by a view projection, or to export the 3D curve data. It's saved as an AutoCAD 2000 version DXF file.

Updated closed surface skinning to do periodic closed surfaces - fixes problems with closed fillets, blends, and sweeps where the generated surface was not smooth at its closing seam area. One recent one reported here: http://moi3d.com/forum/index.php?webtag=MOI&msg=5376.1 which should now be smooth in the seam area where there was a crease happening previously.

Fixed a regression in the last geometry library update that was causing failures with analytic intersections between planes and cylinders and preventing some Booleans from working. Also fixed another regression that was messing up Inset as reported here: http://moi3d.com/forum/index.php?webtag=MOI&msg=5508.1

New "Bounding box center" button for Transform > Move, Copy, Scale, and Scale1D commands. On the first prompt where you can pick the base point for these transform commands there is now a "Bounding box center" button you can push to use the center of the object's bounding box as the base point, to make it easier to move the object's center point to a specific location.

Update properties panel size readout - units calculator. Make the units label in the size: line of the properties panel to be clickable separately, when clicked it brings up a mini units calculator that allows displaying the size in different unit systems.
Requested on the forum here: http://moi3d.com/forum/index.php?webtag=MOI&msg=5503.1
Demo here: http://moi3d.com/forum/index.php?webtag=MOI&msg=5503.14
It's also now possible to have a script change which units will be used inside of the top-level size: line inside the properties panel, here's a keyboard shortcut that switches the display in that one area from the current unit system to inches or back again:

script: /* Set property panel units display */ var sp = moi.ui.sidePane; sp.g_PropPanelUnits = (sp.g_PropPanelUnits == 'Inches' ? '' : 'Inches'); sp.UpdatePropertiesPanel();


Relabeled the vertex normals options for LWO format to make one setting labeled as "Modo 601 / LightWave v10" style normals, since as of Modo 601 it uses the same style as LightWave v10 for importing LWO vertex normals.

Updated Extrude to point - when extruding a line segment to a point, make a trimmed plane for the triangular face generated rather than a surface with a singularity (collapsed edge) at the tip.

Updated tapered extrude - added a "flip" checkbox, requested on the forum here: http://moi3d.com/forum/index.php?webtag=MOI&msg=5403.1

Updated tessellator to fix triangulation issues in certain circumstances to fix the meshing bug reported on the forum here:
http://moi3d.com/forum/index.php?webtag=MOI&msg=5365.4 also fixed a crash bug in the tessellator reported here:
http://moi3d.com/forum/index.php?webtag=MOI&msg=5515.1

Updated curve antialiasing - new option for using thinner style antialiasing in the display engine. Can be set in moi.ini under:

 [View]
 UseThinAntiAliasing=y

Or toggled by a keyboard shortcut with: script: /* Toggle thin anti-aliasing */ moi.view.useThinAntiAliasing = !moi.view.useThinAntiAliasing;
Was requested on the forum here: http://moi3d.com/forum/index.php?webtag=MOI&msg=5370.1

New project to cplane drawing aid - Implement new drawing aid mode which can be used to project all snap points onto the construction plane, by using the following scripts on a shortcut key:

 script: /* Toggle projecting snaps to CPlane in ortho views */ moi.drawingAids.projectToCPlaneOrtho = !moi.drawingAids.projectToCPlaneOrtho;
 script: /* Toggle projecting snaps to CPlane in ortho and 3D views */ moi.drawingAids.projectToCPlaneAll = !moi.drawingAids.projectToCPlaneAll;

Requested in forum here: http://moi3d.com/forum/index.php?webtag=MOI&msg=5371.1

Updated Network surfacing command - fixed bug where the new fitting options from the previous beta did not get applied to 3 or 4-sided networks since those were handled by a special case Coons patch method instead. Now 3 or 4 sided networks will generate a regular Network surface with the same option in effect, and there is a new "Exact" option which shows up for 3 or 4 sided networks which will make a Coons patch with no refitting of the input curves.

Fixed a bug where the main window did not store its size properly if the window was closed while it was minimized, when closing it by right-clicking on the Windows task bar.

Fixed a bug importing spheres and surfaces of revolution from Rhino when certain additional rotation properties were set on them, fixes a bug reported on the forum here: http://moi3d.com/forum/index.php?webtag=MOI&msg=5389.1

Updated ArrayGem - allow point objects to also be selected as target objects for creating copies instead of only path curves.

Some scripting fixes - fix problem in function signature for moi.vectorMath.createFrame() that caused different behavior when arguments were left out between Windows and Mac, disabled script timeout that would abruptly cancel scripts that ran a tight loop for too long, fixed problem where pasting a script fragment into the xyz coordinate box would evaluate it twice, and make factory.getCreatedObjects() work with async factories by waiting for the async factory to finish its work before returning back to the script with the generated objects.

Updated installer - put full version name on the "MoI" program shortcut so that multiple versions will be more distinctly labeled when they show up in the MRU area of the Start menu. Fixes the problem reported here: http://moi3d.com/forum/index.php?webtag=MOI&msg=5405.9

Various other minor fixes.