Dynamic Tolerance

I have projects that consist of subassemblies spread out among multiple source files.

When I put them together to build the final output I find that the unions fail because:

  1. The tolerance setting is too low.
  2. The tolerance setting is too high.

In one case, I have parts X-Y-Z that are joined a line.

The X and Y share a common frame at their intersection but the edges are filleted for separation.
The Y and Z intersection is complex.

To union X and Y I have to set the tolerance up to 0.001.
To union Y and Z I have set the tolerance to 0.00001.

Is this constant changing of tolerance normal or indicative of a larger problem?

What absolute tolerance was used in creating the objects? Were the objects scaled or were units changed after creation?

What do you mean by “share a common frame at their intersection”? Are you trying to BooleanUnion objects with coincident surfaces?

What absolute tolerance was used in creating the objects?

All started out as 0.00001.

Were the objects scaled or were units changed after creation?

No,.

What do you mean by “share a common frame at their intersection”?

The curves that form the mating surfaces are identical in both parts.

If the curves used to generate the “mating surfaces” are identical then presumably the surfaces are also “identical” which means the surfaces are coincident. Rhino’s Boolean commands as well as Intersect, Trim and Split frequently have difficulties with coincident surface.

Here’s one of the examples:

The lines indicate where the solids join. The edge had a slight fillet to make the seem visible.

Not sure what I’m supposed to see.

There are two pieces, joined where indicated, These require a much lower tolerance to join than that required to join other parts

By lower tolerance do you mean one which is numerically larger (for example 0.001 vs 0.00001)?

Yes, the parts were built at 0.00001. Joining those requires 0.001.

If have to use 0.00001 (order of magnitude) due to the small details.

I have the same issue in other places. This is just one example. I was curious whether such tolerance switches are normal or indicative of a problem.

My guess is it is indicative of a problem.

Here is an example.

I am trying to get a smooth mating of two parts.What I did (as I did before) was to create a profile of the desired intersection, extrude it, then split.

The tolerance is set to 0.00001 for building because there are small details (not yet added here) that get screwed up with larger tolerance.

Then I used DupEdge to create frames for the shape to mate a pylon created using networksrf.

Then I had to adjust the rotation slightly, causing me to have to adjust the pylon.

Problem77.3dm (870.5 KB).

Now the two parts will not add together unless I drop the tolerance from 0.00001 down to 0.01.

Problem77.3dm (444.7 KB)

I cannot join these two parts unless I drop the tolerance down to 0.01.

If I intersect the parts, I can see the source of the problem.

The larger problem is how to create the pylon such that it will mate cleanly.

What sizes are involved here? Total size of entire scene and smallest feature?

The total size is 120 inches. Details go down to 0.0001.

The total size is 120 inches. Details go down to 0.0001. Built in about 30 components. Some of those will not join unless the tolerance is set to 0.00001 (0.0001 fails).

My understanding, which could be wrong, is that if changing the tolerance to a smaller value is required to Join objects, then on or more of objects are likely to have a problem such as almost stacked control points.