-
Notifications
You must be signed in to change notification settings - Fork 233
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Error : ValueError: faces.new(verts): face already exists #3989
Comments
The error means that your mesh has two polygons with the same vertices. It does not supported by this node. What could be done is to make the message more explicit. Also it's possible to write a script to detect and remove such faces. |
The analyzers use a custom Start with a healthy Cube, and duplicate a few facesTo show you have you might debug something like this, here's an ExecNode script that allows us to make duplicate faces in the for faces in V1:
out.append([])
new_faces = out[-1]
for idx, face in enumerate(faces):
if idx % 2 == 0:
new_faces.append(face)
new_faces.append(face) If you tried to attach analyzers to this,, you would get the same error message. Now for the de-duplication script.Having made a debug scenario where we have the same error from a really simple mesh, we can start an attempt to resolve that error. We can reuse the existing from sverchok.utils.sv_mesh_utils import get_unique_faces
for faces in V1:
out.append(get_unique_faces(faces)) |
@AnasFX there's a new "Mesh Clean" node now, that can take care of meshes with redundant topologic information (like duplicated faces, or unused verts..and a lot more). In the event that you have such an input mesh, pass it through such a node first, before hitting other nodes. See the documentation here thanks for this bug report. |
Problem statement
When I try to get center points of faces with the Component Analyzer node I get the error :
File "C:\Users\Administrator\AppData\Roaming\Blender Foundation\Blender\2.93\scripts\addons\sverchok-master\utils\sv_bmesh_utils.py", line 89, in bmesh_from_pydata
add_face(tuple(bm_verts[i] for i in face))
ValueError: faces.new(verts): face already exists
Steps to reproduce
Sverchok version
Latest Version Update 0.6.0.0
The text was updated successfully, but these errors were encountered: