why does gridfill sometimes not work.

when i use gridfill it doesnt work always, and gives an error msg “select two edge loops”

if i have two edge loops it indeed works, but filling for example a top of a tube doesnt give problems, while those are not 2 edge loops. so whats the catch here ?.

I think 3 conditions must be met:

  1. vertices count is even
  2. closed loop = there is a path from one vertex to any other vertex in selected vertices
  3. each selected vertices has atleast 2 connected edges but only 2 of them are parts of closed loop.

Try deselecting and reselecting (making it active) the vert you want to be in the corner.