I have a script that makes 2 circles extrude them then bridge loop them and finally solidify.
After solidify is done I noticed that the inner vertices are overlapping instead of merged. (See screenshot.)
I tried Automerge editing but does not work.
I tried bmesh.ops.remove_doubles
but I am getting this error:
TypeError: verts: expected (BMVert), not 'list'
The variable that holds all the vertices (multiple variables) looks like this:
[<BMVert(0x0000022F5872FC20), index=96>,
<BMVert(0x0000022F5872FC58), index=97>,
<BMVert(0x0000022F5872FC90), index=98>,
<BMVert(0x0000022F5872FCC8), index=99>,
<BMVert(0x0000022F5872FD00), index=100>,
<BMVert(0x0000022F5872FD38), index=101>,]
The vertices that needs to be merged are coming from 2 different variables.
I tried to convert the list to an array but this did not work either.
If I take a look at the API https://docs.blender.org/api/master/bmesh.ops.html?highlight=bmesh%20ops%20bridge_loops#bmesh.ops.remove_doubles it says:
bmesh.ops.remove_doubles(bm, verts, dist)
Remove Doubles.
Finds groups of vertices closer then dist and merges them together, using the weld verts bmop.
Parameters:
- bm (
bmesh.types.BMesh
) – The bmesh to operate on.- verts (list of (
bmesh.types.BMVert
)) – input verts- dist (float) – minimum distance
So I give remove_doubles
a list but it errors out on me. How can I solve this?
In the screenshot you see 1 circle (blue) that is how the vertices are now and the square is how I want it:
This is the remove doubles as how I tried it:
bmesh.ops.remove_doubles(bm,
verts=[myarray, myarray1],
dist=d)
Selecting the edge loops and then merge by distance gives the correct result So if that is possible that would be great