Perhaps you could spawn in a circle of points in an array with a diameter slightly larger than the object you are taping. The number of points is equal to how many vertices are in your spline. With each point, trace towards the center of the circle, and if it hits the mesh then you set the point’s position to that location.
After you iterate through each point, find out which points are concave (going inwards) relative to the two points around it. For each point that is concave, you move the point (using its angle with the two points around it) until the three points form a straight line. This creates those duct tape “bridges” over gaps such as the ones between the fuel tank and the pipe in your screenshot.
EDIT: Oh yea, some concave areas may consist of multiple points, so your implementation of “unconcaving” your points should handle this possibility.
Once that is done, just create your duct tape spline using those points.
Since this is really only going to be done once per duct tape created, it shouldn’t be performance-heavy either. Obviously, more points means better looking tape.
It’s a bit complicated for just creating tape, but it’s the most dynamic implementation off the top of my head. I believe this should work.