IF I’M doing geometry.doesintersect two surfaces and one solid, can i judged true or false by determining the degree of overlap like percentage as shown in the picure?

It depends what you mean by degree of overlap. If you mean to check whether it removes an entire edge then this would be quite difficult to do absolutely. My suggestion is to take the original edges of the shape, sample then at fixed distances (e.g. every 0.5 metres) and then check if all those points intersect. If they do then you know a whole side is overlapping (within the accuracy of the sampling degree of course).

See attached/below:

Overlap.rvt (1.3 MB)

Overlap.dyn (31.4 KB)

Exactly what I want to do is to compare how much the intersected portion of the original surface occupies when intersecting a single solid to multiple surfaces.

From your solution, I wonder if it is possible to judge whether the intersected part exceeds 50% of the original surface even in partial or no overlap.

You could try comparing the area of the intersected region with the original area to get the ratio.

Exactly what I want to do is to compare how much the intersected portion of the original surface occupies when intersecting a single solid to multiple surfaces.

From your solution, I wonder if it is possible to judge whether the intersected part exceeds 50% of the original surface even in partial or no overlap.

yes that’s exactly what i want to do

how can i compare the ratio of intersect area with original surface?

Use the *Surface.Area* node for each one and then divide.