Need help Boolean

I often meet this,if there are 3 gripts or more then 3 gripts in one line, they will cant not Boolean, it is way to solve it?
This is the file.
bl.3dm (97.4 KB)


if you extract the upper bordercurve of the triangular shaped surface, explode it and inspect the entpoints where the linear segments are connected to a point. There are multiple controlpoints on the same spot as shown in your picture. To repair it, you might explode the border curve, delete the duplicate points, join and refit the linear segments using 0.001 tolerance, then match the curved part using the “merge” option. After this create the extrusion and boolean should work.

bl.3dm (269.9 KB)

Thank you @clement , it is helpful to my work.
By the way, It is way to solve it by the surface wich have the multiple controlpoints on the same spot?

@pythonuser, i´ve tried to fix the surface first but was not able to do it. So i fixed the curve and made a new surface. How did you build the surface ?