Geometry nodes: Fill Node
Recreating "Fill" operation from modelling in geometry nodes is surprisingly hard.
Let's say that you have a hole in geometry that is simply 4 connected edges together. You wish to create a face between them that is already connected to them.
Right now the only option is to separate those edges, turn them into a curve, rotate that curve so it's perfectly flat (That's because FIll Curve operation flattens its output), fill it, and rotate it back to its original position.
Do I seriously need to do this tiring, performance hindering process just to fill a face? Can't we just have a "Fill" node that works for mesh and geometry only?
It could also work for 2 vertices for example. Why do I have to create a line between 2 vertices instead of just joining them with an edge? it also screws up indexes because I have to reassing them and change them.
2 Comments
This is because you talk about very complicated and non trivial things just like it is 1+2. Lets start from the definition of filling of the 3d curve of edges in some mesh:
Fill Curvework. Well.... let's say curve is self overlapped. Half of that curve is not filled and additional vertex of collision is there. Okay, now this filling algorithm actually edit topology that is not expected to be edited..And this is only issue of topology. Let's say surface of that curve is deformed (you have hole on cylinder and this hole is bended in 90 degree). Should we generate vertices to keep deformation? Should edge filling keep that deformation?
Here is a lot of such issues, so if you do like to provide idea for solving of Hole Fill problem, all this issues should be pointed too.
Definition: I Expect an output similar to docs.blender.org/manual/en/latest/modeling/meshes/editing/face/fill.html
or just a fill that fills out edges with an ngon. Both are fine.
Like this operation practically proves that this problem is already solved for modelling, why not have the same thing for geometry nodes? Those things seem similar.
I understand its a tough problem to solve because of some edge cases, but it is better to have a simpler tool with expected use case than having none at all.