Rhino V7 WIP contains new mesh intersection code for a few commands.
DupBorder
DupBorder accepts several types of geometry: when a mesh is part of the input set, the new code is used for it. This gets rid of, or readdresses with a more final fix, a few known bugs.
This command has fully been rewritten. It has also a few new options, that should be helpful in case of partial overlaps. In addition, for the first time, tolerance is allowed to be modified by the user: the new Default tolerance takes into consideration the absolute Rhino document tolerance, and allows features 3 orders of magnitude smaller than that.
This is the first stub of a new command that facilitates the search of self-intersections within the same mesh. It will be more useful once SplitMeshWithCurve will switch to new code.
MeshSplit
MeshSplit is the first higher-level command that is able to partition meshes. It’s been reworked actively now, and we welcome all feedback.
These two commands now use the new mesh intersector to intersect mesh planes and user meshes. As a bonus, Section now respects the end of the line boundary when constructing polylines.
MeshTrim now uses the new SDK function, and therefore has the new behavior. The command itself still needs to be polished for the new intersector to work more seamlessly with it.
Added in Oct 2019
Project
Project, when dealing with meshes, now uses the new SDK functions, and therefore has the new behavior.
.
Other Rhino 7 WIP commands use the old functionality. When they will be updated, this page will be updated. They will be addressed approximately in the following order.
SplitMeshWithCurve
MeshBooleanUnion
MeshBooleanDifference
MeshBooleanInteresection
MeshBooleanSplit
Note: there is no prediction for the final release date of these commands. They may or may not be part of the final Rhino 7.
Hi @piac ,
Thanks for the new Mesh intersectors!
Are parts of this functionality already available in the V7 SDK? I noticed that there is a new “general” Intersection.MeshMesh. I’m using the old tools with lot of manual clean up and wonder if there already is something new to experiment with.
Thanks, Jess
Intersect.MeshMesh(...). This will be the main function in V7. This might not be the final incarnation, we are discussing some possible changes: RH-54662
Mesh.Split(...) These functions use the new intersector. From next week, the old ones will also respects the value of the Intersection.UseNewMeshIntersections variable.
Old functions currently work like this:
Intersect.MeshMeshAccurate() depends on the Intersection.UseNewMeshIntersections variable. Respects old behavior.
Intersect.MeshMeshFast() depends on the Intersection.UseNewMeshIntersections variable. Respects old behavior.
Please note that, as a user, you do not need to do anything to use the new functionality.
@Jess, please do not depend on the existence of the new MeshMesh function that Giulio references. This function is still under review and may change in the next week.
I am trying to make this work better . And there is a lot of new code, that did not go through a lot of field testing; so please let me know cases that are not yet working well. Especially simpler, understandable cases would help.
I’m leaning on the mesh boolean functions in a v7 C# grasshopper plugin and getting some incorrect results from some intersection operations. Did the mesh boolean functions get updated as planned in Rhino v7? Or are improvements scheduled for later release?