MeshFromLines functionality in Rhino WIP

The last release of Rhino Serengeti WIP contains a new command, _MeshFromLines. This has been rewritten and ported over to RhinoCommon from its native place, Weaverbird. It can help when recreating meshes (especially organic ones) that will later be used for subD.

In fact, the _MeshFromLines command works on groups of lines and attempts to reconstructs a mesh from its wiresframe. Lines need to intersect at ends and overall form polygons. Lines need not to be derived from a mesh in the first place, but they need to “logically” form a mesh.

MaxFaceValence can be used to restrict the number of polygons sides in the recursive research: it means, “only search polygons with a number of sides less or equal to…”. If you know that your mesh is triangular, then set the option to 3.

mesh_from_lines_testbed.3dm (3.4 MB)
It is also useful when lots of boring changes need to be done to connectivity before going to subD.

Rhino Logo 2.3dm (5.2 MB)

I also did some sort of extreme test here, using a model of a Bugatti Veyron.

You will notice that, occasionally, the resulting mesh has some manifold edges. I hope to be able to improve this. Also, Rhino is not always able to unify mesh normals using _UnifyMeshNormals. We will be glad to get feedback and samples where geometry needs to be improved. Especially real-world examples help.

This is completely new and untested code, so it could contain bugs, even some that were not present in the original code in Weaverbird.

I appreaciate any feedback regarding this command, samples, or suggestions for improvement*


Giulio Piacentino
for Robert McNeel & Associates

*here are a few things I know would fit well:

  • accepting and logically “exploding” polylines automatically within the command
  • intersecting all lines with all lines to have them always meet at ends
  • logically "join"ing lines that are collinear within some tolerance into their larger lines, thus decreasing the singular face valence

Hello Giulio,
For me, your MeshFromLines implementation in Weaverbird has been one of the most valuable mesh tools to become available in Rhino. It is great news that this is now implemented directly into Rhino. I’ve only tried simple tests in the Rhino WIP, but I’ve worked with it in previous incarnations and has always impressed me. In particular, this has been instrumental in work with structural engineers, where quick access to faces based on centerlines is really useful. Also great that we have ngons in the WIP and we can up the valance on the faces. Really impressive stuff!

Looking forward to testing it on more complex models.

A post was split to a new topic: Problem with MeshFromLines