Edge tolerance not equal to edge curve deviation

I have two surfaces that almost match their edges. Using a document tolerance of 1 mm, I can join the two surfaces and the List command gives an edge tolerance of 0.942648 mm.

But, when I duplicate both edges and look at the maximum deviation between them, I get a maximum deviation of 1.236 mm (above the document tolerance).

These two values are not in agreement, and, more importantly, lie on either edge of the tolerance. How is this possible?

Edge Deviation and Edge Tolerance mismatch.3dm (84.0 KB)

Hey Menno,

If I run CrvDev on the two edges before joining I get

Maximum deviation = 0.00123591

File in meters, so 1.23591 - so exactly what you get when you dupe the edges and run CrvDev on those.

Join will allow joins on up to double the file tolerance.

I guess when you join, there is some sort of averaging going on, so the joined common edge is less than file tolerance from the natural edge of either unjoined surface. That’s my theory at least…

–Mitch

aha, I did not know that.

IIRC, it didn’t always used to be like that and was changed from RH2 to RH3 - much debated at the time and a source of irritation for some.

Yeah, I don’t know when it changed actually, might have even been for V2, but it has been that way for a pretty long time now. --Mitch

I don’t think this has changed. With CrvDeviation, you are measuring the max distance between two 3D curves. Edge tolerance is something different since one of those 3D curves is no longer involved. Edge tolerance is found by comparing, conceptually, a point on the 3D edge with its closest point to each surface joined by that edge.

OK, that pretty much was my theory, thanks! --Mitch