Taper spoiling mesh

Hello,
Why taper makes my meshes wrong?
Mesh1 - the original one - during the check reported as:

This is a good mesh.

Important things to consider with this mesh:

  • Mesh has 5760 naked edges. Although this does not necessarily mean that the mesh is bad,*
  • naked edges can cause problems if the ultimate goal is STL output.*

General information about this mesh:

  • Mesh does not have any degenerate faces.*
  • Mesh does not have any ngons.*
  • Mesh does not have any extremely short edges.*
  • Mesh does not have any non manifold edges.*
  • Mesh does not have any duplicate faces.*
  • Mesh does not have any faces with directions different from the mesh as a whole.*
  • Mesh does not have any self intersecting faces.*
  • Mesh does not have any disjoint pieces.*
  • Mesh does not have any unused vertices.*

ID: 41990816-5ab2-413f-88df-4c001bc10921 (2)
Object name: (not named)
Layer name: mesh
*Render Material: *

  • source = from layer*
  • index = -1*

Geometry:

  • Valid mesh.*
  • Open double precision polygon mesh: 2076481 vertices, 2073600 faces*
  • Bounding box: (101887,-224239,211122) to (1.36123e+06,1.10636e+06,299482)*

And mesh2 - the tapered one, reported as:

This is a bad mesh.

Here is what is wrong with this mesh:

  • Mesh has 15 pairs of faces that intersect each other. Intersecting faces can cause problems if you’re doing mesh boolean operations with them.*

Important things to consider with this mesh:

  • Mesh has 5760 naked edges. Although this does not necessarily mean that the mesh is bad,*
  • naked edges can cause problems if the ultimate goal is STL output.*
  • Mesh has 1184188 normals that are not unit vectors, 0 of which have zero length.*
  • Although this does not necessarily mean that the mesh is bad,*
  • these normals can cause problems if the ultimate goal is for rendering purposes.*
  • Mesh has 850545 faces where the face normal differs substantially from the vertex normals.*
  • Although this does not necessarily mean that the mesh is bad,*
  • these normals can cause problems if the ultimate goal is for rendering or boolean purposes.*

General information about this mesh:

  • Mesh does not have any degenerate faces.*
  • Mesh does not have any ngons.*
  • Mesh does not have any extremely short edges.*
  • Mesh does not have any non manifold edges.*
  • Mesh does not have any duplicate faces.*
  • Mesh does not have any faces with directions different from the mesh as a whole.*
  • Mesh does not have any disjoint pieces.*
  • Mesh does not have any unused vertices.*
    ON_Mesh.m_N[0] is not a unit vector (length = 0).

ID: d6c1b9c3-d26c-42a3-b9a2-62b0b9d67127 (45)
Object name: Mesh: ON_Mesh.m_N[0] is not a unit vector (length = 0).
Layer name: mesh
*Render Material: *

  • source = from layer*
  • index = -1*
    Attribute UserData:
  • UserData ID: CE28DE29-F4C5-4faa-A50A-C3A6849B6329*
  • Plug-in: 17b3ecda-17ba-4e45-9e67-a2b8d9be520d*
  • description: User text (1 entries)*
  • saved in file: yes*
  • copy count: 2*

Geometry:

  • Invalid mesh.*
  • Open double precision polygon mesh: 2076481 vertices, 2073600 faces*
  • Bounding box: (101887,-224239,211122) to (1.36122e+06,1.10636e+06,293451)*

what is really shocking, because taper is a very simple operation.

Additionally, when doing it via Grasshopper, I got the alert:

Alert

what is not a valuable information in such case, to put it mildly.

Both files are about 70 MB each. How can I share them?

Hello- please run RebuildMeshNormals and see if things improve. Not much more to sauggest without the original mesh and the inputs to Taper so we can reproduce the problem.

You can send to tech@mcneel.com, with a link to this topic in your comments, or upload to Rhino - Upload to Support

-Pascal

Hello,

Rhino does not execute anything in response to " RebuildMeshNormals".
I’ve just uploaded 2 files mentioned.

Hello- from what I can see, there is one file uploaded so far -Mesh2.3dm - it cleans up with RebuildMeshNormals, here,

image

but still has what I guess are incorrect self intersections called out.

-Pascal

Hello,
Just uploaded mesh1 again.
Which version of Rhino are you using?

@amsarse sorry, something seems to dislike the Mesh1 file - the upload seems to have failed. Can you please try it again?

-Pascal

I did it again. .3dm and .zip.

Thank you - got the zipped version this time.
@amsarse I can repeat the messing up of the mesh normals. I’ll send this to the developer for a look. However, RebuildMesh or RebuildMeshNormal should fix things apart from one normal, for some reason. Both give the same results, here.

General information about this mesh:

Mesh has 5760 naked edges. Naked edges can cause problems if the ultimate goal is STL output.
Mesh has 1 face where the face normal differs substantially from the vertex normals.
These normals can cause problems if the ultimate goal is for rendering or boolean purposes.

Mesh does not have any degenerate faces.
Mesh does not have any ngons.
Mesh does not have any extremely short edges.
Mesh does not have any non manifold edges.
Mesh does not have any duplicate faces.
Mesh does not have any faces with directions different from the mesh as a whole.
Mesh does not have any self intersecting faces.
Mesh does not have any disjoint pieces.
Mesh does not have any unused vertices.

ID: 41990816-5ab2-413f-88df-4c001bc10921 (294)
Object name: (not named)
Layer name: mesh
Render Material:
source = from layer
index = -1

Geometry:
Valid mesh.
Open double precision polygon mesh: 2076481 vertices, 2073600 faces with normals
Bounding box: (101887,-224239,192195) to (1.36122e+06,1.10636e+06,273299)

RH-76591 Taper breaks mesh normals

-Pascal

Thank you.

It means that taper algorithm is faulty. Would the developer try to correct it?

My guess is, the reconstruction of the mesh and normals once the taper has occured is where it goes wrong, but I am just guessing. I have no idea what if anything can be done, but the idea would be to fix it, yes.

-Passcal

Thank you. Anyway I have found a way to bypass the problem.
Regards

RH-76591 is fixed in the latest WIP

Thanks. I use Rhino 6.